public static void CallPaginationFilter(ActionPagination action) { if (ProductState.categoryId > -1) { FunctionHelper.Pagination(action, ActionProduct.FilterByCategory); } else { FunctionHelper.Pagination(action, ActionProduct.GetAll); } }
public static void Pagination(ActionPagination a, ActionProduct b) { ProductBusiness productBus = new ProductBusiness(); switch (a) { case ActionPagination.Previus: ProductState.pagination.next = true; ProductState.pagination.skip -= ProductState.pagination.limit; break; case ActionPagination.Next: ProductState.pagination.previus = true; ProductState.pagination.skip += ProductState.pagination.limit; break; case ActionPagination.Load: break; case ActionPagination.Import: break; case ActionPagination.Delete: if (ProductState.pagination.total == ProductState.pagination.skip + 1 && ProductState.pagination.skip > 0) { ProductState.pagination.skip -= ProductState.pagination.limit; } break; case ActionPagination.Create: break; case ActionPagination.FindProduct: ProductState.pagination.skip = 0; break; default: break; } List <Product> products = null; switch (b) { case ActionProduct.FilterByCategory: var result = productBus.getProductsByCategoryId(ProductState.pagination.skip, ProductState.pagination.limit, ProductState.categoryId); products = result.products; ProductState.pagination.total = result.count; CalPagination(); break; case ActionProduct.GetAll: result = productBus.getAll(ProductState.pagination.skip, ProductState.pagination.limit); products = result.products; ProductState.pagination.total = result.count; CalPagination(); break; case ActionProduct.Reload: ProductState.pagination.skip = 0; result = productBus.getAll(ProductState.pagination.skip, ProductState.pagination.limit); products = result.products; ProductState.pagination.total = result.count; CalPagination(); break; case ActionProduct.FilterByName: result = productBus.getProductsByName(ProductState.pagination.skip, ProductState.pagination.limit, ProductState.name); products = result.products; ProductState.pagination.total = result.count; CalPagination(); break; case ActionProduct.FilterByCategoryAndName: result = productBus.getProductsByCategoryIdAndName(ProductState.pagination.skip, ProductState.pagination.limit, ProductState.name, ProductState.categoryId); products = result.products; ProductState.pagination.total = result.count; CalPagination(); break; default: break; } ProductState.productsState.Clear(); for (int i = 0; i < products.Count; i++) { ProductState.productsState.Add(products[i]); } }