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