public JsonResult AddEvaluationQuestion(EvaluationQuestionViewModel evaluationQuestionViewModel) { try { var token = _tokenValidator.Validate(HttpContext); if (!token.Success) { return(Json(new ReturnData <string> { Success = false, NotAuthenticated = true, Message = $"Unauthorized:-{token.Message}", })); } if (!string.IsNullOrEmpty(evaluationQuestionViewModel.QuestionDesc)) { var evaluation = new EvaluationQuestion() { QuestionDesc = evaluationQuestionViewModel.QuestionDesc, EvaluationSectionId = evaluationQuestionViewModel.EvaluationSectionId, //AllowMultiple = evaluationQuestionViewModel.AllowMultiple, //EvaluationQuestionOptions = evaluationQuestionViewModel.Options }; if (evaluationQuestionViewModel.Id.HasValue && evaluationQuestionViewModel.Id.Value > 0) { evaluation.Id = (int)evaluationQuestionViewModel.Id; _context.EvaluationQuestions.Update(evaluation); } else { _context.EvaluationQuestions.Add(evaluation); } _context.SaveChanges(); return(Json(new ReturnData <string> { Success = true, Message = "EvaluationQuestions saved successfully" })); } return(Json(new ReturnData <string> { Success = false, Message = "EvaluationQuestions name can not be empty" })); } catch (Exception ex) { return(Json(new ReturnData <string> { Success = false, Message = "An error occurred,please retry : " + ex.Message })); } }
public static EvaluationQuestionModel ToModel(this EvaluationQuestionViewModel model) { if (model == null) { return(null); } return(new EvaluationQuestionModel { Title = model.Text, TermId = model.TermId, Id = model.Id, TermText = model.TermText, TypeTitle = model.Title, }); }
public static EvaluationSectionViewModel AsSection(this Debriefing debrief, string formType, IQueryable<Question> questions) { EvaluationSectionViewModel esvm = new EvaluationSectionViewModel(formType); EvaluationCategoryViewModel ecvm = new EvaluationCategoryViewModel(); esvm.Categories.Add(ecvm); Category qCategory = null; bool first = true; foreach (var question in questions.OrderBy(q => q.Number)) { if (first) { ecvm.Title = question.Category.Description; qCategory = question.Category; first = false; } // When category changes... if (qCategory != question.Category) { // 'Close' current category ecvm = new EvaluationCategoryViewModel() { Title = question.Category.Description }; esvm.Categories.Add(ecvm); // DnE (Did Not Encounter) is a shortcut that applies to the entire category if (question.Constraint == Constraint.DefaultWithDne) { ecvm.HasDidNotEncounter = true; } qCategory = question.Category; } EvaluationQuestionViewModel eqvm = new EvaluationQuestionViewModel() { Number = question.Number, Text = question.Description, AnswerConstraints = question.Constraint }; var answer = ( from e in debrief.Evaluations where e.QuestionNumber == question.Number select e).FirstOrDefault(); if (null != answer) { if (!answer.HasAnswer()) { eqvm.DefaultAnswer = DefaultAnswer(question.Constraint); } eqvm.Notes = answer.Notes; eqvm.Answer = answer.Decode(question.Constraint); } ecvm.Questions.Add(eqvm); } return esvm; }