public object Post([FromBody] ArticleInsertionData data)
        {
            var article = new Article();

            DataTransfer.ModifyArticle(article, data);
            var validationResults = new ArticleValidator().Validate(article);
            var errorString       = JsonConvert.SerializeObject(validationResults.Errors);
            var jsonResult        = Json(errorString);

            if (!validationResults.IsValid)
            {
                jsonResult.StatusCode = 400;
            }

            try
            {
                _articleService.Insert(article);
                jsonResult.Value += JsonConvert.SerializeObject(article);
            }
            catch (Exception ex)
            {
                return(jsonResult);
            }

            return(jsonResult);
        }
Example #2
0
        public static void ModifyArticle(Article article, ArticleInsertionData data)
        {
            article.PublicationDate = data.PublicationDate;
            article.Summary         = data.Summary;
            article.Title           = data.Title;
            article.Views           = data.Views;
            article.Author          = data.Author;
            article.IsPublished     = data.IsPublished;
            article.Category        = new CategoryRepository().Get(data.CategoryID);
            article.Body            = data.Body;

            //if (article.Title == null || article.Title.Count() == 0
            //    || article.Author == null || article.Author.Count() == 0
            //    || article.Summary == null || article.Summary.Count() == 0)
            //    throw new InvalidOperationException();
        }