Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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));
        }