protected override async Task <DetailsViewModel> ProcessAsync(DetailsQuery query) { var response = await ErrorSafe .WithLogger(logger) .ExecuteAsync(() => restClient.For( UrlBuilder.Host(settings.Value.BaseUrl).Route($"books/{query.Id}") ).AcceptJson() .Timeout(1000) .RetryOnFailure(2) .GetAsync <BookDetailsDto>()); var dto = response.Value?.Output; if (dto == null) { return(null); } return(new DetailsViewModel { Id = dto.Id, Title = dto.Title, Author = dto.Author, Image = dto.Image, Price = dto.Price, Details = dto.Description, ISBN = dto.ISBN, Category = dto.Category }); }
public async Task HandleAsync(HomePageRequestedEvent eEvent) { var response = await ErrorSafe.WithLogger(logger) .ExecuteAsync(() => restClient.For($"{settings.Value.BaseUrl}/books/latest") .AcceptJson() .Timeout(1000) .RetryOnFailure(2) .GetAsync <IEnumerable <BookDto> >()); provider.Set(response.Value?.Output); }
public async Task HandleAsync(SearchPageRequestedEvent eEvent) { var response = await ErrorSafe.WithLogger(logger) .ExecuteAsync(() => restClient.For(UrlBuilder.Host(settings.Value.BaseUrl).Route("/books/list/{0}", eEvent.Category)) .AcceptJson() .Timeout(1000) .RetryOnFailure(2) .GetAsync <IEnumerable <BookDto> >()); provider.Set(response.Value?.Output); }
public async Task HandleAsync(T eEvent) { if (eEvent is IDontRequireCart) { return; } var result = await ErrorSafe.WithLogger(logger).ExecuteAsync(() => restClient .For($"{settings.Value.BaseUrl}/cart/{0}", "userid") .Timeout(1000) .GetAsync <IEnumerable <CartItemDto> >()); provider.Set(new CartDto(result.Value?.Output)); }
public Task HandleAsync(T eEvent) { if (!(eEvent is IRequireSavedItems)) { return(Task.FromResult(0)); } return(ErrorSafe.WithLogger(logger).ExecuteAsync(async() => { var response = await restClient.For($"{settings.Value.BaseUrl}/books/{0}/saved", "currentuserid") .GetAsync <IEnumerable <string> >(); provider.Set(response.Output); })); }
public async Task HandleAsync(T eEvent) { if (!(eEvent is IRequireCategoryMenu)) { return; } var response = await ErrorSafe.WithLogger(logger) .ExecuteAsync(() => restClient.For($"{settings.Value.BaseUrl}/categories") .AcceptJson() .RetryOnFailure(2) .Timeout(1000) .GetAsync <IEnumerable <CategoryDto> >()); context.Set(response.Value?.Output); }
public async Task HandleAsync(T eEvent) { if (!(eEvent is BookWorm.Web.Features.Shared.Events.IPageRequestedEvent)) { return; } var response = await ErrorSafe.WithLogger(logger) .ExecuteAsync(() => restClient.For($"{settings.Value.BaseUrl}/users/{0}", "dummyid") .AcceptJson() .RetryOnFailure(2) .Timeout(1000) .GetAsync <UserDto>()); context.Set(response.Value?.Output); }