public IActionResult EditAssessmentQuestionScoring(AssessmentQuestionDetail assessmentQuestionDetail, int frameworkId, int assessmentQuestionId = 0, int frameworkCompetencyId = 0) { if (!ModelState.IsValid) { return(RedirectToAction("EditAssessmentQuestionScoring", "Frameworks", new { frameworkId, assessmentQuestionId, frameworkCompetencyId })); } var userRole = frameworkService.GetAdminUserRoleForFrameworkId(GetAdminId(), frameworkId); if (userRole < 2) { return(StatusCode(403)); } var sessionAssessmentQuestion = TempData.Peek <SessionAssessmentQuestion>(); if (sessionAssessmentQuestion != null) { sessionAssessmentQuestion.AssessmentQuestionDetail = assessmentQuestionDetail; TempData.Set(sessionAssessmentQuestion); } if (assessmentQuestionDetail.AssessmentQuestionInputTypeID == 1) { var level = assessmentQuestionDetail.MinValue; return(RedirectToAction("AssessmentQuestionLevelDescriptor", "Frameworks", new { frameworkId, level, assessmentQuestionId, frameworkCompetencyId })); } else { return(RedirectToAction("EditAssessmentQuestionOptions", "Frameworks", new { frameworkId, assessmentQuestionId, frameworkCompetencyId })); } }
public IActionResult EditAssessmentQuestionOptions(AssessmentQuestionDetail assessmentQuestionDetail, int frameworkId, int assessmentQuestionId = 0, int frameworkCompetencyId = 0) { if (!ModelState.IsValid) { return(RedirectToAction("EditAssessmentQuestionOptions", "Frameworks", new { frameworkId, assessmentQuestionId, frameworkCompetencyId })); } assessmentQuestionDetail.ScoringInstructions = SanitizerHelper.SanitizeHtmlData(assessmentQuestionDetail.ScoringInstructions); SessionAssessmentQuestion sessionAssessmentQuestion = multiPageFormService.GetMultiPageFormData <SessionAssessmentQuestion>( MultiPageFormDataFeature.EditAssessmentQuestion, TempData ); if (sessionAssessmentQuestion != null) { sessionAssessmentQuestion.AssessmentQuestionDetail = assessmentQuestionDetail; multiPageFormService.SetMultiPageFormData( sessionAssessmentQuestion, MultiPageFormDataFeature.EditAssessmentQuestion, TempData ); } else { return(StatusCode(404)); } return(RedirectToAction("AssessmentQuestionConfirm", "Frameworks", new { frameworkId, assessmentQuestionId, frameworkCompetencyId })); }
public IActionResult StartAssessmentQuestionSession(int frameworkId, int assessmentQuestionId = 0, int frameworkCompetencyId = 0) { var adminId = GetAdminId(); var userRole = frameworkService.GetAdminUserRoleForFrameworkId(adminId, frameworkId); if (userRole < 2) { return(StatusCode(403)); } TempData.Clear(); var sessionAssessmentQuestion = new SessionAssessmentQuestion(); var assessmentQuestionDetail = new AssessmentQuestionDetail() { AddedByAdminId = adminId, UserIsOwner = true, MinValue = 1, MaxValue = 5, }; var levelDescriptors = new List <LevelDescriptor>(); if (assessmentQuestionId > 0) { assessmentQuestionDetail = frameworkService.GetAssessmentQuestionDetailById(assessmentQuestionId, adminId); levelDescriptors = frameworkService.GetLevelDescriptorsForAssessmentQuestionId(assessmentQuestionId, adminId, assessmentQuestionDetail.MinValue, assessmentQuestionDetail.MaxValue, assessmentQuestionDetail.MinValue == 0).ToList(); } sessionAssessmentQuestion.AssessmentQuestionDetail = assessmentQuestionDetail; sessionAssessmentQuestion.LevelDescriptors = levelDescriptors; multiPageFormService.SetMultiPageFormData( sessionAssessmentQuestion, MultiPageFormDataFeature.EditAssessmentQuestion, TempData ); return(RedirectToAction("EditAssessmentQuestion", "Frameworks", new { frameworkId, assessmentQuestionId, frameworkCompetencyId })); }
public IActionResult EditAssessmentQuestionOptions(AssessmentQuestionDetail assessmentQuestionDetail, int frameworkId, int assessmentQuestionId = 0, int frameworkCompetencyId = 0) { if (!ModelState.IsValid) { return(RedirectToAction("EditAssessmentQuestionOptions", "Frameworks", new { frameworkId, assessmentQuestionId, frameworkCompetencyId })); } SessionAssessmentQuestion sessionAssessmentQuestion = TempData.Peek <SessionAssessmentQuestion>(); if (sessionAssessmentQuestion != null) { sessionAssessmentQuestion.AssessmentQuestionDetail = assessmentQuestionDetail; TempData.Set(sessionAssessmentQuestion); } else { return(StatusCode(404)); } return(RedirectToAction("AssessmentQuestionConfirm", "Frameworks", new { frameworkId, assessmentQuestionId, frameworkCompetencyId })); }
public IActionResult EditAssessmentQuestion(AssessmentQuestionDetail assessmentQuestionDetail, int frameworkId, int assessmentQuestionId = 0, int frameworkCompetencyId = 0) { if (!ModelState.IsValid) { ModelState.Remove(nameof(AssessmentQuestionDetail.Question)); ModelState.AddModelError(nameof(AssessmentQuestionDetail.Question), $"Please enter a valid question (between 3 and 255 characters)"); var adminId = GetAdminId(); string name; if (frameworkCompetencyId > 0) { var competency = frameworkService.GetFrameworkCompetencyById(frameworkCompetencyId); if (competency != null) { name = competency.Name; } else { return(StatusCode(404)); } } else { var framework = frameworkService.GetBaseFrameworkByFrameworkId(frameworkId, adminId); if (framework != null) { name = framework.FrameworkName; } else { return(StatusCode(404)); } } var inputTypes = frameworkService.GetAssessmentQuestionInputTypes(); var inputTypeSelectList = new SelectList(inputTypes, "ID", "Label"); var detailFramework = frameworkService.GetDetailFrameworkByFrameworkId(frameworkId, adminId); if (detailFramework != null) { var model = new AssessmentQuestionViewModel() { DetailFramework = detailFramework, FrameworkCompetencyId = frameworkCompetencyId, Name = name, AssessmentQuestionDetail = assessmentQuestionDetail, InputTypeSelectList = inputTypeSelectList }; return(View("Developer/AssessmentQuestion", model)); } else { return(StatusCode(404)); } } var userRole = frameworkService.GetAdminUserRoleForFrameworkId(GetAdminId(), frameworkId); if (userRole < 2) { return(StatusCode(403)); } if (assessmentQuestionDetail.AssessmentQuestionInputTypeID == 3) { assessmentQuestionDetail.MinValue = 0; assessmentQuestionDetail.MaxValue = 1; var sessionAssessmentQuestion = TempData.Peek <SessionAssessmentQuestion>(); if (sessionAssessmentQuestion != null) { sessionAssessmentQuestion.AssessmentQuestionDetail = assessmentQuestionDetail; TempData.Set(sessionAssessmentQuestion); } else { return(StatusCode(404)); } var level = assessmentQuestionDetail.MinValue; return(RedirectToAction("AssessmentQuestionLevelDescriptor", "Frameworks", new { frameworkId, level, assessmentQuestionId, frameworkCompetencyId })); } else { SessionAssessmentQuestion sessionAssessmentQuestion = TempData.Peek <SessionAssessmentQuestion>(); if (sessionAssessmentQuestion != null) { sessionAssessmentQuestion.AssessmentQuestionDetail = assessmentQuestionDetail; TempData.Set(sessionAssessmentQuestion); } else { return(StatusCode(404)); } return(RedirectToAction("EditAssessmentQuestionScoring", "Frameworks", new { frameworkId, assessmentQuestionId, frameworkCompetencyId })); } }
public IActionResult StartAssessmentQuestionSession(int frameworkId, int assessmentQuestionId = 0, int frameworkCompetencyId = 0) { var adminId = GetAdminId(); var userRole = frameworkService.GetAdminUserRoleForFrameworkId(adminId, frameworkId); if (userRole < 2) { return(StatusCode(403)); } TempData.Clear(); var sessionAssessmentQuestion = new SessionAssessmentQuestion(); if (!Request.Cookies.ContainsKey(CookieName)) { var id = Guid.NewGuid(); Response.Cookies.Append( CookieName, id.ToString(), new CookieOptions { Expires = DateTimeOffset.UtcNow.AddDays(30) }); sessionAssessmentQuestion.Id = id; } else { if (Request.Cookies.TryGetValue(CookieName, out string idString)) { sessionAssessmentQuestion.Id = Guid.Parse(idString); } else { var id = Guid.NewGuid(); Response.Cookies.Append( CookieName, id.ToString(), new CookieOptions { Expires = DateTimeOffset.UtcNow.AddDays(30) }); sessionAssessmentQuestion.Id = id; } } var assessmentQuestionDetail = new AssessmentQuestionDetail() { AddedByAdminId = adminId, UserIsOwner = true, MinValue = 1, MaxValue = 5, }; var levelDescriptors = new List <LevelDescriptor>(); if (assessmentQuestionId > 0) { assessmentQuestionDetail = frameworkService.GetAssessmentQuestionDetailById(assessmentQuestionId, adminId); levelDescriptors = frameworkService.GetLevelDescriptorsForAssessmentQuestionId(assessmentQuestionId, adminId, assessmentQuestionDetail.MinValue, assessmentQuestionDetail.MaxValue, assessmentQuestionDetail.MinValue == 0).ToList(); } sessionAssessmentQuestion.AssessmentQuestionDetail = assessmentQuestionDetail; sessionAssessmentQuestion.LevelDescriptors = levelDescriptors; TempData.Set(sessionAssessmentQuestion); return(RedirectToAction("EditAssessmentQuestion", "Frameworks", new { frameworkId, assessmentQuestionId, frameworkCompetencyId })); }
public SessionAssessmentQuestion() { Id = new Guid(); AssessmentQuestionDetail = new AssessmentQuestionDetail(); }