Пример #1
0
        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);
            }
        }
Пример #2
0
 public async Task <(IReadOnlyCollection <Partner> partners, int totalSize)> GetAsync(PartnerListRequestDto model)
 {
     return(await _partnerRepository.GetAsync(model));
 }