示例#1
0
        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));
        }
示例#2
0
        /// <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);
        }
示例#3
0
 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 }));
 }
示例#4
0
 public void UpdateAssessment(int id, SetupCreateCategoriesViewModel ViewModel)
 {
     assessmentServices.UpdateAssessment(id, ViewModel.AssessmentName);
 }