public ActionResult CreateRole(int hierarchyLevelTypeId, int administratorRoleId, string systemUserGuid, string btnSubmit) { AdministratorRoleHierarchyLevelType administratorRoleHierarchyLevelType = new AdministratorRoleHierarchyLevelType(); administratorRoleHierarchyLevelType.AdministratorRoleId = administratorRoleId; administratorRoleHierarchyLevelType.HierarchyLevelTypeId = hierarchyLevelTypeId; administratorRoleHierarchyLevelType.SystemUserGuid = systemUserGuid; //Get SystemUser SystemUser systemUser = new SystemUser(); systemUser = systemUserRepository.GetUserBySystemUserGuid(systemUserGuid); //Check Exists if (systemUser == null) { ViewData["ActionMethod"] = "CreateGet"; return(View("RecordDoesNotExistError")); } //AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToSystemUserRoles(administratorRoleHierarchyLevelType.SystemUserGuid)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //Update Model from Form try { UpdateModel(administratorRoleHierarchyLevelType); } catch { string n = ""; foreach (ModelState modelState in ViewData.ModelState.Values) { foreach (ModelError error in modelState.Errors) { n += error.ErrorMessage; } } ViewData["Message"] = "ValidationError : " + n; return(View("Error")); } //Database Update try { systemUserRepository.AddRole(administratorRoleHierarchyLevelType); } catch (SqlException ex) { logRepository.LogError(ex.Message); ViewData["Message"] = "There was a problem with your request, please see the log file or contact an administrator for details"; return(View("Error")); } ViewData["NewSortOrder"] = 0; return(RedirectToAction("ListRoles", new { id = administratorRoleHierarchyLevelType.SystemUserGuid })); }