public ActionResult EditAnswer(AnswerEditViewModel model)
        {
            Answer answer = new Answer();

            using (AlexaSkillEntities db = new AlexaSkillEntities())
            {
                if (model.AnswereId != null && model.AnswereId != 0)
                {
                    answer = db.Answers.FirstOrDefault(x => x.Id == model.AnswereId);
                }

                if (db.Answers.Where(x => x.Answert == model.Answer && x.Id != model.AnswereId).Count() > 0)
                {
                    return(RedirectToAction("Overview", "CoreTemperature", new { skillId = model.SkillId }));
                }

                if (answer != null)
                {
                    answer.Answert          = model.Answer;
                    answer.SessionTerm      = model.SessionTerm;
                    answer.ShouldEndSession = model.ShouldEndSession;

                    if (model.AnswereId == null || model.AnswereId == 0)
                    {
                        db.Answers.Add(answer);
                    }
                }
                db.SaveChanges();
            }
            return(RedirectToAction("AnswerOverview", "CoreTemperature", new { skillId = model.SkillId }));
        }
Пример #2
0
        public async Task <ActionResult> Edit(AnswerEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                return(Json(ModelState.ToDictionary()));
            }

            await _agentAnswerService.Edit(model.Id, model.Answer, User.Identity.GetUserId());

            var questionWithEditedAnswer = await _agentQuestionServices.Get(model.Id, User.Identity.GetUserId());

            return(Json(questionWithEditedAnswer));
        }
        public ActionResult EditAnswer(int skillId, int?answerId)
        {
            AnswerEditViewModel model = new AnswerEditViewModel()
            {
                SkillId   = skillId,
                AnswereId = answerId
            };

            if (answerId != null && answerId != 0)
            {
                using (AlexaSkillEntities db = new AlexaSkillEntities())
                {
                    Answer answer = db.Answers.FirstOrDefault(x => x.Id == answerId);
                    model.Answer           = answer.Answert;
                    model.ShouldEndSession = answer.ShouldEndSession;
                    model.SessionTerm      = answer.SessionTerm;
                }
            }

            return(View(model));
        }
        public async Task <IActionResult> EditAnswer(Guid id, Guid QuizId, string FotoURL)
        {
            try
            {
                Answer answer = await quizRepo.GetAnswerForIdAsync(id);

                if (answer == null || id == Guid.Empty)
                {
                    return(RedirectToAction(nameof(Quizzes), new { exc = "Wrong AnswerId" }));
                }
                AnswerEditViewModel answerEdit = new AnswerEditViewModel
                {
                    Id          = answer.Id,
                    Description = answer.Description,
                    FotoURL     = answer.FotoURL,
                    QuestionId  = answer.QuestionId
                };
                Question question = await quizRepo.GetQuestionForIdAsync(answer.QuestionId);

                Quiz quiz = await quizRepo.GetQuizForIdAsync(QuizId);

                if (quiz == null || QuizId == Guid.Empty)
                {
                    return(RedirectToAction(nameof(Quizzes), new { exc = "Wrong QuizId" }));
                }

                ViewData["QuestionName"] = question.Description;
                ViewData["QuestionId"]   = answer.QuestionId;
                ViewData["FotoURL"]      = FotoURL;
                ViewData["IsCorrect"]    = answer.Correct;
                ViewData["QuizId"]       = QuizId;
                return(View(answerEdit));
            }
            catch (Exception exc)
            {
                return(RedirectToAction(nameof(Quizzes), new { exc = exc.Message }));
            }
        }
        public async Task <IActionResult> EditAnswer(Guid id, IFormCollection collection, AnswerEditViewModel answer, Guid QuizId, Guid QuestionId, string FotoURL)
        {
            try
            {
                answer.FotoURL = FotoURL;
                // TODO: Add update logic here
                Answer answerUpdate = new Answer
                {
                    Id          = answer.Id,
                    Description = answer.Description,
                    QuestionId  = answer.QuestionId,
                    FotoURL     = answer.FotoURL
                };

                string uniqueFileName = null;
                if (answer.Foto != null)
                {
                    string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "images");
                    uniqueFileName = Guid.NewGuid().ToString() + "_" + answer.Foto.FileName;
                    string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                    answer.Foto.CopyTo(new FileStream(filePath, FileMode.Create));
                    answerUpdate.FotoURL = uniqueFileName;
                }
                if (answer.Correct.ToString() == "True")
                {
                    answerUpdate.Correct = Answer.IsCorrect.True;
                }
                else
                {
                    answerUpdate.Correct = Answer.IsCorrect.False;
                }

                var result = await quizRepo.UpdateAnswer(answerUpdate);

                if (result == null)
                {
                    return(RedirectToAction(nameof(Quizzes), new { exc = "Failed to update answer..." }));
                }

                Quiz quiz = await quizRepo.GetQuizForIdAsync(QuizId);

                if (quiz == null || QuizId == Guid.Empty)
                {
                    return(RedirectToAction(nameof(Quizzes), new { exc = "Wrong QuizId" }));
                }

                Question question = await quizRepo.GetQuestionForIdAsync(QuestionId);

                if (question == null || QuestionId == Guid.Empty)
                {
                    return(RedirectToAction(nameof(Quizzes), new { exc = "Wrong QuestionId" }));
                }
                return(RedirectToAction(nameof(QuestionAnswers), new { id = QuestionId, QuizId = QuizId, QuestionName = question.Description }));
            }
            catch (Exception exc)
            {
                return(RedirectToAction(nameof(Quizzes), new { exc = exc.Message }));
            }
        }