public IActionResult Index(OrderDetailSearchArgs args, int page = 1, int size = 20) { var pageList = _orderDetailService.searchOrder(args, page, size); var dataSource = pageList.toDataSourceResult <Entities.OrderDetail, OrderDetailSearchArgs>("OrderDetailIndex", args); return(View(dataSource)); }
public IPagedList <OrderDetail> searchOrder(OrderDetailSearchArgs args, int page, int size) { var query = _orderdetailRepository.Table; if (args != null) { if (!String.IsNullOrEmpty(args.q)) { var userList = _sysUserRepository.Entities.Where(o => o.Account == (args.q)); Entities.SysUser user = null; if (userList.Count() > 0) { user = userList.First(); } int seatNumber; Entities.LibrarySeat seat = null; bool isInt = int.TryParse(args.q, out seatNumber); if (isInt) { var seatList = _librarySeatRepository.Entities.Where(o => o.SeatNumber == seatNumber); if (seatList.Count() > 0) { seat = seatList.First(); } } ; if (user != null && seat != null) { query = query.Where(o => o.SysUserId == user.Id || o.LibrarySeatId == seat.Id); } else if (user != null) { query = query.Where(o => o.SysUserId == user.Id); } else if (seat != null) { query = query.Where(o => o.LibrarySeatId == seat.Id); } } if (args.hascheckin.HasValue) { query = query.Where(o => o.HasCheckIn == args.hascheckin); } if (args.hasend.HasValue) { query = query.Where(o => o.HasEnd == args.hasend); } } query = from e in query orderby e.CreateTime descending select e; return(new PagedList <Entities.OrderDetail>(query, page, size)); }