Example #1
0
        public ActionResult Ajax_QueryOrder()
        {
            var pageIndex = int.Parse(Request["PageIndex"]);
            var queryType = int.Parse(Request["QueryType"]);

            SOQueryInfo query = new SOQueryInfo();

            //搜索类型,默认是搜索[最近三个月的-15][14-所有订单]
            query.SearchType = queryType == 1 ?
                               SOSearchType.LastThreeMonths : SOSearchType.ALL;
            query.PagingInfo           = new PageInfo();
            query.PagingInfo.PageSize  = 5;
            query.PagingInfo.PageIndex = pageIndex;
            query.CustomerID           = CurrUser.UserSysNo;
            query.Status = null;

            QueryResult <OrderInfo> orders = CustomerFacade.GetOrderList(query);

            //如果查询类型是【三个月内】下单,则需要合并最近下单的数据
            if (query.SearchType == SOSearchType.LastThreeMonths && pageIndex == 0)
            {
                var recentOrderSysNoes = CookieHelper.GetCookie <string>("SoSysNo");
                if (!string.IsNullOrWhiteSpace(recentOrderSysNoes))
                {
                    var soSysNoes    = recentOrderSysNoes.Split(',').ToList <string>();
                    var recentOrders = CustomerFacade.GetCenterOrderMasterList(query.CustomerID, soSysNoes);
                    if (recentOrders != null && orders != null && orders.ResultList != null)
                    {
                        //排除掉orders中已经存在的数据
                        recentOrders.RemoveAll(p => orders.ResultList.Any(q => q.SoSysNo == p.SoSysNo));
                        //将最近的订单加载到orders中
                        for (var i = recentOrders.Count - 1; i >= 0; i--)
                        {
                            orders.ResultList.Insert(0, recentOrders[i]);
                        }
                    }
                }
            }
            if (orders != null)
            {
                if (orders.ResultList != null)
                {
                    for (var i = 0; i < orders.ResultList.Count; i++)
                    {
                        orders.ResultList[i] = CustomerFacade.GetCenterSODetailInfo(CurrUser.UserSysNo, orders.ResultList[i].SoSysNo);
                        orders.ResultList[i].SOItemList.ForEach(q =>
                        {
                            q.DefaultImage = ProductFacade.BuildProductImage(ImageSize.P60, q.DefaultImage);
                        });
                    }
                }
            }


            var result = new AjaxResult {
                Success = true, Data = orders
            };

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Example #2
0
        public static QueryResult <OrderInfo> GetOrderList(SOQueryInfo queryInfo, bool isCenter)
        {
            var result = CustomerDA.GetOrderList(queryInfo, isCenter);

            //处理当前会话已经作废了的订单
            var voidedOrderSysNos = GetVoidedOrderFromCurrentSession();

            if (result != null && result.ResultList != null && result.ResultList.Count > 0)
            {
                result.ResultList.ForEach(p =>
                {
                    if (voidedOrderSysNos.Any(q => q == p.SoSysNo))
                    {
                        p.Status = SOStatus.EmployeeCancel;
                    }
                });
            }

            return(result);
        }
Example #3
0
 public static QueryResult <OrderInfo> GetOrderList(SOQueryInfo queryInfo)
 {
     return(GetOrderList(queryInfo, false));
 }