Esempio n. 1
0
 public static void CallPaginationFilter(ActionPagination action)
 {
     if (ProductState.categoryId > -1)
     {
         FunctionHelper.Pagination(action, ActionProduct.FilterByCategory);
     }
     else
     {
         FunctionHelper.Pagination(action, ActionProduct.GetAll);
     }
 }
Esempio n. 2
0
        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]);
            }
        }