public async Task <IActionResult> UpdateChapter(int libraryId, int bookId, int chapterNumber, [FromBody] ChapterView chapter, CancellationToken token = default(CancellationToken)) { if (!ModelState.IsValid) { return(new BadRequestObjectResult(ModelState)); } var request = new UpdateChapterRequest(libraryId, bookId, chapterNumber, chapter.Map()); await _commandProcessor.SendAsync(request, cancellationToken : token); var renderResult = _chapterRenderer.Render(request.Result.Chapter, libraryId, bookId); if (request.Result.HasAddedNew) { return(new CreatedResult(renderResult.Links.Self(), renderResult)); } return(new OkObjectResult(renderResult)); }
public async Task <IActionResult> CreateChapter(int libraryId, int bookId, [FromBody] ChapterView chapter, CancellationToken token = default(CancellationToken)) { if (!ModelState.IsValid) { return(new BadRequestObjectResult(ModelState)); } var request = new AddChapterRequest(libraryId, bookId, _userHelper.Account?.Id, chapter.Map()); await _commandProcessor.SendAsync(request, cancellationToken : token); if (request.Result != null) { var renderResult = _chapterRenderer.Render(request.Result, libraryId, bookId); return(new CreatedResult(renderResult.Links.Self(), renderResult)); } return(new BadRequestResult()); }