public void SaveQuestEnd(QuestEnd QuestEnd)
        {
            if (QuestEnd.Id == 0)
            {
                context.QuestEnds.Add(QuestEnd);
            }
            else
            {
                var editMe = context.QuestEnds.Find(QuestEnd.Id);
                if (editMe != null)
                {
                    // dbEntry.Name = QuestEnd.Name;
                    // dbEntry.Message = QuestEnd.Message;
                    // dbEntry.TimeStamp = QuestEnd.TimeStamp;
                }
            }

            try
            {
                context.SaveChanges();
            }
            catch (OptimisticConcurrencyException)
            {
                //context.(RefreshMode.ClientWins, dbModels.Models.QuestEnd);
                //context.SaveChanges();
            }

            // context.SaveChanges();
        }
        public virtual ActionResult QuestEnd(int Id, int QuestStateId, int QuestId)
        {
            IQuestRepository repo = new EFQuestRepository();

            var questEnd = repo.QuestEnds.FirstOrDefault(q => q.Id == Id);
            var state    = repo.QuestStates.FirstOrDefault(q => q.Id == QuestStateId);

            if (questEnd == null)
            {
                questEnd = new QuestEnd
                {
                    QuestEndName = "[NAME NOT SET]",
                    QuestId      = QuestId,
                    QuestStateId = state,
                };
            }
            else
            {
            }

            var output = new QuestEndFormViewModel();

            output.QuestEnd         = questEnd;
            output.ParentQuestState = repo.QuestStates.FirstOrDefault(q => q.Id == QuestStateId);

            return(PartialView(MVC.QuestWriter.Views.QuestEnd, output));
        }
        public static int SaveQuestEnd(QuestEnd input, QuestState state)
        {
            IQuestRepository repo = new EFQuestRepository();

            var questEnd = repo.QuestEnds.FirstOrDefault(q => q.Id == input.Id);
            var dbState  = repo.QuestStates.FirstOrDefault(s => s.Id == state.Id);

            if (questEnd == null)
            {
                questEnd = new QuestEnd();
            }

            questEnd.QuestId      = input.QuestId;
            questEnd.QuestEndName = input.QuestEndName;
            questEnd.RewardAmount = input.RewardAmount;
            questEnd.RewardType   = input.RewardType;
            questEnd.EndType      = input.EndType;
            questEnd.QuestStateId = dbState;

            repo.SaveQuestEnd(questEnd);

            return(questEnd.Id);
        }