示例#1
0
        public async Task <IActionResult> PostAsync([FromBody] SaveArticleResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var authorResult = await userService.GetAsync(resource.AuthorName);

            if (!authorResult.Success)
            {
                return(BadRequest(authorResult.Message));
            }

            var author  = mapper.Map <User, AuthorResource>(authorResult.User);
            var article = mapper.Map <AuthorResource, Article>(author);

            mapper.Map(resource, article);

            var result = await articleService.SaveAsync(article);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var articleContentResource = mapper.Map <Article, ArticleContentResource>(result.Article);

            return(Ok(articleContentResource));
        }
示例#2
0
        //  [Authorize]
        public async Task <IActionResult> UpdateArticle(int id, [FromBody] SaveArticleResource articleResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var article = await repository.GetArticle(id);

            if (article == null)
            {
                return(NotFound());
            }

            mapper.Map <SaveArticleResource, Article>(articleResource, article);
            article.LastUpdate = DateTime.Now;

            // context.Articles.Add(article);
            await unitOfWork.CompleteAsync();

            var result = mapper.Map <Article, ArticleResource>(article);

            return(Ok(result));
        }
示例#3
0
        // [Authorize]
        public async Task <IActionResult> CreateArticle([FromBody] SaveArticleResource articleResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }



            var article = mapper.Map <SaveArticleResource, Article>(articleResource);

            article.LastUpdate = DateTime.Now;

            repository.Add(article);
            await unitOfWork.CompleteAsync();



            article = await repository.GetArticle(article.Id);

            var result = mapper.Map <Article, ArticleResource>(article);

            return(Ok(result));
        }