public MyShowsResponse <List <Show> > TopRatedShows(RateFilter filter) { RestRequest request = new RestRequest(Methods.TopRatedShows); request.AddParameter(Methods.Params.Gender, RateFilterParams.ToString(filter), ParameterType.UrlSegment); return(Execute <List <Show> >(request)); }
public async Task <PagedCollection <GetRateDto> > GetListByFilterParamsAsync(RateFilterParams filterParams, CancellationToken ct = default) { Logger.LogInformation("Get list of ratings by filterParams={@FilterParams}", filterParams); var dbResult = await UnitOfWork.RateRepository.GetByFilterParamsAsync(filterParams, ct); var ratings = Mapper.Map <ICollection <GetRateDto> >(dbResult.Items).ToImmutableList(); return(new PagedCollection <GetRateDto>(ratings, dbResult.TotalCount)); }
public async Task <PagedCollection <RateBase> > GetByFilterParamsAsync(RateFilterParams filterParams, CancellationToken ct) { var query = DbSet.Where(q => q.GameId == filterParams.GameId) .Include(t => t.Account) .OrderByDescending(q => q.CreatedAt) .AsNoTracking() .AsQueryable(); int totalCount = await query.CountAsync(ct); var rates = await query .Skip(filterParams.PageSize *(filterParams.PageNumber - 1)) .Take(filterParams.PageSize) .ToListAsync(ct); return(new PagedCollection <RateBase>(rates.ToImmutableList(), totalCount)); }
protected override async Task <PagedCollection <GetRateDto> > ExecuteAsync(GetRateListQuery request, CancellationToken ct) { RateFilterParams filterParams = _mapper.Map <RateFilterParams>(request); return(await _accountService.GetListByFilterParamsAsync(filterParams, ct)); }