Esempio n. 1
0
        private void DeleteOldUcommerceData()
        {
            var group = ObjectFactory.Instance.Resolve <IRepository <ProductCatalogGroup> >().SingleOrDefault(g => g.Name == "Ucommerce.dk");

            if (group != null)
            {
                // Delete products in group
                var relations = CategoryProductRelation.All()
                                .Where(x => group.ProductCatalogs.Contains(x.Category.ProductCatalog))
                                .ToList();
                foreach (var relation in relations)
                {
                    var category = relation.Category;
                    var product  = relation.Product;
                    category.RemoveProduct(product);
                    product.Delete();
                }

                // Delete catalogs
                foreach (var catalog in group.ProductCatalogs)
                {
                    catalog.Deleted = true;
                }

                // Delete group itself
                group.Deleted = true;
                group.Save();
            }
        }
        private void DeleteOldUCommerceData()
        {
            var group = ProductCatalogGroup.SingleOrDefault(g => g.Name == "uCommerce.dk");

            if (group != null)
            {
                // Delete products in group
                foreach (
                    var relation in
                    CategoryProductRelation.All()
                    .Where(x => group.ProductCatalogs.Contains(x.Category.ProductCatalog))
                    .ToList())
                {
                    var category = relation.Category;
                    var product  = relation.Product;
                    category.RemoveProduct(product);
                    product.Delete();
                }

                // Delete catalogs
                foreach (var catalog in group.ProductCatalogs)
                {
                    catalog.Deleted = true;
                }

                // Delete group itself
                group.Deleted = true;
                group.Save();
            }
        }
Esempio n. 3
0
        private IList <Product> GetProductsFromSelectedCategoryIds(List <int> categoryIds)
        {
            List <Product> result = new List <Product>();
            var            productsFromCategories = CategoryProductRelation.All()
                                                    .Where(x => categoryIds.Contains(x.Category.CategoryId))
                                                    .ToList().GroupBy(x => x.Category);

            foreach (var productsFromCategory in productsFromCategories)
            {
                result.AddRange(productsFromCategory.Select(x => x.Product).ToList());
            }

            return(result);
        }
        public PipelineExecutionResult Execute(InitializeArgs subject)
        {
            if (ProductCatalogGroup.All().Any(x => x.Name == "avenue-clothing.com"))
            {
                return(PipelineExecutionResult.Success);
            }

            new ConfigurationInstaller().Configure();
            new CatalogueInstaller("avenue-clothing.com", "Demo Store").Configure();

            var group = ProductCatalogGroup.SingleOrDefault(g => g.Name == "uCommerce.dk");

            if (group != null)
            {
                // Delete products in group
                foreach (
                    var relation in
                    CategoryProductRelation.All()
                    .Where(x => group.ProductCatalogs.Contains(x.Category.ProductCatalog))
                    .ToList())
                {
                    var category = relation.Category;
                    var product  = relation.Product;
                    category.RemoveProduct(product);
                    product.Delete();
                }

                // Delete catalogs
                foreach (var catalog in group.ProductCatalogs)
                {
                    catalog.Deleted = true;
                }

                // Delete group itself
                group.Deleted = true;
                group.Save();
            }

            return(PipelineExecutionResult.Success);
        }