コード例 #1
0
        public async Task <IActionResult> UpdateArticle(int libraryId, int periodicalId, int volumeNumber, int issueNumber, int articleId, ArticleView chapter, CancellationToken token = default(CancellationToken))
        {
            if (!ModelState.IsValid)
            {
                return(new BadRequestObjectResult(ModelState));
            }

            var request = new UpdateArticleRequest(libraryId, periodicalId, volumeNumber, issueNumber, articleId, chapter.Map());
            await _commandProcessor.SendAsync(request, cancellationToken : token);

            var renderResult = _articleRenderer.Render(request.Result.Article, libraryId, periodicalId, volumeNumber, issueNumber);

            if (request.Result.HasAddedNew)
            {
                return(new CreatedResult(renderResult.Links.Self(), renderResult));
            }

            return(new OkObjectResult(renderResult));
        }
コード例 #2
0
        public async Task <IActionResult> CreateArticle(int libraryId, int periodicalId, int volumeNumber, int issueNumber, [FromBody] ArticleView article, CancellationToken token = default(CancellationToken))
        {
            if (!ModelState.IsValid)
            {
                return(new BadRequestObjectResult(ModelState));
            }

            var request = new AddArticleRequest(libraryId, periodicalId, volumeNumber, issueNumber, article.Map());
            await _commandProcessor.SendAsync(request, cancellationToken : token);

            if (request.Result != null)
            {
                var renderResult = _articleRenderer.Render(request.Result, libraryId, periodicalId, volumeNumber, issueNumber);
                return(new CreatedResult(renderResult.Links.Self(), renderResult));
            }

            return(new BadRequestResult());
        }