コード例 #1
0
        public async Task <PagedResultDto <UserAdvertisingDto> > GetListAsync(UserAdvertisingListInput input)
        {
            var totalCount = await _repository.GetCountAsync(input.UserId, input.CreatedAfter, input.CreatedBefore, input.ExpireAfter, input.ExpireBefore);

            var list = await _repository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount,
                                                      input.UserId, input.CreatedAfter, input.CreatedBefore, input.ExpireAfter, input.ExpireBefore);

            var itemIds = list.Select(q => q.AdvertisingItemId).ToList();
            var adItems = await _advertisingItemRepository.GetByIdsAsync(itemIds);

            var ads = ObjectMapper.Map <List <UserAdvertising>, List <UserAdvertisingDto> >(list);

            ads.ForEach(x =>
            {
                var adItem        = adItems.FirstOrDefault(x => x.Id == x.AdvertisingId);
                x.AdvertisingItem = ObjectMapper.Map <AdvertisingItem, AdvertisingItemDto>(adItem);
            });

            return(new PagedResultDto <UserAdvertisingDto>(
                       totalCount,
                       ads
                       ));
        }
コード例 #2
0
 public Task <PagedResultDto <UserAdvertisingDto> > GetListAsync(UserAdvertisingListInput input)
 {
     return(_service.GetListAsync(input));
 }