public async Task <IActionResult> UpdateRole(AddAndEditRoleViewModels role) { var role1 = Mapper.Map <Role>(role); await _roleSever.UpdateRole(role1); var roleNames = new List <string>(); foreach (var key in Request.Form.Keys) { if (key.Contains("Permission.") && Request.Form[key].Contains("on")) { roleNames.Add(key.Substring(11)); } } var roleClaims = _roleClaimsSever.GetRoleClaims(new List <int>() { role1.Id }); await _roleClaimsSever.Removes(roleClaims); List <RoleClaims> roleClaims1 = new List <RoleClaims>(); foreach (var item in roleNames) { RoleClaims roleClaims2 = new RoleClaims(); roleClaims2.RoleId = role1.Id; roleClaims2.ClaimType = "RoleClaims"; roleClaims2.ClaimValue = item; roleClaims1.Add(roleClaims2); } await _roleClaimsSever.AddRoleClaims(roleClaims1); return(Redirect(nameof(ShowRole))); }
public async Task <IActionResult> AddRole(AddAndEditRoleViewModels addRoleViewModels) { var role = Mapper.Map <Role>(addRoleViewModels); role.RoleClaims = new List <RoleClaims>(); var roleNames = new List <string>(); foreach (var key in Request.Form.Keys) { if (key.Contains("Permission.") && Request.Form[key].Contains("on")) { roleNames.Add(key.Substring(11)); } } List <RoleClaims> roleClaims1 = new List <RoleClaims>(); foreach (var item in roleNames) { RoleClaims roleClaims2 = new RoleClaims(); roleClaims2.ClaimType = "RoleClaims"; roleClaims2.ClaimValue = item; role.RoleClaims.Add(roleClaims2); } await _roleSever.AddRole(role); return(Redirect(nameof(ShowRole))); }
public async Task <IActionResult> EditRole(int Id) { var role = await _roleSever.GetRoleByRoleId(Id); AddAndEditRoleViewModels addAndEditRoleViewModels = new AddAndEditRoleViewModels(); var model = Mapper.Map <AddAndEditRoleViewModels>(role); var roleFictitious = RoleFictitious; model.RolePermissions = RoleFictitious.ToList(); //var user=_httpContextAccessor.HttpContext.User; var claims = _roleClaimsSever.GetRoleClaims(new List <int>() { Id }); RecursivelyPermission(model.RolePermissions, claims); return(View(model)); }