Exemplo n.º 1
0
        public override void Init(ConcentratorDataContext context)
        {
            base.Init(context);

            context.ExecuteStoreCommand(_brandIndexCreate);
            DownloadFile(url, LocalCacheLocation + ".gz");
            BasicUnzip.Unzip(LocalCacheLocation + ".gz", LocalCacheLocation);

            using (var xmlReader = new XmlTextReader(new FileStream(LocalCacheLocation, FileMode.Open, FileAccess.Read, FileShare.Read, 3000, FileOptions.SequentialScan)))
            {
                var reader = new BrandIndexFileReader();
                reader.Load(xmlReader);
                BulkLoad(BrandIndexTableName, 100, reader);
            }
        }
        public override void Init(ConcentratorDataContext context)
        {
            base.Init(context);

            context.ExecuteStoreCommand(_attributeGroupTableCreate);
            context.ExecuteStoreCommand(_attributeTableCreate);

            DownloadFile(url, LocalCacheLocation + ".gz");
            BasicUnzip.Unzip(LocalCacheLocation + ".gz", LocalCacheLocation);


            using (var file = File.OpenRead(LocalCacheLocation))
            {
                var reader = new XmlTextReader(file);
                var aR     = new AttributeGroupReader();
                aR.Load(reader);
                BulkLoad(AttributeGroupMetaTable, 1000, aR);
            }

            using (var file = File.OpenRead(LocalCacheLocation))
            {
                var reader = new XmlTextReader(file);
                var aR     = new AttributeReader();
                aR.Load(reader);
                BulkLoad(AttributeMetaTable, 10000, aR);
            }


            // Deletes all attributes we do not have values for
            context.ExecuteStoreCommand(String.Format(@"DELETE A 
                                             FROM {0} A 
                                             WHERE (	SELECT COUNT(*)
		                                                  FROM {1} S
		                                                  WHERE S.CatFeatureID = A.CatFeatureID
                                              ) <= 0", AttributeMetaTable, ProductBulk.ProductSpecTable));

            // Delete all attributegroups for which we do not have attributes
            context.ExecuteStoreCommand(String.Format(@"DELETE G
                                              FROM {0} G
                                              WHERE G.GroupID NOT IN (
	                                              SELECT  S.CatGroupID
	                                              FROM {1} S
                                              )", AttributeGroupMetaTable, AttributeMetaTable));
        }