예제 #1
0
        public PagedList <ResponseTicketCount> GetBuyerTicketCount(TicketCountOfBuyer ticketCountOfBuyer)
        {
            var currentUser = AuthManager.GetCurrentUser();
            var query       = this.ticketRepository.FindAllNoTracking().OfType <Ticket_Carrier>().Where(p => p.CarrierCode == currentUser.Code && p.TicketState == "出票");

            if (ticketCountOfBuyer.StartTime.HasValue)
            {
                query = query.Where(p => p.CreateDate >= ticketCountOfBuyer.StartTime.Value);
            }
            if (ticketCountOfBuyer.EndTime.HasValue)
            {
                query = query.Where(p => p.CreateDate < ticketCountOfBuyer.EndTime.Value);
            }
            if (!string.IsNullOrWhiteSpace(ticketCountOfBuyer.BusinessmanCode))
            {
                query = query.Where(p => p.Code == ticketCountOfBuyer.BusinessmanCode);
            }

            ResponseTicketCount        rticketcount = null;
            List <ResponseTicketCount> list         = new List <ResponseTicketCount>();

            foreach (var item in query.ToLookup(t => t.Code).ToList().AsParallel())
            {
                rticketcount            = new ResponseTicketCount();
                rticketcount.Code       = item.Key;
                rticketcount.TotalCount = item.Count();
                list.Add(rticketcount);
            }
            return(new PagedList <ResponseTicketCount>()
            {
                Total = list.Count(),
                Rows = list.Skip((ticketCountOfBuyer.Page - 1) * ticketCountOfBuyer.Rows).Take(ticketCountOfBuyer.Rows).ToList()
            });
        }
예제 #2
0
        public JsonResult GetTicketCount(TicketCountOfBuyer queryCond)
        {
            queryCond.EndTime = queryCond.EndTime.Value.AddHours(23).AddMinutes(59).AddSeconds(59);
            PagedList <ResponseTicketCount> list = null;

            CommunicateManager.Invoke <IConsoOrderService>(p =>
                                                           list = p.GetBuyerTicketCount(queryCond)
                                                           );
            return(Json(new { total = list.Total, rows = list.Rows }, JsonRequestBehavior.AllowGet));
        }