public SessionCompetencyLearningResourceSignpostingParameter(FrameworkCompetency frameworkCompetency, string resourceName, List <AssessmentQuestion> questions, AssessmentQuestion selectedQuestion, CompareAssessmentQuestionType selectedCompareQuestionType, CompetencyResourceAssessmentQuestionParameter assessmentQuestionParameter)
 {
     FrameworkCompetency         = frameworkCompetency;
     ResourceName                = resourceName;
     Questions                   = questions;
     AssessmentQuestionParameter = assessmentQuestionParameter;
     SelectedQuestion            = selectedQuestion;
     SelectedCompareQuestionType = selectedCompareQuestionType;
     TriggerValuesConfirmed      = false;
     CompareQuestionConfirmed    = false;
 }
        public IActionResult CompareSelfAssessmentResultNext(CompareAssessmentQuestionType compareQuestionType, int?compareToQuestionId, int frameworkId, int frameworkCompetencyId, int frameworkCompetencyGroupId)
        {
            var session = multiPageFormService.GetMultiPageFormData <SessionCompetencyLearningResourceSignpostingParameter>(
                MultiPageFormDataFeature.EditSignpostingParameter,
                TempData
                );
            var parameter = session.AssessmentQuestionParameter;

            session.SelectedCompareQuestionType = compareQuestionType;
            session.CompareQuestionConfirmed    = true;
            switch (compareQuestionType)
            {
            case CompareAssessmentQuestionType.DontCompare:
                parameter.RelevanceAssessmentQuestion   = null;
                parameter.RelevanceAssessmentQuestionId = null;
                parameter.CompareToRoleRequirements     = false;
                break;

            case CompareAssessmentQuestionType.CompareToRole:
                parameter.RelevanceAssessmentQuestion   = null;
                parameter.RelevanceAssessmentQuestionId = null;
                parameter.CompareToRoleRequirements     = true;
                break;

            case CompareAssessmentQuestionType.CompareToOtherQuestion:
                parameter.RelevanceAssessmentQuestion   = session.Questions.FirstOrDefault(q => q.ID == compareToQuestionId);
                parameter.RelevanceAssessmentQuestionId = parameter.RelevanceAssessmentQuestion?.ID;
                parameter.CompareToRoleRequirements     = false;
                break;
            }
            multiPageFormService.SetMultiPageFormData(
                session,
                MultiPageFormDataFeature.EditSignpostingParameter,
                TempData
                );
            return(RedirectToAction("SignpostingSetStatus", new { frameworkId, frameworkCompetencyId, frameworkCompetencyGroupId }));
        }