public async Task <IActionResult> DeleteUserAsync(string subject)
        {
            var meta = await GetMetadataAsync();

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

            if (IsNullOrWhiteSpace(subject))
            {
                ModelState["subject.String"].Errors.Clear();
                ModelState.AddModelError("", Messages.SubjectRequired);
            }

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

            var result = await service.DeleteUserAsync(subject);

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

            return(BadRequest(result.ToError()));
        }
        public async Task <ActionResult> DeleteUser(int id)
        {
            try
            {
                var user = await _identityManagerService.GetUserById(id);

                if (user == null)
                {
                    return(NotFound("Usuario no encontrado."));
                }

                var result = await _identityManagerService.DeleteUserAsync(user);

                if (result.Succeeded)
                {
                    return(NoContent());
                }
                else
                {
                    return(BadRequest(result.Errors.First().Description));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error al eliminar usuario {userId}.", id);
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }
Beispiel #3
0
        public void DeleteUserAsync_NoSubject_ReturnsError()
        {
            var result = subject.DeleteUserAsync("").Result;

            Assert.False(result.IsSuccess);
        }