private void SearchOrders(CompanyOrderSearchViewModel model) { try { using (UnitOfWorkManager.NewUnitOfWork()) { var companies = _companyService.GetAll(); model.CompanyList.Add(new SelectListItem { Text = "所有", Value = "" }); foreach (var item in companies) { model.CompanyList.Add(new SelectListItem { Text = item.CompanyName, Value = item.Id.ToString() }); } Guid?companyId = model.SelectedCompanyId; var searchModel = new CompanyOrderSearchModel { PageIndex = model.PageIndex, CompanyId = companyId, MinBookTime = model.MinSearchTime, MaxBookTime = model.MaxSearchTime, }; model.CompanyOrders = _companyOrderService.Search(searchModel); } } catch (Exception ex) { ErrorNotification(ex); } }
public IPagedList <CompanyOrder> Search(CompanyOrderSearchModel searchModel) { var query = _context.CompanyOrder .Where(x => (searchModel.CompanyId == null || searchModel.CompanyId == x.Company.Id) && (searchModel.CreatedStartTime == null || x.CreatedDate >= searchModel.CreatedStartTime) && (searchModel.CreatedEndTime == null || x.CreatedDate <= searchModel.CreatedEndTime) && (searchModel.MinBookTime == null || x.SubOrders.Where(s => s.StartDate >= searchModel.MinBookTime).Count() > 0) && (searchModel.MaxBookTime == null || x.SubOrders.Where(s => s.EndDate <= searchModel.MaxBookTime).Count() > 0) ) .OrderByDescending(x => x.CreatedDate); var count = query.Count(); var result = query.Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize).ToList(); return(new PagedList <CompanyOrder>(result, searchModel.PageIndex, searchModel.PageSize, count)); }
public IPagedList <CompanyOrder> Search(CompanyOrderSearchModel searchModel) { return(_companyOrderRepository.Search(searchModel)); }