Exemplo n.º 1
0
        //[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());
        }
Exemplo n.º 2
0
 public async Task <bool> Delete(int id)
 {
     return(await _rolesPermissionRepository.Delete(id));
 }