public JsonResult FindAllOrderSearch(AllOrderSearch allOrderSearch, int Page, int Rows)
        {
            PagedList <ResponseConsoOrder> pageList = null;

            CommunicateManager.Invoke <IConsoOrderService>(p => pageList = p.FindConsoAllOrder(allOrderSearch, Page, Rows));
            return(Json(new { total = pageList.Total, rows = pageList.Rows }, JsonRequestBehavior.DenyGet));
        }
Beispiel #2
0
        public PagedList <ResponseConsoOrder> FindConsoAllOrder(AllOrderSearch allOrderSearch, int Page, int Rows)
        {
            string code  = AuthManager.GetCurrentUser().Code;
            var    query = this.orderRepository.FindAllNoTracking(p => (p.CarrierCode.Equals(code) || p.Policy.CarrierCode.Equals(code) || p.Policy.Code.Equals(code)));// && p.OrderStatus != EnumOrderStatus.WaitChoosePolicy && p.OrderStatus != EnumOrderStatus.Invalid && p.OrderStatus != EnumOrderStatus.OrderCanceled

            if (!string.IsNullOrWhiteSpace(allOrderSearch.OrderID))
            {
                query = query.Where(p => p.OrderId.Equals(allOrderSearch.OrderID.Trim()));
            }
            if (!string.IsNullOrWhiteSpace(allOrderSearch.PNR))
            {
                query = query.Where(p => p.PnrCode.Equals(allOrderSearch.PNR.Trim()));
            }
            if (!string.IsNullOrWhiteSpace(allOrderSearch.PassengerName))
            {
                query = query.Where(p => p.Passengers.Any(x => x.PassengerName.Equals(allOrderSearch.PassengerName.Trim())));
            }
            if (!string.IsNullOrWhiteSpace(allOrderSearch.TicketNum))
            {
                query = query.Where(p => p.Passengers.Any(x => x.TicketNumber.Equals(allOrderSearch.TicketNum.Trim())));
            }
            if (!string.IsNullOrWhiteSpace(allOrderSearch.BusinessmanCode))
            {
                query = query.Where(p => p.BusinessmanCode.Equals(allOrderSearch.BusinessmanCode.Trim()));
            }
            if (!string.IsNullOrWhiteSpace(allOrderSearch.PaySerialNumber))
            {
                query = query.Where(p => p.OrderPay.PaySerialNumber.Equals(allOrderSearch.PaySerialNumber.Trim()));
            }
            if (!string.IsNullOrWhiteSpace(allOrderSearch.CarrayCode))
            {
                query = query.Where(p => p.SkyWays.Any(x => x.CarrayCode.Equals(allOrderSearch.CarrayCode.Trim())));
            }
            if (allOrderSearch.OrderStatus.HasValue)
            {
                query = query.Where(p => p.OrderStatus == allOrderSearch.OrderStatus.Value);
            }
            if (!string.IsNullOrEmpty(allOrderSearch.PolicyType))
            {
                query = query.Where(p => p.Policy.PolicyType == allOrderSearch.PolicyType);
            }
            if (allOrderSearch.PolicysSourceType.HasValue)
            {
                query = query.Where(p => p.Policy.PolicySourceType == allOrderSearch.PolicysSourceType.Value);
            }
            List <Order> orderList = query.OrderByDescending(p => p.CreateTime).Skip((Page - 1) * Rows).Take(Rows).ToList();

            return(new PagedList <ResponseConsoOrder>()
            {
                Total = query.Count(),
                Rows = AutoMapper.Mapper.Map <List <Order>, List <ResponseConsoOrder> >(orderList)
            });
        }