Beispiel #1
0
        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);
        }
Beispiel #3
0
        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);
        }