Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }