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 }));
        }
Ejemplo n.º 2
0
        public IActionResult InsertFramework()
        {
            var adminId = GetAdminId();

            if (TempData[MultiPageFormDataFeature.AddNewFramework.TempDataKey] == null)
            {
                return(StatusCode((int)HttpStatusCode.NotFound));
            }

            var sessionNewFramework = multiPageFormService.GetMultiPageFormData <SessionNewFramework>(
                MultiPageFormDataFeature.AddNewFramework,
                TempData
                );
            var detailFramework = sessionNewFramework.DetailFramework;

            detailFramework = InsertBrandingCategoryTopicIfRequired(detailFramework);
            if (detailFramework == null || adminId < 1)
            {
                logger.LogWarning($"Failed to create framework: adminId: {adminId}");
                return(StatusCode(500));
            }
            detailFramework.Description = SanitizerHelper.SanitizeHtmlData(detailFramework.Description);
            var newFramework = frameworkService.CreateFramework(detailFramework, adminId);

            TempData.Clear();
            return(RedirectToAction("AddCollaborators", "Frameworks", new { actionname = "New", frameworkId = newFramework.ID }));
        }
Ejemplo n.º 3
0
 public IActionResult FrameworkDescription(DetailFramework detailFramework, string actionname, int frameworkId = 0)
 {
     if (actionname == "New")
     {
         if (TempData[MultiPageFormDataFeature.AddNewFramework.TempDataKey] == null)
         {
             return(StatusCode((int)HttpStatusCode.NotFound));
         }
         else
         {
             var sessionNewFramework = multiPageFormService.GetMultiPageFormData <SessionNewFramework>(
                 MultiPageFormDataFeature.AddNewFramework,
                 TempData
                 );
             sessionNewFramework.DetailFramework = detailFramework;
             multiPageFormService.SetMultiPageFormData(
                 sessionNewFramework,
                 MultiPageFormDataFeature.AddNewFramework,
                 TempData
                 );
         }
         return(RedirectToAction("FrameworkType", "Frameworks", new { actionname }));
     }
     detailFramework.Description = SanitizerHelper.SanitizeHtmlData(detailFramework.Description);
     frameworkService.UpdateFrameworkDescription(frameworkId, GetAdminId(), detailFramework.Description);
     return(RedirectToAction("ViewFramework", new { tabname = "Details", frameworkId }));
 }
        public IActionResult AddEditFrameworkCompetency(int frameworkId, FrameworkCompetency frameworkCompetency, int?frameworkCompetencyGroupId, int frameworkCompetencyId = 0, int[] selectedFlagIds = null)
        {
            frameworkCompetency.Description = SanitizerHelper.SanitizeHtmlData(frameworkCompetency.Description);
            if (!ModelState.IsValid)
            {
                ModelState.Remove(nameof(FrameworkCompetency.Name));
                ModelState.AddModelError(nameof(FrameworkCompetency.Name), "Please enter a valid competency statement (between 3 and 500 characters)");
                var detailFramework = frameworkService.GetDetailFrameworkByFrameworkId(frameworkId, GetAdminId());
                var competencyFlags = frameworkService.GetCompetencyFlagsByFrameworkId(frameworkId, frameworkCompetency?.CompetencyID).ToList();
                if (competencyFlags != null)
                {
                    competencyFlags.ForEach(f => f.Selected = selectedFlagIds.Contains(f.FlagId));
                }
                if (detailFramework == null)
                {
                    return(StatusCode((int)HttpStatusCode.NotFound));
                }
                var model = new FrameworkCompetencyViewModel()
                {
                    DetailFramework            = detailFramework,
                    FrameworkCompetencyGroupId = frameworkCompetencyId,
                    FrameworkCompetency        = frameworkCompetency,
                    CompetencyFlags            = competencyFlags
                };
                return(View("Developer/Competency", model));
            }
            var adminId  = GetAdminId();
            var userRole = frameworkService.GetAdminUserRoleForFrameworkId(adminId, frameworkId);

            if (userRole < 2)
            {
                return(StatusCode((int)HttpStatusCode.Forbidden));
            }
            if (frameworkCompetency.Id > 0)
            {
                frameworkService.UpdateFrameworkCompetency(frameworkCompetencyId, frameworkCompetency.Name, frameworkCompetency.Description, adminId);
                frameworkService.UpdateCompetencyFlags(frameworkId, frameworkCompetency.CompetencyID, selectedFlagIds);
                return(new RedirectResult(Url.Action("ViewFramework", new { tabname = "Structure", frameworkId, frameworkCompetencyGroupId, frameworkCompetencyId }) + "#fc-" + frameworkCompetencyId.ToString()));
            }
            var newCompetencyId = frameworkService.InsertCompetency(frameworkCompetency.Name, frameworkCompetency.Description, adminId);

            if (newCompetencyId > 0)
            {
                var newFrameworkCompetencyId = frameworkService.InsertFrameworkCompetency(newCompetencyId, frameworkCompetencyGroupId, adminId, frameworkId);
                frameworkService.UpdateCompetencyFlags(frameworkId, newCompetencyId, selectedFlagIds);
                return(new RedirectResult(Url.Action("ViewFramework", new { tabname = "Structure", frameworkId, frameworkCompetencyGroupId, frameworkCompetencyId }) + "#fc-" + newFrameworkCompetencyId.ToString()));
            }
            logger.LogWarning($"Attempt to add framework competency failed for admin {adminId}.");
            return(StatusCode((int)HttpStatusCode.Forbidden));
        }
        public IActionResult AddEditFrameworkCompetencyGroup(int frameworkId, CompetencyGroupBase competencyGroupBase, int frameworkCompetencyGroupId = 0)
        {
            if (!ModelState.IsValid)
            {
                if (ModelState["Name"].ValidationState == ModelValidationState.Invalid)
                {
                    ModelState.Remove(nameof(CompetencyGroupBase.Name));
                    ModelState.AddModelError(nameof(CompetencyGroupBase.Name), "Please enter a valid competency group name (between 3 and 255 characters)");
                }

                if (ModelState["Description"].ValidationState == ModelValidationState.Invalid)
                {
                    ModelState.Remove(nameof(CompetencyGroupBase.Description));
                    ModelState.AddModelError(nameof(CompetencyGroupBase.Description), "Please enter a valid competency group description (between 0 and 1000 characters)");
                }

                // do something
                var detailFramework = frameworkService.GetDetailFrameworkByFrameworkId(frameworkId, GetAdminId());
                if (detailFramework == null)
                {
                    return(StatusCode(404));
                }
                var model = new CompetencyGroupViewModel()
                {
                    DetailFramework     = detailFramework,
                    CompetencyGroupBase = competencyGroupBase
                };
                return(View("Developer/CompetencyGroup", model));
            }
            var adminId  = GetAdminId();
            var userRole = frameworkService.GetAdminUserRoleForFrameworkId(adminId, frameworkId);

            if (userRole < 2)
            {
                return(StatusCode(403));
            }
            if (competencyGroupBase.ID > 0)
            {
                frameworkService.UpdateFrameworkCompetencyGroup(frameworkCompetencyGroupId, competencyGroupBase.CompetencyGroupID, competencyGroupBase.Name, SanitizerHelper.SanitizeHtmlData
                                                                    (competencyGroupBase.Description), adminId);
                return(new RedirectResult(Url.Action("ViewFramework", new { tabname = "Structure", frameworkId }) + "#fcgroup-" + frameworkCompetencyGroupId.ToString()));
            }
            var newCompetencyGroupId = frameworkService.InsertCompetencyGroup(competencyGroupBase.Name, SanitizerHelper.SanitizeHtmlData(competencyGroupBase.Description), adminId);

            if (newCompetencyGroupId > 0)
            {
                var newFrameworkCompetencyGroupId = frameworkService.InsertFrameworkCompetencyGroup(newCompetencyGroupId, frameworkId, adminId);
                return(new RedirectResult(Url.Action("ViewFramework", new { tabname = "Structure", frameworkId, frameworkCompetencyGroupId = newFrameworkCompetencyGroupId }) + "#fcgroup-" + newFrameworkCompetencyGroupId.ToString()));
            }
            logger.LogWarning($"Attempt to add framework competency group failed for admin {adminId}.");
            return(StatusCode(403));
        }