public async Task <(IReadOnlyCollection <Partner> partners, int totalSize)> GetAsync(PartnerListRequestDto model) { using (var context = _msSqlContextFactory.CreateDataContext()) { IQueryable <PartnerEntity> query = context.Partners; if (model.Vertical != null) { query = query.Where(p => p.BusinessVertical == model.Vertical); } if (!string.IsNullOrEmpty(model.Name)) { query = query.Where(p => p.Name.Contains(model.Name)); } if (model.CreatedBy.HasValue && model.CreatedBy.Value != Guid.Empty) { query = query.Where(p => p.CreatedBy == model.CreatedBy.Value); } var count = await query.CountAsync(); var partners = await query .OrderByDescending(p => p.CreatedAt) .Skip((model.CurrentPage - 1) * model.PageSize) .Take(model.PageSize) .Include(p => p.Locations) .ToListAsync(); return(_mapper.Map <IReadOnlyCollection <Partner> >(partners), count); } }
public async Task <(IReadOnlyCollection <Partner> partners, int totalSize)> GetAsync(PartnerListRequestDto model) { return(await _partnerRepository.GetAsync(model)); }