Esempio n. 1
0
        private ClearProductsData DeleteSome(long storeId, int howMany)
        {
            var items      = CatalogServices.Products.FindAllPagedWithCache(1, howMany);
            var totalCount = CatalogServices.Products.FindAllCount(storeId);

            if (items != null)
            {
                foreach (var p in items)
                {
                    CatalogServices.DestroyProduct(p.Bvin, p.StoreId);
                }
            }

            var left = totalCount - howMany;

            if (left < 0)
            {
                left = 0;
            }
            var cleared = howMany;

            if (totalCount < howMany)
            {
                cleared = totalCount;
            }
            var result = new ClearProductsData();

            result.ProductsCleared   = cleared;
            result.ProductsRemaining = left;

            return(result);
        }
Esempio n. 2
0
        public ClearProductsData ClearProducts(int howMany)
        {
            var result = new ClearProductsData();

            var current        = DateTime.UtcNow;
            var availableUntil = CurrentRequestContext.CurrentStore.Settings.AllowApiToClearUntil;
            var compareResult  = DateTime.Compare(current, availableUntil);

            if (compareResult >= 0)
            {
                result.ProductsCleared   = 0;
                result.ProductsRemaining = -1;
                return(result);
            }

            return(DeleteSome(CurrentRequestContext.CurrentStore.Id, howMany));
        }