Example #1
0
        /// <summary>
        /// 导出订单
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <FileDto> ExportOrders(GetHaveProductInput input)
        {
            var query         = _ordeRepository.GetAll().Where(c => c.CustomerId == input.CustomerId);
            var chargeRecords = await query
                                .ToListAsync();

            var products = await _productRepository.GetAllListAsync();

            var output = (from o in chargeRecords
                          let p = products.FirstOrDefault(c => o.ProductId == c.Id)
                                  select new OrderProductDetail()
            {
                Id = o.Id,
                Cate = o.LevelTwo,
                Count = o.Count,
                CustomerName = o.Form != null ? o.Form.CompanyName : "",
                FormId = o.FormId,
                Price = o.Price,
                ProductName = o.ProductName,
                TotalPrice = o.TotalPrice,
                OrderNum = o.OrderNum,
                CreationTime = o.CreationTime,
                State = o.State,
                ProductId = o.Id,
                RequireForm = p?.RequireForm
            }).ToList();

            return(_iexcelExporter.ExportOrderToFile(output.ToList()));
        }
Example #2
0
        /// <summary>
        /// 获取所有产品列表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PagedResultDto <OrderProductDetail> > GetHaveProducts(GetHaveProductInput input)
        {
            var query             = _ordeRepository.GetAll().Where(c => c.CustomerId == input.CustomerId);
            var chargeRecordCount = await query.CountAsync();

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

            var output = new List <OrderProductDetail>();

            if (chargeRecordCount <= 0)
            {
                return(new PagedResultDto <OrderProductDetail>(0, output));
            }
            var products = await _productRepository.GetAllListAsync();

            foreach (var o in chargeRecords)
            {
                var p   = products.FirstOrDefault(c => o.ProductId == c.Id);
                var dto = new OrderProductDetail()
                {
                    Id           = o.Id,
                    Cate         = o.LevelTwo,
                    Count        = o.Count,
                    CustomerName = o.Form?.CompanyName,
                    FormId       = o.FormId,
                    Price        = o.Price,
                    ProductName  = o.ProductName,
                    TotalPrice   = o.TotalPrice,
                    OrderNum     = o.OrderNum,
                    CreationTime = o.CreationTime,
                    State        = o.State,
                    ProductId    = o.ProductId,
                    RequireForm  = p?.RequireForm
                };
                if (o.Profile.HasValue)
                {
                    dto.Profile = Host + (await _objectManager.GetOrNullAsync(o.Profile.Value))?.Url;
                }
                output.Add(dto);
            }
            return(new PagedResultDto <OrderProductDetail>(
                       chargeRecordCount,
                       output
                       ));
        }