public async Task <ActionResult> DeleteRole(int id)
        {
            try
            {
                var role = await _identityManagerService.GetRoleById(id);

                if (role == null)
                {
                    return(NotFound("Rol no encontrado."));
                }

                var result = await _identityManagerService.DeleteRoleAsync(role);

                if (result.Succeeded)
                {
                    return(NoContent());
                }
                else
                {
                    return(BadRequest(result.Errors.First().Description));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Fallo al eliminar {roleId}.", id);
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }
        public async Task <IActionResult> DeleteRoleAsync(string subject)
        {
            var meta = await GetMetadataAsync();

            if (!meta.RoleMetadata.SupportsDelete)
            {
                return(MethodNotAllowed());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.ToError()));
            }

            var result = await service.DeleteRoleAsync(subject);

            if (result.IsSuccess)
            {
                return(NoContent());
            }

            return(BadRequest(result.ToError()));
        }
Beispiel #3
0
 public Task <IdentityManagerResult> DeleteRoleAsync(string subject)
 {
     return(inner.DeleteRoleAsync(subject));
 }