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)); } }
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); }
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)); } }
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)); } }