Пример #1
0
        private static Task WriteErrorAsync(FailExecutionResult result, HttpContext context)
        {
            var stringResult = JsonConvert.SerializeObject(result.Value, new JsonSerializerSettings
            {
                ContractResolver      = new CamelCasePropertyNamesContractResolver(),
                Formatting            = Formatting.Indented,
                NullValueHandling     = NullValueHandling.Include,
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            });

            context.Response.ContentType = "application/json";
            context.Response.StatusCode  = result.StatusCode ?? 500;
            return(context.Response.WriteAsync(stringResult));
        }
Пример #2
0
        private static Task Handle(string title, string message, HttpStatusCode code, HttpContext context, Exception ex, IUnitOfWork uow, bool isProduction)
        {
            if (uow.HasOpenTransaction)
            {
                uow.RollbackTransactionAsync();
            }
            var errors = new List <Error>()
            {
                new Error(title, message)
            };

            if (!isProduction)
            {
                errors.AddRange(ex.ToApiError());
            }

            var result = new FailExecutionResult(code, errors.ToArray());

            return(WriteErrorAsync(result, context));
        }