public IActionResult EditSignpostingParameters(int frameworkId, int frameworkCompetencyId, int?frameworkCompetencyGroupId, int?competencyLearningResourceId)
        {
            var adminId  = GetAdminId();
            var userRole = frameworkService.GetAdminUserRoleForFrameworkId(adminId, frameworkId);

            if (userRole < 2)
            {
                return(StatusCode(403));
            }
            var session = multiPageFormService.GetMultiPageFormData <SessionCompetencyLearningResourceSignpostingParameter>(
                MultiPageFormDataFeature.EditSignpostingParameter,
                TempData
                );
            var model = new CompetencyLearningResourceSignpostingParametersViewModel(frameworkId, frameworkCompetencyId, frameworkCompetencyGroupId)
            {
                FrameworkCompetency         = session.FrameworkCompetency.Name,
                ResourceName                = session.ResourceName,
                Questions                   = session.Questions,
                SelectedQuestion            = session.SelectedQuestion,
                AssessmentQuestionParameter = session.AssessmentQuestionParameter
            };

            multiPageFormService.SetMultiPageFormData(
                session,
                MultiPageFormDataFeature.EditSignpostingParameter,
                TempData
                );
            return(View("Developer/EditSignpostingParameters", model));
        }
        private IActionResult ViewFromSession(string view, int frameworkId, int frameworkCompetencyId, int frameworkCompetencyGroupId)
        {
            var session = multiPageFormService.GetMultiPageFormData <SessionCompetencyLearningResourceSignpostingParameter>(
                MultiPageFormDataFeature.EditSignpostingParameter,
                TempData
                );
            var model = new CompetencyLearningResourceSignpostingParametersViewModel(frameworkId, frameworkCompetencyId, frameworkCompetencyGroupId)
            {
                FrameworkCompetency         = session.FrameworkCompetency?.Name,
                ResourceName                = session.ResourceName,
                AssessmentQuestionParameter = session.AssessmentQuestionParameter,
                Questions                          = session.Questions,
                SelectedQuestion                   = session.Questions.FirstOrDefault(q => q.ID == session.SelectedQuestion?.ID),
                SelectedLevelValues                = session.SelectedLevelValues,
                SelectedCompareToQuestion          = session.AssessmentQuestionParameter.RelevanceAssessmentQuestion,
                SelectedCompareQuestionType        = session.SelectedCompareQuestionType,
                AssessmentQuestionLevelDescriptors = session.LevelDescriptors,
                TriggerValuesConfirmed             = session.TriggerValuesConfirmed,
                CompareQuestionConfirmed           = session.CompareQuestionConfirmed,
                SelectedQuestionRoleRequirements   = session.SelectedQuestionRoleRequirements
            };

            if (session.SelectedQuestion != null)
            {
                model.AssessmentQuestionParameter.AssessmentQuestion = session.AssessmentQuestionParameter.AssessmentQuestion;
                model.AssessmentQuestionLevelDescriptors             = frameworkService.GetLevelDescriptorsForAssessmentQuestionId(
                    session.SelectedQuestion.ID,
                    GetAdminId(),
                    session.SelectedQuestion.MinValue,
                    session.SelectedQuestion.MaxValue,
                    session.SelectedQuestion.MinValue == 0).ToList();
            }
            ;
            return(View(view, model));
        }
        public IActionResult SignpostingSetStatusNext(CompetencyLearningResourceSignpostingParametersViewModel model)
        {
            var session = multiPageFormService.GetMultiPageFormData <SessionCompetencyLearningResourceSignpostingParameter>(
                MultiPageFormDataFeature.EditSignpostingParameter,
                TempData
                );

            session.AssessmentQuestionParameter.Essential = model.AssessmentQuestionParameter.Essential;
            multiPageFormService.SetMultiPageFormData(
                session,
                MultiPageFormDataFeature.EditSignpostingParameter,
                TempData
                );
            return(RedirectToAction("AddSignpostingParametersSummary", new { model.FrameworkId, model.FrameworkCompetencyId, model.FrameworkCompetencyGroupId }));
        }
 public IActionResult EditSignpostingParametersNext(CompetencyLearningResourceSignpostingParametersViewModel model)
 {
     if (model.SelectedQuestion?.ID != null)
     {
         var session = multiPageFormService.GetMultiPageFormData <SessionCompetencyLearningResourceSignpostingParameter>(
             MultiPageFormDataFeature.EditSignpostingParameter,
             TempData
             );
         session.CompareQuestionConfirmed = false;
         session.SelectedQuestion         = session.Questions.FirstOrDefault(q => q.ID == model.SelectedQuestion.ID);
         session.AssessmentQuestionParameter.AssessmentQuestion = session.SelectedQuestion;
         session.LevelDescriptors = frameworkService.GetLevelDescriptorsForAssessmentQuestionId(
             session.SelectedQuestion.ID,
             GetAdminId(),
             session.SelectedQuestion.MinValue,
             session.SelectedQuestion.MaxValue,
             session.SelectedQuestion.MinValue == 0).ToList();
         session.SelectedQuestionRoleRequirements = frameworkService.GetCompetencyAssessmentQuestionRoleRequirementsCount(session.SelectedQuestion.ID, session.FrameworkCompetency.CompetencyID);
         multiPageFormService.SetMultiPageFormData(
             session,
             MultiPageFormDataFeature.EditSignpostingParameter,
             TempData
             );
         return(RedirectToAction("SignpostingParametersSetTriggerValues", new { model.FrameworkId, model.FrameworkCompetencyId, model.FrameworkCompetencyGroupId }));
     }
     else
     {
         return(RedirectToAction("EditSignpostingParameters", "Frameworks", new
         {
             model.FrameworkId,
             model.FrameworkCompetencyId,
             model.FrameworkCompetencyGroupId,
             model.AssessmentQuestionParameter?.CompetencyLearningResourceId
         }));
     }
 }