public async Task <IActionResult> CreatePeriodical(int libraryId, [FromBody] PeriodicalView periodical, CancellationToken token = default(CancellationToken)) { if (!ModelState.IsValid) { return(new BadRequestObjectResult(ModelState)); } var request = new AddPeriodicalRequest(libraryId, periodical.Map()); await _commandProcessor.SendAsync(request, cancellationToken : token); var renderResult = _periodicalRenderer.Render(request.Result, libraryId); return(new CreatedResult(renderResult.Links.Self(), renderResult)); }