コード例 #1
0
        public ActionResult Answer(EditAnswerViewModel model)
        {
            if (ModelState.IsValid)
            {
                var previousCorrect = DbContext.PossibleAnswers.Where(x => x.QuestionId == model.QuestionId && x.Correct).FirstOrDefault();
                var question        = DbContext.Questions.Where(x => x.Id == model.QuestionId).First();

                if (model.Correct && previousCorrect != null && (!model.AnswerId.HasValue || previousCorrect.Id != model.AnswerId.Value))
                {
                    previousCorrect.Correct = false;
                }

                var answer = model.AnswerId.HasValue
                    ? DbContext.PossibleAnswers.Where(x => x.Id == model.AnswerId.Value).First()
                    : new PossibleAnswer();

                answer.Answer  = model.Text;
                answer.Correct = model.Correct;

                if (!model.AnswerId.HasValue)
                {
                    answer.QuestionId = model.QuestionId;

                    DbContext.PossibleAnswers.Add(answer);
                }

                DbContext.SaveChanges();

                return(RedirectToAction("Question", "Admin", new { testId = question.TestId, questionId = answer.QuestionId }));
            }

            return(View("EditAnswerView", model));
        }
コード例 #2
0
        public void UpdateAnswer(EditAnswerViewModel avm)
        {
            var     config = new MapperConfiguration(cfg => { cfg.CreateMap <EditAnswerViewModel, Answer>(); cfg.IgnoreUnmapped(); });
            IMapper mapper = config.CreateMapper();
            Answer  a      = mapper.Map <EditAnswerViewModel, Answer>(avm);

            ar.UpdateAnswer(a);
        }
コード例 #3
0
        public Answer ToAnswerModel(EditAnswerViewModel vm)
        {
            var model = _answerService.Get(vm.Answer.AnswerId);

            model.Explanation = vm.Answer.Explanation;
            model.IsCorrect   = vm.Answer.IsCorrect;
            model.Text        = vm.Answer.Text;

            return(model);
        }
コード例 #4
0
        public EditAnswerViewModel ToEditAnswerViewModel(Answer answer)
        {
            var vm = new EditAnswerViewModel();

            vm.QuestionId = answer.QuestionId;
            vm.QuizId     = answer.Question.QuizId;

            vm.Answer = ToAnswerViewModel(answer);

            return(vm);
        }
コード例 #5
0
        private EditAnswerViewModel Map(PossibleAnswer entity)
        {
            var result = new EditAnswerViewModel
            {
                AnswerId = entity.Id,
                Text     = entity.Answer,
                Correct  = entity.Correct
            };

            return(result);
        }
コード例 #6
0
        public IActionResult EditAnswer(string id)
        {
            var answers = _db.Answers.Where(x => x.ResultId == id).Include(x => x.Question).Include(x => x.Result)
                          .ThenInclude(x => x.Certification).Include(x => x.Result.User).ToList();
            EditAnswerViewModel model = new EditAnswerViewModel {
                Id      = id,
                Answers = answers
            };

            return(View(model));
        }
コード例 #7
0
        public ActionResult EditAnswer(EditAnswerViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return this.View(model);
            }

            this.answers.UpdateAnswer(model.Id, model.Content);

            this.TempData["Notification"] = "You successfully update your answer.";
            return this.Redirect(this.Request.UrlReferrer.ToString());
        }
コード例 #8
0
        public ActionResult EditAnswer(EditAnswerViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            m_Answers.UpdateAnswer(model.Id, model.Content);

            TempData["Notification"] = "You successfully update your answer.";
            return(Redirect(Request.UrlReferrer.ToString()));
        }
コード例 #9
0
 public ActionResult EditAnswer(EditAnswerViewModel avm)
 {
     if (ModelState.IsValid)
     {
         avm.UserID = Convert.ToInt32(Session["CurrentUserID"]);
         this.asr.UpdateAnswer(avm);
         return(RedirectToAction("View", new { id = avm.QuestionID }));
     }
     else
     {
         ModelState.AddModelError("x", "Invalid data");
         return(RedirectToAction("View", new { id = avm.QuestionID }));
     }
 }
コード例 #10
0
        public ActionResult EditAnswer(EditAnswerViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var a = _viewModelConverter.ToAnswerModel(vm);
                _answerService.Update(a);

                ModelState.Clear();

                _userActivityService.Add(User.Identity.Name, ActivityItem.Answer, ActivityAction.Edit, a.Id);

                return(RedirectToAction("EditQuestion", new { id = a.QuestionId }));
            }
            return(PartialView("_EditAnswerPartial", vm));
        }
コード例 #11
0
 public ActionResult EditAnswer(EditAnswerViewModel answer)
 {
     answer.UserID            = Convert.ToInt32(Session["CurrentUserID"]);
     answer.AnswerDateAndTime = DateTime.Now;
     if (ModelState.IsValid)
     {
         this.ass.UpdateAnswer(answer);
         return(RedirectToAction("View", new { id = answer.QuestionID }));
     }
     else
     {
         ModelState.AddModelError("x", "invalid");
         return(RedirectToAction("View", new { id = answer.QuestionID }));
     }
 }
コード例 #12
0
ファイル: QuizzesController.cs プロジェクト: BurnOutDev/EQuiz
        public ActionResult EditAnswer(EditAnswerViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var a = _answerService.Get(vm.Answer.AnswerId);
                a.Explanation = vm.Answer.Explanation;
                a.IsInput     = vm.Answer.IsInput;
                a.IsCorrect   = vm.Answer.IsCorrect;
                a.Text        = vm.Answer.Text;
                _answerService.Update(a);

                ModelState.Clear();

                return(RedirectToAction("EditQuestion", new { id = a.QuestionId }));
            }
            return(PartialView("_EditAnswerPartial", vm));
        }
コード例 #13
0
        public ActionResult Answer(int questionId, int?answerId)
        {
            var model = new EditAnswerViewModel
            {
                QuestionId = questionId
            };

            if (answerId.HasValue)
            {
                var answer = DbContext.PossibleAnswers.Where(x => x.Id == answerId.Value).First();

                model.AnswerId = answer.Id;
                model.Text     = answer.Answer;
                model.Correct  = answer.Correct;
            }

            return(View("EditAnswerView", model));
        }
コード例 #14
0
        public async Task <IActionResult> EditAnswer(EditAnswerViewModel model)
        {
            var result = _db.Answers.Where(x => x.ResultId == model.Id).ToList();

            foreach (var answer in result)
            {
                foreach (var change in model.ChangeStringList)
                {
                    answer.IsCorrect = change == "Верно";

                    _db.Update(answer);
                }
            }

            await _db.SaveChangesAsync();

            return(RedirectToAction("IndexAdmin"));
        }
コード例 #15
0
        public ActionResult EditAnswer(int id)
        {
            var answer = db.Answers.Find(id);

            var allPests = db.Pests.Select(x => new EditAnswerPestViewModel()
            {
                AlreadyAssociated = x.PestAnswers.Any(pa => pa.Id == id), PestId = x.Id, PestName = x.PestName
            }).ToList();

            var model = new EditAnswerViewModel
            {
                AnswerId     = answer.Id,
                AnswerText   = answer.Text,
                QuestionId   = answer.ParentQuestion.Id,
                QuestionText = answer.ParentQuestion.Text,
                PestAnswers  = allPests
            };

            return(View(model));
        }
コード例 #16
0
 public IActionResult Edit(EditAnswerViewModel vm)
 {
     return(View());
 }