public async Task <ActionResult <ResponseUsuarioLoginDto> > Login([FromBody] RequestUsuarioCredencialesDto usuario) { if (!ModelState.IsValid) { return(BadRequest()); } UsuarioLoginDto result; //if (string.IsNullOrEmpty(mensajeValidacion)) //{ result = await Task.FromResult(_lnUsuario.ObtenerPorLogin(usuario)); if (result != null) { return(Ok(BuildToken(result))); } //else //{ // mensajeValidacion = "Error en las credenciales"; //} //} //ModelState.AddModelError(string.Empty, "Intento de logeo invalido"); List <ErrorDto> listaError = new List <ErrorDto>(); listaError.Add(new ErrorDto { Mensaje = "Intento de inicio de sesión invalido" }); ResponseUsuarioLoginDto usuarioRetorno = new ResponseUsuarioLoginDto { IdUsuario = 0, Expiracion = null, Token = null, Nombre = null, Apellido = null, CorreoElectronico = null, UrlImagen = null, ListaError = listaError }; //return Unauthorized(usuarioRetorno);// StatusCode(401, usuarioRetorno);// ModelState); return(Unauthorized(usuarioRetorno)); }
public override void OnActionExecuting(ActionExecutingContext actionContext) { var modelState = actionContext.ModelState; if (!modelState.IsValid) { try { var listaValores = modelState.Select(x => x.Value).ToList(); if (listaValores.Any()) { List <ErrorDto> ListaError = new List <ErrorDto>(); foreach (var item in listaValores) { if (item != null) { foreach (var erro in item.Errors) { ListaError.Add(new ErrorDto { Mensaje = erro.ErrorMessage }); } } } ResponseUsuarioLoginDto response = new ResponseUsuarioLoginDto { ListaError = ListaError }; var json = Newtonsoft.Json.JsonConvert.SerializeObject(response); actionContext.HttpContext.Response.StatusCode = 400; actionContext.HttpContext.Response.ContentType = "application/json"; actionContext.HttpContext.Response.WriteAsync(json); } } catch { } } base.OnActionExecuting(actionContext); }