Example #1
0
        public async Task <IActionResult> DeleteAsync([FromBody] RoleAssignmentsDelete model)
        {
            if ((model.RoleName.Trim().ToLower() == FurizaMasterRoles.Administrator || model.RoleName.Trim().ToLower() == FurizaMasterRoles.Superuser) && !userPrincipalBuilder.HasSuperuserRights())
            {
                throw new AdminCanOnlyBeAssignedBySuperuserException();
            }

            var user = await GetApplicationUserAsync(model.UserName, model.RoleName);

            var operationResult = await userManager.RemoveFromRoleAsync(user, model.RoleName);

            return(await ParseIdentityResultAndReturnAsync(model.UserName, operationResult));
        }
Example #2
0
        public async Task OnPostAlterarRoleAsync(string username, string currentRole, string newRole)
        {
            if (!string.IsNullOrWhiteSpace(currentRole))
            {
                var roleAssignmentsDelete = new RoleAssignmentsDelete()
                {
                    UserName = username,
                    RoleName = currentRole
                };

                await roleAssignmentsClient.DeleteAsync(roleAssignmentsDelete);
            }

            if (!string.IsNullOrWhiteSpace(newRole))
            {
                var roleAssignmentsPost = new RoleAssignmentsPost()
                {
                    UserName = username,
                    RoleName = newRole
                };
                await roleAssignmentsClient.PostAsync(roleAssignmentsPost);
            }
        }