public IEnumerable <Product> GetPaginatedEntities(QueryOptions queryOptions) { using (CoreContext entityContext = new CoreContext()) { var query = from a in entityContext.ProductSet select a; query = (queryOptions.FilterFieldType == "string") ? query.Where(p => p.Code.Contains(queryOptions.FilterOption) || p.Name.Contains(queryOptions.FilterOption) || p.AssetGL.Contains(queryOptions.FilterOption) || p.LiabilityGL.Contains(queryOptions.FilterOption) || p.IncomeGL.Contains(queryOptions.FilterOption) || p.ExpenseGL.Contains(queryOptions.FilterOption) ) : query.Where(queryOptions.FilterField + " = " + queryOptions.FilterOption); var queryArray = query.OrderBy(queryOptions.Sort) .Skip( QueryOptionsCalculator.CalculateStart(queryOptions) ).Take(queryOptions.PageSize) .ToList(); return(queryArray); } }
// GET: FuelReceipts public async Task <ActionResult> Index(int?id, [Form] TableQueryOptions queryOptions, string searchString) { ViewBag.QueryOptions = queryOptions; var start = QueryOptionsCalculator.CalculateStartPage(queryOptions); ViewBag.CarId = id; if (id != null) { var results = await dbReceipt.GetAll(); var resultsCar = await dbCar.Get(id.GetValueOrDefault()); ViewBag.CarName = $"{resultsCar.CarProducer} {resultsCar.CarModel}"; ViewBag.NumberOfEntries = results.Count(); var receiptViewModels = results.Where(m => m.FueledCarId == id).Select(vm => vm.ToViewModel()).AsQueryable <FuelReceiptViewModel>(); ViewBag.NumberOfEntries = receiptViewModels.Count(); if (!String.IsNullOrEmpty(searchString)) { searchString = searchString.ToUpper(); receiptViewModels = receiptViewModels.Where(r => r.RefuelingDate.ToString().Contains(searchString) || r.PetrolStationName.ToUpper().Contains(searchString) || r.FuelPrice.ToString().Contains(searchString) || r.FuelAmount.ToString().Contains(searchString) || r.FuelConsumption.ToString().Contains(searchString) || r.PriceFor100km.ToString().Contains(searchString)); } queryOptions.TotalPages = QueryOptionsCalculator.CalculateTotalPages(receiptViewModels.Count(), queryOptions.PageSize); return(View(receiptViewModels.OrderBy(queryOptions.Sort).Skip(start).Take(queryOptions.PageSize).ToList())); } return(RedirectToAction("Index", "Cars")); }
public List <Author> Get(QueryOptions queryOptions) { var start = QueryOptionsCalculator.ClaculateStart(queryOptions); var authors = db.Authors.OrderBy(queryOptions.Sort).Skip(start).Take(queryOptions.PageSize); queryOptions.TotalPages = QueryOptionsCalculator.CaclulateTotalPages( db.Authors.Count(), queryOptions.PageSize); return(authors.ToList()); }
public List <Author> Get(QueryOptions queryOptions) { var start = QueryOptionsCalculator.CalculateStart(queryOptions); var authors = db.Authors .OrderBy(queryOptions.Sort) .Skip(start) .Take(queryOptions.PageSize); queryOptions.TotalPages = (int)Math.Ceiling((double)db.Authors.Count() / queryOptions.PageSize); return(authors.ToList()); }
public List <Author> Get(QueryOptions queryOptions) { //1 获得起始页码 var start = QueryOptionsCalculator.CalculateStart(queryOptions); //2 获得作者集合 var authors = db.Authors. OrderBy(queryOptions.Sort). Skip(start). Take(queryOptions.PageSize); //3 获得总页码 queryOptions.TotalPages = QueryOptionsCalculator.CalculateTotalPages(db.Authors.Count(), queryOptions.PageSize); return(authors.ToList()); }
public async Task <ActionResult> Logs([Form] TableQueryOptions queryOptions, string searchString) { ViewBag.QueryOptions = queryOptions; var start = QueryOptionsCalculator.CalculateStartPage(queryOptions); var logsModel = await _db.GetUsersData(); ViewBag.NumberOfEntries = logsModel.Count(); if (!String.IsNullOrEmpty(searchString)) { searchString = searchString.ToUpper(); logsModel = logsModel.Where(l => l.UserName.ToUpper().Contains(searchString) || l.LogTime.ToString().Contains(searchString) || l.LogMessage.ToUpper().Contains(searchString)); } queryOptions.TotalPages = QueryOptionsCalculator.CalculateTotalPages(logsModel.Count(), queryOptions.PageSize); return(View(logsModel.OrderBy(queryOptions.Sort).Skip(start).Take(queryOptions.PageSize).ToList())); }
public HttpResponseMessage GetAvailableProducts(HttpRequestMessage request, [FromUri] QueryOptions queryOptions) { return(GetHttpResponse(request, () => { if (string.IsNullOrEmpty(queryOptions.SortField)) { queryOptions.SortField = "Code"; } if (queryOptions.init) { queryOptions.init = false; queryOptions.CurrentPage = 1; if (!string.IsNullOrEmpty(queryOptions.FilterField)) { Double output; Double.TryParse(queryOptions.FilterOption, out output); if (queryOptions.FilterFieldType == "string") { queryOptions.TotalRecords = _CoreService.GetTotalRecordsCount("cor_product", queryOptions.FilterField, queryOptions.FilterOption, null); } else { queryOptions.TotalRecords = _CoreService.GetTotalRecordsCount("cor_product", queryOptions.FilterField, queryOptions.FilterOption, output); } } else { queryOptions.TotalRecords = _CoreService.GetTotalRecordsCountProduct("cor_product", queryOptions.FilterOption); } queryOptions.TotalPages = QueryOptionsCalculator.CalculateTotalPages((UInt64)queryOptions.TotalRecords, queryOptions.PageSize); } if (queryOptions.TotalPages > 0 && queryOptions.TotalPages < (UInt64)queryOptions.CurrentPage) { queryOptions.CurrentPage = (int)queryOptions.TotalPages; } Product[] Product = _CoreService.GetAvailableProduct(queryOptions); queryOptions.DisplayedRows = Product.Count(); ResultData <Product> ResultData = new ResultData <Product>(Product.ToList(), queryOptions); return request.CreateResponse <ResultData <Product> >(HttpStatusCode.OK, ResultData); })); }
public async Task <ActionResult> Index([Form] TableQueryOptions queryOptions, string searchString) { ViewBag.QueryOptions = queryOptions; var start = QueryOptionsCalculator.CalculateStartPage(queryOptions); var model = await db.GetAll(); ViewBag.NumberOfEntries = model.Count(); var viewModels = model.Select(m => m.ToViewModel()); if (!String.IsNullOrEmpty(searchString)) { searchString = searchString.ToUpper(); viewModels = viewModels.Where(c => c.CarModel.ToUpper().Contains(searchString) || c.CarProducer.ToUpper().Contains(searchString) || c.CarProductionYear.ToString().Contains(searchString) || c.LpgInstallationModel.ToUpper().Contains(searchString) || c.LpgInstallationProducer.ToUpper().Contains(searchString)); } queryOptions.TotalPages = QueryOptionsCalculator.CalculateTotalPages(viewModels.Count(), queryOptions.PageSize); return(View(viewModels.OrderBy(queryOptions.Sort).Skip(start).Take(queryOptions.PageSize).ToList())); }
public List <Book> Get(QueryOptions queryOptions) { // First time will be Id if (queryOptions.SortField == "Id") { queryOptions.SortField = "Title"; } var start = QueryOptionsCalculator.CalculateStart(queryOptions); var books = db.Book. OrderBy(queryOptions.Sort). Skip(start). Take(queryOptions.PageSize); queryOptions.TotalPages = QueryOptionsCalculator.CalculateTotalPages(db.Book.Count(), queryOptions.PageSize); return(books.ToList()); }
public List <Author> Get(QueryOptions queryOptions, int bookId = 0) { // First time will be Id if (queryOptions.SortField == "Id") { queryOptions.SortField = "LastName"; } var start = QueryOptionsCalculator.CalculateStart(queryOptions); if (bookId == 0) { var authors = db.Author. OrderBy(queryOptions.Sort). Skip(start). Take(queryOptions.PageSize); queryOptions.TotalPages = QueryOptionsCalculator.CalculateTotalPages(db.Author.Count(), queryOptions.PageSize); return(authors.ToList()); } else { var authors = (from a in db.Author join b in db.BookAuthor on a.Id equals b.AuthorId where b.BookId == bookId select a). OrderBy(queryOptions.Sort); queryOptions.TotalPages = 1; return(authors.ToList()); } }