Exemple #1
0
        private static void ParseChildAttributes(DB db, Mapping.Product amazonProduct, Product product)
        {
            // sku
            product.SKU = amazonProduct.Identifier.MerchantSku.Sku;

            // merchantid
            product.Merchant = amazonProduct.Identifier.MerchantSku.MerchantId;

            // url
            product.HREF = amazonProduct.HREF();

            Service.ParseOffer(amazonProduct.Offers, product);

            // db.SaveChanges();

            // swatch
            var imageRelations = new Mapping.Relation[]
            {
                Mapping.Relation.Main,
                Mapping.Relation.Swatch
            };

            Service.ParseAssets(db, amazonProduct.Assets, product.ID, imageRelations);

            foreach (var item in amazonProduct.Attributes.Fabrics)
            {
                var fabric = db.Fabrics.Where(f => f.Name == item.Value).SingleOrDefault();
                if (fabric == null)
                {
                    fabric = new Fabric() { Name = item.Value };

                    db.Fabrics.Add(fabric);
                    db.SaveChanges();
                }

                var productFabric = db.ProductFabrics.Where(pf => pf.ProductID == product.ID && pf.FabricID == fabric.ID).SingleOrDefault();
                if (productFabric == null)
                {
                    db.ProductFabrics.Add(new ProductFabric() { ProductID = product.ID, FabricID = fabric.ID });
                    db.SaveChanges();
                }
            }
        }