public override async Task <BooksReply> GetBooks(GetBooksRequest request, ServerCallContext context) { var books = await _mediator.Send(new GetBooksQuery { Title = request.Title, CategoryIds = request.CategoryIds.Count > 0 ? request.CategoryIds.Select(s => new Guid(s)).ToList() : new List <Guid> { }, LenderId = !string.IsNullOrEmpty(request.LenderId) ? new Guid(request.LenderId) : Guid.Empty, IsAvailable = request.IsAvailable }); var bookReplyList = new List <BookReply>(); foreach (var book in books.Books) { var bookReply = new BookReply { Id = book.Id.ToString(), Title = book.Title, Lender = null }; bookReply.CategoryIds.Add(book.Categories.Select(s => new CategoryReply { Id = s.Id.ToString(), Name = s.Name })); bookReplyList.Add(bookReply); } var booksReply = new BooksReply(); booksReply.Books.AddRange(bookReplyList); return(booksReply); }
public async Task <IEnumerable <BookDto> > Handle(GetBooksRequest request, CancellationToken cancellationToken) { var booksCriteria = new BooksQueryCriteria { Ids = request.Ids }; return(_mapper.Map <IEnumerable <BookDto> >(await _bookRepository.Query <Book, IEnumerable <Book>, BooksQueryCriteria>(booksCriteria))); }
public HttpResponseMessage GetBooks([FromUri] GetBooksRequest bookReq) { try { var books = _bookFactory.GetAllBooks(); var response = Request.CreateResponse(HttpStatusCode.OK); response.Content = new StringContent(JsonConvert.SerializeObject(books), System.Text.Encoding.UTF8, "application/json"); return(response); } catch (Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e)); } }
public async override Task <GetBooksReply> GetBooks(GetBooksRequest request, ServerCallContext context) { var getBooksResult = await this.mediator .Send(new GetBooks(), cancellationToken : context.CancellationToken); if (!getBooksResult.IsSuccess) { throw new RpcException(getBooksResult.ToStatus(), getBooksResult.Error?.Description); } var books = getBooksResult.Value? .ToRpcModel(); return(new GetBooksReply { Books = { books }, }); }
public GetBooksResponse GetBooks(GetBooksRequest request) { var response = new GetBooksResponse() { Request = request, ResponseToken = Guid.NewGuid() }; try { response.Books = _repository.FindAll().MapToViews(); response.Success = true; } catch (Exception ex) { response.Message = ex.Message; response.Success = false; } return(response); }
public IHttpActionResult Get() { var loggedUserId = HttpContext.Current.GetOwinContext().GetUserId(); var request = new GetBooksRequest() { RequestToken = Guid.NewGuid(), UserId = loggedUserId }; var response = _service.GetBooks(request); if (!response.Success) { return(BadRequest(response.Message)); } return(Ok( new { books = response.Books.MapToViewModels() } )); }
protected override async Task <AbstractAnswer <IEnumerable <Book> > > HandleAsync(GetBooksRequest request, CancellationToken cancellationToken) { return(CreateSuccessAnswer(await _bookQuery.InvokeAsync())); }
public async Task <IActionResult> GetBooks([FromQuery] GetBooksRequest request) => await Mediator .Send(new GetBooksQuery(request)) .ToOkResult();
public async Task <IEnumerable <BookDto> > GetAll([FromQuery] GetBooksRequest request) { return(await _bookService.GetBooks(request)); }
public async Task <IEnumerable <BookDto> > GetBooks(GetBooksRequest request) { return(await _cacheService.OptimeseWithCache(request.GetUniqueHash(), async() => await _mediator.Send(request))); }
public async Task <Result <IEnumerable <Book> > > Handle(GetBooksRequest request, CancellationToken cancellationToken) { IEnumerable <Book> books = await dbContext.Books.ToListAsync(); return(Result.Success(books)); }
public GetBooksQuery(GetBooksRequest request) : base(request, ApiRoutes.Books.Get) { Add <BookTitleParameter>(request.Title); Add <BookAuthorNameParameter>(request.Author); }