public ActionResult CreateAssessmentCategories(int id) { var ViewModel = new SetupCreateCategoriesViewModel { AssessmentName = assessmentServices.GetAssessmentName(id) }; //add 12 Categories: for (int i = 0; i < 12; i++) { ViewModel.Categories.Add( new SetupCategoryListItem { Order = i + 1 } ); } return(View(ViewModel)); }
/// <summary> /// Get object containing Assessment with its categories. Does not contain questions, checkoff items etc... /// </summary> /// <param name="id">ID of Assessment to retrieve</param> /// <returns></returns> public SetupCreateCategoriesViewModel GetAssessmentWithCategories(int id) { var Assessment = db.AssessmentCollections.Single(o => o.ID == id); var ViewModel = new SetupCreateCategoriesViewModel { AssessmentName = Assessment.Translation.EN, Live = Assessment.Active }; ViewModel.Categories = Assessment.AssessmentCategories.Select(o => new SetupCategoryListItem { Name = o.Translation.EN, ID = o.ID } ).ToList(); if (Assessment.AssessmentCategories.Any(o => o.Translation.EN == null)) { ViewModel.LockedReasons.Add("There are Categories that need to be named."); } if (Assessment.AssessmentCategories.Any(cat => cat.AssessmentQuestions.Any(q => q.Translation.EN == null))) { ViewModel.LockedReasons.Add("There are questions that are blank."); } if (Assessment.AssessmentCategories.Any(cat => cat.AssessmentQuestions.Any(o => !o.AssessmentCheckoffItems.Any(x => x.AssessmentLevel.LevelOrder == 1))) || Assessment.AssessmentCategories.Any(cat => cat.AssessmentQuestions.Any(o => !o.AssessmentCheckoffItems.Any(x => x.AssessmentLevel.LevelOrder == 2))) || Assessment.AssessmentCategories.Any(cat => cat.AssessmentQuestions.Any(o => !o.AssessmentCheckoffItems.Any(x => x.AssessmentLevel.LevelOrder == 3))) || Assessment.AssessmentCategories.Any(cat => cat.AssessmentQuestions.Any(o => !o.AssessmentCheckoffItems.Any(x => x.AssessmentLevel.LevelOrder == 4)))) { ViewModel.LockedReasons.Add("There are Questions without at least one checkoff item per level."); } ViewModel.CanUnlock = !ViewModel.LockedReasons.Any(); return(ViewModel); }
public ActionResult CreateAssessmentCategories(int id, SetupCreateCategoriesViewModel ViewModel) { assessmentServices.CreateAssessmentCategories(id, ViewModel.Categories.Where(o => o.Name != null).Select(o => o.Name).ToList()); return(RedirectToAction("EditAssessment", new { id = id })); }
public void UpdateAssessment(int id, SetupCreateCategoriesViewModel ViewModel) { assessmentServices.UpdateAssessment(id, ViewModel.AssessmentName); }