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