public ActionResult EditAnswer(ViewAnswerModel answer) { ViewBag.User = userService.GetUserByEmail(User.Identity.Name); int flag = 0; foreach (var item in answerService.GetAllByQuestionId(answer.QuestionId)) { if (item.Text_of_answer.Equals(answer.Text_of_answer)) { flag++; break; } } if (flag > 0 && answer.Id == 0) { ModelState.AddModelError("", "Такой ответ уже существует"); } if (ModelState.IsValid) { if (answer.Id == 0) { var mapper = new MapperConfiguration(cfg => cfg.CreateMap <ViewAnswerModel, AnswerDTO>()).CreateMapper(); AnswerDTO answerDTO = mapper.Map <ViewAnswerModel, AnswerDTO>(answer); answerService.Create(answerDTO); TempData["message"] = string.Format("Добавление ответа выполнено успешно"); } else { AnswerDTO newAnswer = answerService.GetById(answer.Id); if (newAnswer != null) { var mapper = new MapperConfiguration(cfg => cfg.CreateMap <ViewAnswerModel, AnswerDTO>()).CreateMapper(); newAnswer = mapper.Map <ViewAnswerModel, AnswerDTO>(answer); answerService.Update(newAnswer); TempData["message"] = string.Format("Добавление ответа выполнено успешно"); } } if (userService.GetUserByEmail(User.Identity.Name).RoleId == 2) { return(RedirectToAction("TeacherPanel", "Teacher", new { result = "answers", questType = questService.GetById(questionService.GetById(answer.QuestionId).QuestId).Type, id = answer.QuestionId })); } return(RedirectToAction("AdminPanel", new { result = "answers", questType = questService.GetById(questionService.GetById(answer.QuestionId).QuestId).Type, id = answer.QuestionId })); } ViewBag.QuestType = questService.GetById(questionService.GetById(answer.QuestionId).QuestId).Type; return(View()); }
public ActionResult EditAnswer(int answerId, string questType) { ViewBag.QuestType = questService.GetById(questionService.GetById(answerService.GetById(answerId).QuestionId).QuestId).Type; AnswerDTO answer = answerService.GetById(answerId); ViewBag.QuestionName = questionService.GetById(answer.QuestionId).Text_of_question; var mapper = new MapperConfiguration(cfg => cfg.CreateMap <AnswerDTO, ViewAnswerModel>()).CreateMapper(); ViewAnswerModel viewAnswerModel = mapper.Map <AnswerDTO, ViewAnswerModel>(answer); ViewBag.Id = questionService.GetById(answer.QuestionId).Id; ViewBag.User = userService.GetUserByEmail(User.Identity.Name); return(View(viewAnswerModel)); }