public ActionResult TrainSearch(long?statusId, DateTime?startTime, DateTime?endTime, string keyWord, int pageIndex = 1) { TrainSearchResult result = trainService.Search(statusId, startTime, endTime, keyWord, (pageIndex - 1) * 20, 20); TrainListViewModel model = new TrainListViewModel(); model.Trains = result.Trains; //分页 Pagination pager = new Pagination(); pager.PageIndex = pageIndex; pager.PageSize = 20; pager.TotalCount = result.TotalCount; if (result.TotalCount <= 20) { model.Page = ""; } else { model.Page = pager.GetPagerHtml(); } return(Json(new AjaxResult { Status = "1", Data = model })); }
public TrainSearchResult Search(long?statusId, DateTime?startTime, DateTime?endTime, string keyWord, int currentIndex, int pageSize) { using (MyDbContext dbc = new MyDbContext()) { TrainSearchResult result = new TrainSearchResult(); CommonService <TrainEntity> cs = new CommonService <TrainEntity>(dbc); foreach (var train in cs.GetAll()) { if (train.StartTime > DateTime.Now) { train.StatusId = 34; } else if (train.StartTime <= DateTime.Now && train.EndTime >= DateTime.Now) { train.StatusId = 35; } else if (train.EndTime < DateTime.Now) { train.StatusId = 36; } } dbc.SaveChanges(); var trains = cs.GetAll().Include(t => t.Status).Include(t => t.Entries); if (statusId != null) { trains = trains.Where(t => t.StatusId == statusId); } if (startTime != null) { trains = trains.Where(t => t.CreateDateTime > startTime); } if (endTime != null) { trains = trains.Where(t => t.CreateDateTime < endTime); } if (!string.IsNullOrEmpty(keyWord)) { trains = trains.Where(t => t.Title.Contains(keyWord)); } result.TotalCount = trains.LongCount(); result.Trains = trains.OrderByDescending(t => t.CreateDateTime).Skip(currentIndex).Take(pageSize).ToList().Select(t => ToDTO(t)).ToArray(); return(result); } }
public ActionResult List(int pageIndex = 1) { TrainSearchResult result = trainService.Search(null, null, null, null, (pageIndex - 1) * 20, 20); TrainListViewModel model = new TrainListViewModel(); model.Trains = result.Trains; //分页 Pagination pager = new Pagination(); pager.PageIndex = pageIndex; pager.PageSize = 20; pager.TotalCount = result.TotalCount; if (result.TotalCount <= 20) { model.Page = ""; } else { model.Page = pager.GetPagerHtml(); } return(View(model)); }