public ActionResult AddABook([FromBody] PostBookRequest request) { if (ModelState.IsValid) { var response = new GetBookResponse(request.Title, request.Author, request.NumberOfPages, new Random().Next(300, 1545)); return(Ok(response)); } else { return(BadRequest(ModelState)); } }
public async Task <ActionResult <GetBookResponse> > GetBook([FromRoute] GetBookRequest request) { var book = await _bookRepository.GetBook(request.Id.ToString()); if (book is null) { return(NotFound(new NotFoundMessage("Book not found"))); } var bookResource = _mapper.Map <Book, BookResource>(book); var response = new GetBookResponse(bookResource, StatusCodes.Status200OK); return(Ok(response)); }
void HandleAddToBookListResponse(GetBookResponse response) { if (getBookSource == "return") { returnBooks.Invoke(new Action(() => { returnBooks.HandleAddToBookListResponse(response.Payload); })); } if (getBookSource == "checkout") { checkOut.Invoke(new Action(() => { checkOut.HandleAddToCartResponse(response.Payload); })); } }
public async Task <ActionResult <GetBookResponse> > GetAllBooks([FromQuery] string genre = "all") { var result = _context.Books .Where(x => x.RemovedFromInventory == false); if (genre != "all") { result = result.Where(b => b.Genre == genre); } var response = new GetBookResponse { Genre = genre, Data = await result.ProjectTo <GetBooksResponseItem>(_config).ToListAsync(), Count = result.Count() }; return(Ok(response)); }
protected override async Task <GetBookResponse> GetBookAsync(GetBookRequest request) { var r = new GetBookResponse { BookData = request.NeedDetail ? new BookDataDetailed() : new BookDataBrief() }; var bookPage = await GetDoc(new Uri($"/book/{request.BookKey}", UriKind.Relative)); parseBookMeta(r.BookData, bookPage); parseBookPage(r.BookData, bookPage); if (r.BookData is BookDataDetailed detailed) { var chapsPage1 = await GetDoc(new Uri($"/read/{request.BookKey}", UriKind.Relative)); var pc = parseReadPage(detailed, chapsPage1); for (var i = 1; i < pc; i++) { var chapsPage = await GetDoc(new Uri($"/read/{request.BookKey}/{i + 1}", UriKind.Relative)); parseReadPage(detailed, chapsPage); } } return(r); }