public async Task <PartialViewResult> DataTable(int?categoryId, string search = "", int pageNumber = 1, int take = 5)
        {
            var data = new SubCategoriesTableViewModel();

            #region Get Subcategories
            if (categoryId != null && !string.IsNullOrEmpty(search))
            {
                data = await _repository.GetDataTable(take, pageNumber, categoryId.Value, search);
            }
            else if (categoryId != null)
            {
                data = await _repository.GetDataTable(take, pageNumber, categoryId.Value);
            }
            else if (!string.IsNullOrEmpty(search))
            {
                data = await _repository.GetDataTable(take, pageNumber, search);
            }
            else
            {
                data = await _repository.GetDataTable(take, pageNumber);
            }
            #endregion

            return(PartialView(data));
        }
        public async Task <SubCategoriesTableViewModel> GetDataTable(int take, int pageNumber, int categoryId, string search)
        {
            int skip           = (pageNumber - 1) * take;
            int totalItemCount = _context.SubCategories.Where(s => s.CategoryId == categoryId && s.Title.ToLower().Contains(search.ToLower())).Count();
            var subCategories  = await _context.SubCategories.Include(s => s.Category).Where(s => s.CategoryId == categoryId && s.Title.ToLower().Contains(search.ToLower())).Skip(skip).Take(take).ToListAsync();

            var pageItemCount = subCategories.Count();
            var pagination    = Pagination.CreatePaginationData(take, pageNumber, totalItemCount, pageItemCount);

            var subCategoriesTable = new SubCategoriesTableViewModel();

            subCategoriesTable.SubCategories = subCategories;
            subCategoriesTable.Pagination    = pagination;
            return(subCategoriesTable);
        }
        public async Task <SubCategoriesTableViewModel> GetDataTable(int take, int pageNumber)
        {
            int skip           = (pageNumber - 1) * take;
            int totalItemCount = _context.SubCategories.Count();
            var subCategories  = await _context.SubCategories.Include(s => s.Category).Skip(skip).Take(take).ToListAsync();

            var pageItemCount = subCategories.Count();
            var pagination    = Pagination.CreatePaginationData(take, pageNumber, totalItemCount, pageItemCount);

            var subCategoriesTable = new SubCategoriesTableViewModel();

            subCategoriesTable.SubCategories = subCategories;
            subCategoriesTable.Pagination    = pagination;
            return(subCategoriesTable);
        }
예제 #4
0
 public IActionResult SubCategoryTableViewComponentOnSearch(SubCategoriesTableViewModel subCategoriesTableViewModel)
 {
     AddNotification(ViewNotification.Make("Success Search", ViewNotification.SUCCESS));
     return(ViewComponent("SubCategoryTable", subCategoriesTableViewModel.CategoryId));
 }