public IHttpActionResult AddNewBookToStore([FromBody] NewBook newBook) { if (!ModelState.IsValid) { return(new InvalidModelResult(Request, HttpStatusCode.BadRequest, ModelState)); } var command = new AddNewBookCommand(newBook); if (!command.IsValidCommand()) { return(BadRequest()); } _addNewBookToStoreUseCase.Handle(command); var query = new GetBookQuery(newBook.Isbn); var result = _getBookInfoWithDetailsUseCase.Handle(query); if (result != null) { return(Created(result.Links.First(x => x.Rel == "self").Href, result)); } return(NotFound()); }
public async Task <Guid> AddBook([FromBody] AddNewBookCommand command) { return(await _mediator.Send(command)); }