Esempio n. 1
0
        public PageResult <SaleRmaDto> GetAll(string orderNo, string saleOrderNo, string payType, string rmaNo, DateTime startTime, DateTime endTime,
                                              int?rmaStatus, int?storeId, EnumReturnGoodsStatus returnGoodsStatus, int pageIndex, int pageSize)
        {
            using (var db = new YintaiHZhouContext())
            {
                var query =
                    db.OPC_RMAs.Where(
                        t =>
                        t.CreatedDate >= startTime && t.CreatedDate < endTime &&
                        CurrentUser.StoreIds.Contains(t.StoreId));
                var query2 = db.Orders.Where(t => true).Join(db.OrderTransactions, o => o.OrderNo, t => t.OrderNo, (o, t) => new
                {
                    Order = o,
                    o.OrderNo,
                    Trans = t
                });
                if (!string.IsNullOrWhiteSpace(orderNo))
                {
                    query  = query.Where(t => t.OrderNo == orderNo);
                    query2 = query2.Where(t => t.OrderNo == orderNo);
                }

                if (!string.IsNullOrWhiteSpace(saleOrderNo))
                {
                    query = query.Where(t => t.SaleOrderNo == saleOrderNo);
                }

                if (!string.IsNullOrWhiteSpace(rmaNo))
                {
                    query = query.Where(t => t.RMANo == rmaNo);
                }

                if (returnGoodsStatus != EnumReturnGoodsStatus.NoProcess)
                {
                    query = query.Where(t => t.RMAStatus == (int)returnGoodsStatus);
                }
                if (rmaStatus.HasValue && rmaStatus.Value != -1)
                {
                    query = query.Where(t => t.Status == rmaStatus.Value);
                }

                if (!string.IsNullOrWhiteSpace(payType))
                {
                    query2 = query2.Where(t => t.Order.PaymentMethodCode == payType);
                }

                if (storeId.HasValue)
                {
                    query2 = query2.Where(t => t.Order.StoreId == storeId.Value);
                }

                var lst = query.Join(query2, t => t.OrderNo, o => o.OrderNo, (t, o) => new { SaleRMA = t, Orders = o }).OrderByDescending(t => t.Orders.Order.CreateDate).ToPageResult(pageIndex, pageSize);

                var lstSaleRma = lst.Result.Select(t => CreateSaleRmaDto(t.Orders.Order, t.Orders.Trans, t.SaleRMA)).ToList();
                return(new PageResult <SaleRmaDto>(lstSaleRma, lst.TotalCount));
            }
        }
Esempio n. 2
0
        public PageResult <RMADto> GetByOrderNo(string orderNo, int?rmaStatus, EnumReturnGoodsStatus returnGoodsStatus, int pageIndex, int pageSize)
        {
            var rep = (IRMARepository)_repository;

            rep.SetCurrentUser(_accountService.GetByUserID(UserId));
            var lst = rep.GetAll(orderNo, "", new DateTime(2000, 1, 1), DateTime.Now.Date.AddDays(1), rmaStatus, returnGoodsStatus, pageIndex, pageSize);

            return(lst);
        }
Esempio n. 3
0
        public PageResult <RMADto> GetAll(string orderNo, string saleOrderNo, DateTime startTime, DateTime endTime,
                                          int?rmaStatus, EnumReturnGoodsStatus returnGoodsStatus, int pageIndex, int pageSize)
        {
            using (var db = new YintaiHZhouContext())
            {
                var query = db.OPC_RMAs.AsQueryable();//.Where(t => t.CreatedDate >= startTime && t.CreatedDate < endTime);
                ;
                if (rmaStatus.HasValue && rmaStatus != -1)
                {
                    query = query.Where(t => t.Status == rmaStatus);
                }

                if (returnGoodsStatus != EnumReturnGoodsStatus.NoProcess)
                {
                    query = query.Where(t => t.RMAStatus == (int)returnGoodsStatus);
                }

                if (orderNo.IsNotNull())
                {
                    query = query.Where(t => t.OrderNo == orderNo);
                }
                if (saleOrderNo.IsNotNull())
                {
                    query = query.Where(t => t.SaleOrderNo == saleOrderNo);
                }

                var lst2 = query
                           .Join(db.Stores.Where(t => t.CreatedDate > _benchTime), t => t.StoreId, o => o.Id,
                                 (t, o) => new { Rma = t, StoreName = o.Name })
                           .Join(db.OPC_Sales, t => t.Rma.SaleOrderNo, o => o.SaleOrderNo,
                                 (t, o) => new { t.Rma, t.StoreName, Sale = o })
                           .Join(db.Orders.Where(t => t.CreateDate >= startTime && t.CreateDate < endTime), t => t.Rma.OrderNo, o => o.OrderNo,
                                 (t, o) =>
                                 new
                {
                    t.Rma,
                    t.StoreName,
                    t.Sale,
                    payType = o.PaymentMethodName,
                    buyDate = o.CreateDate
                }).Join(db.Sections.Where(s => s.CreateDate > _benchTime), x => x.Rma.SectionId, s => s.Id, (x, s) => new { x.Rma, x.StoreName, x.Sale, x.payType, s.SectionCode, x.buyDate, SectionName = s.Name })
                           .OrderByDescending(t => t.Rma.CreatedDate);

                var lst        = lst2.ToPageResult(pageIndex, pageSize);
                var lstSaleRma = lst.Result.Select(t => CreateRMADto(t)).ToList();

                return(new PageResult <RMADto>(lstSaleRma, lst.TotalCount));
            }
        }
Esempio n. 4
0
        public PageResult <Order> GetBySaleRma(ReturnGoodsInfoRequest request, int?rmaStatus, EnumReturnGoodsStatus returnGoodsStatus)
        {
            using (var db = new YintaiHZhouContext())
            {
                var filter2 = db.OPC_RMAs.Where(t => t.CreatedDate >= request.StartDate && t.CreatedDate < request.EndDate && t.RMAStatus == (int)returnGoodsStatus);

                if (rmaStatus.HasValue)
                {
                    filter2 = filter2.Where(t => t.Status == rmaStatus.Value);
                }

                var filter = db.Orders.Where(t => true);

                if (CurrentUser != null)
                {
                    filter = filter.Where(t => CurrentUser.StoreIds.Contains(t.StoreId));
                }

                if (request.OrderNo.IsNotNull())
                {
                    filter = filter.Where(t => t.OrderNo.Contains(request.OrderNo));
                }
                if (request.PayType.IsNotNull())
                {
                    filter = filter.Where(t => t.PaymentMethodCode == request.PayType);
                }
                if (request.SaleOrderNo.IsNotNull())
                {
                    filter = filter.Join(db.OPC_Sales.Where(t => t.SaleOrderNo.Contains(request.SaleOrderNo)),
                                         t => t.OrderNo, o => o.OrderNo, (t, o) => t);
                }


                if (request.RmaNo.IsNotNull())
                {
                    filter2 = filter2.Where(t => t.RMANo == request.RmaNo);
                }

                if (request.RmaStatus.HasValue)
                {
                    filter2 = filter2.Where(t => t.Status == request.RmaStatus.Value);
                }

                if (request.StoreID.HasValue)
                {
                    filter2 = filter2.Where(t => t.StoreId == request.StoreID.Value);
                }

                var orderIds = filter2.ToList().Select(t => t.OrderNo).Distinct().ToList();

                filter = filter.Where(t => orderIds.Contains(t.OrderNo)).OrderByDescending(t => t.CreateDate);

                return(filter.ToPageResult(request.pageIndex, request.pageSize));
            }
        }