示例#1
0
        private Task HandleExceptionAsync(HttpContext context, Exception exception)
        {
            context.Response.ContentType = "application/json";
            context.Response.StatusCode  = (int)HttpStatusCode.InternalServerError;

            _resultService.AddValue(Resultado.Error, exception.Message + " " + exception.GetType());

            return(context.Response.WriteAsync(_resultService.GetJsonProperties()));
        }
        private async Task <bool> FormatResult(HttpContext context)
        {
            if (context.Response.StatusCode == (int)HttpStatusCode.Unauthorized && context.Response.ContentType.IsNull())
            {
                context.Response.ContentType = "application/json";
                _resultService.AddValue(Resultado.Error, "Acceso al sistema no autorizado.");

                await context.Response.WriteAsync(_resultService.GetJsonProperties()).ConfigureAwait(true);

                return(false);
            }

            return(true);
        }
        private async Task <bool> ValidaUsuarioAsync(HttpContext context)
        {
            string codUsuario = context.GetUniqueName();

            //IUsuarioService userService = context.RequestServices.GetRequiredService<IUsuarioService>();

            // Determinar si existe el usuario.
            if (!string.IsNullOrEmpty(codUsuario) && !await _userService.ExisteUsuario(codUsuario).ConfigureAwait(true))
            {
                context.Response.ContentType = "application/json";
                context.Response.StatusCode  = (int)HttpStatusCode.Unauthorized;
                _resultService.AddValue(Resultado.Error, "El usuario con el que intenta acceder no existe en el sistema.");

                await context.Response.WriteAsync(_resultService.GetJsonProperties()).ConfigureAwait(true);

                return(false);
            }

            // Realizar demás validaciones de usuario activo, usuario borrado y cantidad de conexiones.

            return(true);
        }