public async Task <ActionResult> UpdateUser(UserDTO userDTO, string[] roles, List <KeyValuePair <string, string> > claims)
        {
            try
            {
                var result = await _identityManagerService.UpdateUserAsync(userDTO);

                if (result.Succeeded)
                {
                    if (roles.Any())
                    {
                        await _identityManagerService.UpdateUserRolesAsync(userDTO.Id, roles);
                    }

                    if (claims.Any())
                    {
                        await _identityManagerService.UpdateUserClaimsAsync(userDTO.Id, claims);
                    }

                    return(NoContent());
                }
                else
                {
                    return(BadRequest(result.Errors.First().Description));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error al actualizar el usuario {userId}.", userDTO.Id);
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }