コード例 #1
0
        public IHttpActionResult GetOrder([FromUri] ReturnGoodsRequest request, [UserId] int uid, [UserProfile] UserProfile userProfile)
        {
            //var queryRequest = AutoMapper.Mapper.Map<ReturnGoodsRequest, RmaQueryRequest>(request);

            //return GetPagedList4RmaPagedResult(queryRequest, userProfile);
            //注意 关联 RMA 时 是LEFT JOIN
            return(DoFunction(() => _saleRmaService.GetByReturnGoods(request, uid), "查询订单失败"));
        }
コード例 #2
0
        public PageResult <SaleRmaDto> GetOrderAutoBack(ReturnGoodsRequest request)
        {
            var rep = _repository as ISaleRMARepository;

            request.StartDate = request.StartDate.Date;
            request.EndDate   = request.EndDate.Date.AddDays(1);
            return(rep.GetOrderAutoBack(request));
        }
コード例 #3
0
        public void TestGetByReturnGoods()
        {
            ReturnGoodsRequest request = new ReturnGoodsRequest();

            request.StartDate = new DateTime(2010, 1, 1);
            request.EndDate   = DateTime.Now.Date.AddDays(1);
            Service.UserId    = 1;
            var lst = Service.GetByReturnGoods(request, 1);

            AssertList <SaleRmaDto>(lst);
        }
コード例 #4
0
        public PageResult <SaleRmaDto> GetByReturnGoods(ReturnGoodsRequest request, int userId)
        {
            ISaleRMARepository rep = _repository as ISaleRMARepository;

            request.StartDate = request.StartDate.Date;
            request.EndDate   = request.EndDate.Date.AddDays(1);
            var lst = rep.GetAll(request.OrderNo, request.PayType, request.BandId, request.StartDate, request.EndDate,
                                 request.Telephone, request.pageIndex, request.pageSize);

            return(lst);
        }
コード例 #5
0
        public IHttpActionResult GetOrderAutoBack([FromUri] ReturnGoodsRequest request, [UserProfile] UserProfile userProfile)
        {
            var queryRequest = AutoMapper.Mapper.Map <ReturnGoodsRequest, RmaQueryRequest>(request);

            //start end 是购买时间
            queryRequest.BuyStartDate = queryRequest.StartDate;
            queryRequest.BuyEndDate   = queryRequest.EndDate;

            queryRequest.StartDate = null;
            queryRequest.EndDate   = null;



            return(GetPagedList4RmaPagedResult(queryRequest, userProfile));

            //return DoFunction(() => _saleRmaService.GetOrderAutoBack(request), "查询订单失败");
        }
コード例 #6
0
        public PageResult <SaleRmaDto> GetOrderAutoBack(ReturnGoodsRequest request)
        {
            CheckUser();
            using (var db = new YintaiHZhouContext())
            {
                var query = db.OPC_RMAs.Where(t => true && CurrentUser.StoreIds.Contains(t.StoreId));
//                var query2 = db.Orders.Where(t => CurrentUser.StoreIds.Contains(t.StoreId) && t.CreateDate >= request.StartDate && t.CreateDate < request.EndDate).Join(db.OrderTransactions, o => o.OrderNo, t => t.OrderNo, (o, t) => new
                var query2 = db.Orders.Where(t => t.CreateDate >= request.StartDate && t.CreateDate < request.EndDate).Join(db.OrderTransactions, o => o.OrderNo, t => t.OrderNo, (o, t) => new
                {
                    Order = o,
                    o.OrderNo,
                    Trans = t
                });
                var queryRMA = db.RMAs.Where(t => true);
                if (request.OrderNo.IsNotNull())
                {
                    query    = query.Where(t => t.OrderNo == request.OrderNo);
                    query2   = query2.Where(t => t.OrderNo == request.OrderNo);
                    queryRMA = queryRMA.Where(t => t.OrderNo == request.OrderNo);
                }

                if (request.PayType.IsNotNull())
                {
                    query2 = query2.Where(t => t.Order.PaymentMethodCode == request.PayType);
                }

                var query3 = Queryable.Join(query2, queryRMA, t => t.OrderNo, o => o.OrderNo,
                                            (t, o) => new { Order = t, RMA = o });

                var q = from t in query3
                        join o in query on t.Order.OrderNo equals o.OrderNo into cs
                        select new { SaleRMA = cs.FirstOrDefault(), Orders = t.Order, RMA = t.RMA };

                q = q.OrderByDescending(t => t.Orders.Order.CreateDate);
                var lst        = q.ToPageResult(request.pageIndex, request.pageSize);
                var lstSaleRma = lst.Result.Select(t => CreateSaleRmaDto(t.Orders.Order, t.Orders.Trans, t.SaleRMA)).ToList();
                return(new PageResult <SaleRmaDto>(lstSaleRma, lst.TotalCount));
            }
        }