public async Task <PagedCollections <Fuel> > GetNumberItems(Func <Fuel, bool> predicate, int page = 1, string sort = "", int pageSize = 18) { IEnumerable <Fuel> fuels; using (var toplivoContext = new ToplivoContext()) { fuels = await Task.FromResult(toplivoContext.Fuels.SqlQuery("Select * from Fuels").ToList()); } //var fuels = await _fuelRepository.GetAllAsync(); fuels = fuels.Where(predicate).OrderBy(o => o.FuelType); int totalitems = fuels.Count(); //int totalitems = fuels.Where(predicate).Count(); if ((int)Math.Ceiling((decimal)totalitems / pageSize) < page) { page = 1; } ; if (page != 0) { fuels = fuels.Skip((page - 1) * pageSize).Take(pageSize); } ; PageInfo pageInfo = new PageInfo { PageNumber = page, PageSize = pageSize, TotalItems = totalitems }; PagedCollections <Fuel> viewtanks = new PagedCollections <Fuel> { PageInfo = pageInfo, PagedItems = fuels }; return(viewtanks); }
public async Task <PagedCollections <Operation> > GetNumberItems(Func <Operation, bool> predicate, int page = 1, string sort = "", int pageSize = 18) { var operations = await GetAllAsync(); operations = operations.Where(predicate); int totalitems = operations.Count(); if ((int)Math.Ceiling((decimal)totalitems / pageSize) < page) { page = 1; } ; if (page != 0) { operations = operations.Skip((page - 1) * pageSize).Take(pageSize); } ; PageInfo pageInfo = new PageInfo { PageNumber = page, PageSize = pageSize, TotalItems = totalitems }; PagedCollections <Operation> viewoperations = new PagedCollections <Operation> { PageInfo = pageInfo, PagedItems = operations }; return(viewoperations); }
public async Task <PagedCollections <Tank> > GetNumberItems(Func <Tank, bool> predicate, int page = 1, string sort = "", int pageSize = 18) { var tanks = await _tankRepository.GetAllAsync(); int totalitems = tanks.Where(predicate).Count(); if ((int)Math.Ceiling((decimal)totalitems / pageSize) < page) { page = 1; } ; switch (sort) { case "TankType": tanks = tanks.Where(predicate).OrderByDescending(s => s.TankType).Skip((page - 1) * pageSize).Take(pageSize); break; case "TankMaterial": tanks = tanks.Where(predicate).OrderBy(s => s.TankMaterial).Skip((page - 1) * pageSize).Take(pageSize); break; case "TankMaterial_desc": tanks = tanks.Where(predicate).OrderByDescending(s => s.TankMaterial).Skip((page - 1) * pageSize).Take(pageSize); break; default: tanks = tanks.Where(predicate).OrderBy(s => s.TankType).Skip((page - 1) * pageSize).Take(pageSize); break; } PageInfo pageInfo = new PageInfo { PageNumber = page, PageSize = pageSize, TotalItems = totalitems }; PagedCollections <Tank> viewtanks = new PagedCollections <Tank> { PageInfo = pageInfo, PagedItems = tanks }; return(viewtanks); }