public ActionResult Submit(CustomerAnswer answer) { bool isAjax = Request.IsAjaxRequest(); if (ModelState.IsValid) { //Automatique Date And answer Status processing if (answer.answerText != "-" && answer.answerStatusValue == (int)AnswerStatus.NotSet) { answer.answerStatusValue = (int)AnswerStatus.Commented; } else if (answer.answerText == "-" && answer.answerStatusValue == (int)AnswerStatus.NotSet) { answer.answerStatusValue = (int)AnswerStatus.Reported; } if (answer.observerComment != null) { answer.observerCommentDateAndTime = DateTime.Now; } db.Entry(answer).State = EntityState.Modified; db.SaveChanges(); TempData["SubmitStatus"] = "1"; } else { TempData["SubmitStatus"] = "0"; } return(RedirectToAction("Index", new { id = answer.surveyId, number = answer.questionId })); }
public ActionResult Validate(CustomerAnswer answer) { if (ModelState.IsValid) { answer.supervisorCommentDateAndTime = DateTime.Now; answer.answerStatusValue = (int)AnswerStatus.Validated; db.Entry(answer).State = EntityState.Modified; db.SaveChanges(); } return(RedirectToAction("Index", new { id = answer.surveyId, number = answer.questionId })); }
public ActionResult Validate(int id = 0, int number = 0) { CustomerAnswer answer = db.CustomerAnswers.Find(id, number); if (answer == null) { return(HttpNotFound()); } if (Request.IsAjaxRequest()) { return(PartialView(answer)); } return(View(answer)); }
public ActionResult Submit(int id = 0, int number = 0) { //That ensures that parameters passed are correct CustomerSurvey survey = db.CustomerSurveys.Find(id); if (survey == null) { return(HttpNotFound()); } CustomerAnswer answer = survey.CustomerAnswers.SingleOrDefault(a => a.questionId == number); if (answer == null) { /*if answer does not exist --> check if question is part of base survey * (ensures that parameters passed are correct)*/ bool includedInBaseSurvey = survey.GenericSurvey.Questions.Any(q => q.questionId == number); if (!includedInBaseSurvey) { return(HttpNotFound()); } //If question is included --> create new Dummy customer Answer else { answer = new CustomerAnswer() { surveyId = id, questionId = number, answerText = "-", observerStatusValue = 0 }; db.CustomerAnswers.Add(answer); db.SaveChanges(); } } #region Additional info //Question type into account (1: long, 2: short;) ViewBag.QuestionType = answer.Question.questionTypeId; //Drop downs ViewBag.answerOptionNumber = new SelectList(answer.Question.AnswerOptions, "answerNumber", "answerText", answer.answerOptionNumber); ViewBag.observerStatusValue = new SelectList(db.ObserverStatus, "statusValue", "description", answer.observerStatusValue); int measuresAmount = answer.Question.GenericCountermeasures.Count; ViewBag.MeasuresAmount = measuresAmount > 3 ? 3 : measuresAmount; ViewBag.countermeasureId1 = new SelectList(answer.Question.GenericCountermeasures, "countermeasureId", "title", answer.countermeasureId1); ViewBag.countermeasureId2 = new SelectList(answer.Question.GenericCountermeasures, "countermeasureId", "title", answer.countermeasureId2); ViewBag.countermeasureId3 = new SelectList(answer.Question.GenericCountermeasures, "countermeasureId", "title", answer.countermeasureId3); #endregion if (Request.IsAjaxRequest()) { return(PartialView(answer)); } return(View(answer)); }
private ProfileQuestionsViewModel GenerateCustomerAnswer(CustomerAnswer customerAnswerObj) { var profileQuestionsViewModel = new ProfileQuestionsViewModel(); StyleProfileQuestion objQuestion = _scottybonsEComEntities.StyleProfileQuestions.FirstOrDefault( q => q.QuestionID == customerAnswerObj.QuestionId && q.Language == "nl"); profileQuestionsViewModel.CustomerAnswer = customerAnswerObj; profileQuestionsViewModel.Question = objQuestion.Question; profileQuestionsViewModel.QuestionId = objQuestion.QuestionID; profileQuestionsViewModel.QuestionNumber = objQuestion.QuestionNumber ?? 0; profileQuestionsViewModel.QuestionSubDescription = objQuestion.QuestionDescription; profileQuestionsViewModel.IsRequired = objQuestion.isRequired ?? false; profileQuestionsViewModel.IsImageTobeShown = objQuestion.IsImageTobeShown ?? false; profileQuestionsViewModel.ImagePath = objQuestion.ImagePath ?? string.Empty; profileQuestionsViewModel.DisplayOrder = objQuestion.DisplayOrder ?? 0; profileQuestionsViewModel.LanguageOfQuestion = objQuestion.Language; profileQuestionsViewModel.ValidationMessage = objQuestion.ValidationMessage; //Answer Information profileQuestionsViewModel.AnswerControlId = objQuestion.AnswerControlID ?? 0; profileQuestionsViewModel.AnswerControlType = (ProfileQuestionAnswerControlTypes)profileQuestionsViewModel.AnswerControlId; profileQuestionsViewModel.Answers = _scottybonsEComEntities.StyleProfileAnswers.Where(a => a.QuestionID == objQuestion.QuestionID).ToList(); if ( profileQuestionsViewModel.AnswerControlType.Equals(ProfileQuestionAnswerControlTypes.RadioButton) && (!ReferenceEquals(profileQuestionsViewModel.CustomerAnswer.AnswerId, null))) { profileQuestionsViewModel.SelectedAnswer = profileQuestionsViewModel.CustomerAnswer.AnswerId.ToString(); profileQuestionsViewModel.SelectedAnswerDescription = profileQuestionsViewModel.Answers.FirstOrDefault( o => o.AnswerID == profileQuestionsViewModel.CustomerAnswer.AnswerId).Answer + " " + profileQuestionsViewModel.Answers.FirstOrDefault( o => o.AnswerID == profileQuestionsViewModel.CustomerAnswer.AnswerId).AnswerDescription; if (!string.IsNullOrEmpty(profileQuestionsViewModel.CustomerAnswer.Answer)) { profileQuestionsViewModel.SelectedOtherAnswer = profileQuestionsViewModel.CustomerAnswer.Answer; profileQuestionsViewModel.SelectedAnswerDescription = " " + profileQuestionsViewModel.SelectedOtherAnswer; } } else if ( profileQuestionsViewModel.AnswerControlType.Equals(ProfileQuestionAnswerControlTypes.TextBox) && (!ReferenceEquals(profileQuestionsViewModel.CustomerAnswer.Answer, null))) { profileQuestionsViewModel.SelectedAnswer = profileQuestionsViewModel.CustomerAnswer.Answer; } else if ( profileQuestionsViewModel.AnswerControlType.Equals( ProfileQuestionAnswerControlTypes.UploadControl) && (!ReferenceEquals(profileQuestionsViewModel.CustomerAnswer.CustomerImage, null))) { profileQuestionsViewModel.SelectedAnswerImage = profileQuestionsViewModel.CustomerAnswer.CustomerImage; } else if (profileQuestionsViewModel.AnswerControlType.Equals(ProfileQuestionAnswerControlTypes.CheckBox) && (!ReferenceEquals(profileQuestionsViewModel.CustomerAnswer.Answer, null))) { if (!string.IsNullOrEmpty(profileQuestionsViewModel.CustomerAnswer.OtherAnswer)) { profileQuestionsViewModel.SelectedOtherAnswer = profileQuestionsViewModel.CustomerAnswer.OtherAnswer; } profileQuestionsViewModel.SelectedAnswer = profileQuestionsViewModel.CustomerAnswer.Answer; var answerCheckBoxViewModel = profileQuestionsViewModel.Answers.Select(ans => new AnswerControlViewModel { IsSelected = !ReferenceEquals(profileQuestionsViewModel.SelectedAnswer, null) && profileQuestionsViewModel.SelectedAnswer.Contains(ans.AnswerID.ToString()), AnswerId = ans.AnswerID, QuestionId = ans.QuestionID ?? 1, Answer = ans.Answer, AnswerDescription = ans.AnswerDescription, AnswerImagePath = ans.AnswerImagePath, Flag = ans.FLAG, QuestionNumber = ans.QuestionNumber, DependentQuestion = ans.DependentQuestion ?? 1 }).ToList(); profileQuestionsViewModel.CheckBoxAnswers = answerCheckBoxViewModel; } return(profileQuestionsViewModel); }