public IActionResult AddEditFrameworkCompetencyGroup(int frameworkId, int frameworkCompetencyGroupId = 0) { var detailFramework = frameworkService.GetDetailFrameworkByFrameworkId(frameworkId, GetAdminId()); var userRole = frameworkService.GetAdminUserRoleForFrameworkId(GetAdminId(), frameworkId); if (userRole < 2) { return(StatusCode(403)); } var competencyGroupBase = new CompetencyGroupBase(); if (frameworkCompetencyGroupId > 0) { competencyGroupBase = frameworkService.GetCompetencyGroupBaseById(frameworkCompetencyGroupId); } if (detailFramework == null || competencyGroupBase == null) { return(StatusCode(404)); } var model = new CompetencyGroupViewModel() { DetailFramework = detailFramework, CompetencyGroupBase = competencyGroupBase, }; return(View("Developer/CompetencyGroup", model)); }
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)); }