Пример #1
0
        // GET: Materials
        public async Task <IActionResult> Index([FromQuery] int page = 1)
        {
            page--;
            var cnt = _context.Materials.Count();

            return(View(new DataViewModel <Material>()
            {
                Data = _cachedService.GetMaterials().Skip(page * _pSize).Take(_pSize),
                PageCount = cnt / _pSize + (cnt % _pSize > 0 ? 1 : 0),
                CurrentPage = page
            }));
        }
        // GET: Materials
        public async Task <IActionResult> Index([FromQuery] int page = 1)
        {
            Func <Material, bool> filter = a => true;

            if (Request.Cookies.ContainsKey("MaterialFilter"))
            {
                var filterValue = Request.Cookies["MaterialFilter"].Trim().ToLower();
                if (!string.IsNullOrWhiteSpace(filterValue))
                {
                    filter = a => a.MaterialName.ToLower().Contains(filterValue) || a.MaterialType.ToLower().Contains(filterValue) || a.QuantityMaterialInStock.ToString().Contains(filterValue);
                }
            }
            page--;
            var cnt = _context.Materials.Count();

            return(View(new DataViewModel <Material>()
            {
                Data = _cachedService.GetMaterials().Where(filter).Skip(page * _pSize).Take(_pSize),
                PageCount = cnt / _pSize + (cnt % _pSize > 0 ? 1 : 0),
                CurrentPage = page
            }));
        }