Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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());
        }