コード例 #1
0
        private async Task HandleExceptionAsync(HttpContext context, Exception e)
        {
            var result = new ArticleResultModel()
            {
                IsSuccessful = false, Message = e.Message
            };
            int statusCode;

            if (e is ArgumentException || e is ArgumentNullException)
            {
                statusCode = StatusCodes.Status400BadRequest;
            }
            //else if (e is Transaction.Framework.Exceptions.TransactionException)
            //{
            //    statusCode = StatusCodes.Status422UnprocessableEntity;
            //}
            else
            {
                statusCode     = StatusCodes.Status500InternalServerError;
                result.Message = "Unknown error, please contact the system admin";
            }

            _logger.LogError(e, e.Message);

            var response = JsonConvert.SerializeObject(result, Formatting.Indented,
                                                       new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore
            });

            context.Response.StatusCode = statusCode;
            await context.Response.WriteAsync(response);
        }
コード例 #2
0
        public async Task <bool> ChangeArticleModel(ArticleResultModel model)
        {
            var models = await _articleRepository.GetModelAsync(x => x.Type == model.Id);

            models.Title   = model.Title;
            models.Content = model.Content;
            var result = await _articleRepository.Modify(models);

            if (result > 0)
            {
                return(true);
            }
            return(false);
        }
コード例 #3
0
        public HttpResponseMessage Get()
        {
            var articleResultModel = new ArticleResultModel()
            {
                Data   = new List <ArticleModel>(),
                Errors = new List <string>()
            };

            _articles.ForEach(a =>
            {
                articleResultModel.Data.Add(a);
            });

            var result = new Return <ArticleResultModel>().OK().WithResult(articleResultModel);

            var statusCode = (HttpStatusCode)Enum.Parse(typeof(HttpStatusCode), result.StatusDetail.ToString());

            return(Request.CreateResponse(statusCode, result));
        }