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)); }
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()); }