示例#1
0
        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());
        }
示例#2
0
 public async Task <Guid> AddBook([FromBody] AddNewBookCommand command)
 {
     return(await _mediator.Send(command));
 }