示例#1
0
        public async Task <FileDto> GetOrderDetailToExcel(GetOrderDetailInput input)
        {
            var userid   = AbpSession.UserId.Value;
            var entities = await _orderDetailRepository.GetAll()
                           .WhereIf(userid != 1, m => m.UserId == userid)
                           .WhereIf(!string.IsNullOrEmpty(input.IdCard), m => m.IdCard == input.IdCard)
                           .WhereIf(!string.IsNullOrEmpty(input.OrderNum), m => m.OrderNum == input.OrderNum)
                           .WhereIf(!string.IsNullOrEmpty(input.Status), m => m.Status == input.Status)
                           .WhereIf(input.IsApiData.HasValue, m => m.IsApiData == input.IsApiData)
                           .WhereIf(!string.IsNullOrEmpty(input.RealName), m => m.RealName == input.RealName)
                           .ToListAsync();

            var dtos    = entities.MapTo <List <OrderDetailListDto> >();
            var fileDto = _orderDetailListExcelExporter.ExportOrderDetailToFile(dtos);

            return(fileDto);
        }
示例#2
0
        /// <summary>
        /// 根据查询条件获取订单明细表分页列表
        /// </summary>
        public async Task <PagedResultDto <OrderDetailListDto> > GetPagedOrderDetailsAsync(GetOrderDetailInput input)
        {
            var userid = AbpSession.UserId.Value;
            var query  = _orderDetailRepositoryAsNoTrack.Include(m => m.User)
                         .WhereIf(userid != 1, m => m.UserId == userid)
                         .WhereIf(!string.IsNullOrEmpty(input.IdCard), m => m.IdCard == input.IdCard)
                         .WhereIf(!string.IsNullOrEmpty(input.OrderNum), m => m.OrderNum == input.OrderNum)
                         .WhereIf(!string.IsNullOrEmpty(input.Status), m => m.Status == input.Status)
                         .WhereIf(input.IsApiData.HasValue, m => m.IsApiData == input.IsApiData)
                         .WhereIf(!string.IsNullOrEmpty(input.RealName), m => m.RealName == input.RealName);
            //TODO:根据传入的参数添加过滤条件
            var orderDetailCount = await query.CountAsync();

            var orderDetails = await query
                               .OrderBy(input.Sorting)
                               .PageBy(input)
                               .ToListAsync();

            var orderDetailListDtos = orderDetails.MapTo <List <OrderDetailListDto> >();

            return(new PagedResultDto <OrderDetailListDto>(
                       orderDetailCount,
                       orderDetailListDtos
                       ));
        }