Beispiel #1
0
        public async Task <PagedResultDto <VipPointRecordListDto> > GetVipPointRecordList(GetVipPointRecordInput input)
        {
            var vipPointRecord = _pointRecordRepository.GetAll()
                                 .Where(u => u.VipId == input.VipId);

            var vipPointRecordCount = await vipPointRecord.CountAsync();

            var vipPointRecordList = await vipPointRecord
                                     .OrderBy(input.Sorting)
                                     .PageBy(input)
                                     .ToListAsync();

            var vipPointRecordListDto = vipPointRecordList.MapTo <List <VipPointRecordListDto> >();

            return(new PagedResultDto <VipPointRecordListDto>(
                       vipPointRecordCount,
                       vipPointRecordListDto
                       ));
        }
        public async Task <PagedResultDto <VipPointRecordListDto> > GetSendPointRecordList(GetVipPointRecordInput input)
        {
            var addMan         = AsyncHelper.RunSync(() => UserManager.GetUserByIdAsync((long)AbpSession.UserId)).Name;
            var vipPointRecord = _pointRecordRepository.GetAll()
                                 .Where(u => u.AddMan == addMan && u.AddTime >= DbFunctions.TruncateTime(DateTime.Now));

            var query = from v in vipPointRecord
                        join c in _vipRepository.GetAll() on v.VipId equals c.Id
                        select new
            {
                v,
                c = c == null ? null : new { c.Id, c.VipCode }
            };

            var vipPointRecordCount = await query.CountAsync();

            var vipPointRecordList = await query
                                     .OrderBy("v.AddTime DESC")
                                     .PageBy(input)
                                     .ToListAsync();

            var vipPointRecordListDto = vipPointRecordList.Select(s => s.v).MapTo <List <VipPointRecordListDto> >();

            vipPointRecordListDto = vipPointRecordListDto.Select(v =>
            {
                var dto     = v;
                dto.VipCode =
                    vipPointRecordList.Select(s => s.c)
                    .Where(w => w.Id == v.VipId)
                    .Select(si => si.VipCode)
                    .FirstOrDefault();
                return(dto);
            }).ToList();

            return(new PagedResultDto <VipPointRecordListDto>(
                       vipPointRecordCount,
                       vipPointRecordListDto
                       ));
        }