//[Authorize(Policy = PermissionsList.PermissionsRolesUpdate)] public async Task <IActionResult> Update(string id, [FromBody] RolePermissionUpdateModel rolePermissionUpdateModel) { Guid roleId = Guid.Parse(id); Roles roleToChange = await _rolesRepository.GetRole(rolePermissionUpdateModel.Name); var permissions = await _permissionRepository.GetAll(); List <RolesPermission> rolePermissions = roleToChange.Permissions.ToList(); List <RolesPermission> newRolesPermissions = new List <RolesPermission>(); foreach (RolesPermission rp in rolePermissions) { if (!rolePermissionUpdateModel.Permissions.Contains(rp.Permission)) { _rolesPermissionRepository.Delete(rp); } } foreach (Permission permission in rolePermissionUpdateModel.Permissions) { if (permissions.ToList().Find(p => p.Id == permission.Id) == null) { continue; } _rolesPermissionRepository.Create(new RolesPermission { Id = Guid.NewGuid(), Role = roleToChange, Permission = await _permissionRepository.GetById(permission.Id) });; } //_rolesRepository.Update(roleToChange); return(Ok()); }
public async Task <bool> Delete(int id) { return(await _rolesPermissionRepository.Delete(id)); }