public ActionResult SaveCheckoffItem(SetupEditCategoryViewModel ViewModel) { if (ViewModel.ID == 0) { ViewModel.ID = assessmentServices.CreateAssessmentCheckoffItem(ViewModel.CheckoffItem.Wording, ViewModel.CheckoffItem.QuestionID, ViewModel.CheckoffItem.LevelID, 0); } else { assessmentServices.UpdateAssessmentCheckoffItem(ViewModel.ID, ViewModel.CheckoffItem.Wording, ViewModel.CheckoffItem.LevelID, 0); } return(PartialView("_CheckoffItem", ViewModel.CheckoffItem)); }
public ActionResult SaveQuestion(int id, int categoryID, SetupQuestionListItem question) { if (id == 0) { id = assessmentServices.AddQuestion(categoryID, question.Heading, question.Body, question.QuestonCode); } else { assessmentServices.UpdateQuestion(id, question.Heading, question.Body, question.QuestonCode); } var ViewModel = new SetupEditCategoryViewModel() { ID = categoryID, Questions = assessmentServices.GetQuestions(categoryID) }; ViewModel.Question = ViewModel.Questions.Single(o => o.ID == id); return(PartialView("_QuestionList", ViewModel)); }
/// <summary> /// Retrieves object containing all categories, questions, list items, levels for editing. /// </summary> /// <param name="id">ID of Category</param> /// <param name="questionID">ID of currently viewed question</param> /// <returns></returns> public SetupEditCategoryViewModel FillEditCategoryViewModel(int id, int questionID) { var category = db.AssessmentCategories.Single(o => o.ID == id); var ViewModel = new SetupEditCategoryViewModel { ID = id, AssessmentID = category.AssessmentCollectionID, Live = category.AssessmentCollection.Active, Levels = db.AssessmentLevels.Select(o => new SetupAssessmentLevelItem { ID = o.ID, Name = o.Translation.EN, Order = o.LevelOrder, CheckoffItems = o.AssessmentCheckoffItems.Where(x => x.AssessmentQuestionID == questionID).Select(x => new SetupAsessmentCheckoffListItem { ID = x.ID, LevelID = o.ID, QuestionID = x.AssessmentQuestionID, Wording = x.Translation.EN } ).ToList() } ).ToList(), Questions = !category.AssessmentQuestions.Any() ? new List <SetupQuestionListItem>() : category.AssessmentQuestions.Select(o => new SetupQuestionListItem { ID = o.ID, Heading = o.Translation.EN, Body = o.Translation1.EN, CategoryID = o.AssessmentCategoryID, QuestionOrder = o.QuestionOrder, QuestonCode = o.QuestionCode } ).ToList(), Question = questionID == 0 ? new SetupQuestionListItem() : category.AssessmentQuestions.Where(o => o.ID == questionID).Select(o => new SetupQuestionListItem { ID = o.ID, Heading = o.Translation.EN, Body = o.Translation1.EN, QuestonCode = o.QuestionCode } ).Single() }; ViewModel.Name = category.Translation.EN; if (category.AssessmentCollection.Active && questionID == 0) { ViewModel.Question = ViewModel.Questions.OrderBy(o => o.QuestionOrder).First(); } else if (questionID == 0) { ViewModel.Questions.Add(new SetupQuestionListItem()); } else { ViewModel.CheckoffItem = new SetupAsessmentCheckoffListItem { QuestionID = questionID }; } return(ViewModel); }
public void UpdateCategory(int id, SetupEditCategoryViewModel ViewModel) { assessmentServices.UpdateAssessmentCategory(id, ViewModel.Name); }