Exemplo n.º 1
0
        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 }));
        }
Exemplo n.º 4
0
        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 }));
        }
Exemplo n.º 5
0
        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 }));
            }
        }
Exemplo n.º 6
0
        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 }));
        }
Exemplo n.º 7
0
 public SessionAssessmentQuestion()
 {
     Id = new Guid();
     AssessmentQuestionDetail = new AssessmentQuestionDetail();
 }