public override void GetExportFeedString(string filenameAndPath) { _description = ExportFeed.GetModuleSetting(ModuleName, "DescriptionSelection"); _currency = ExportFeed.GetModuleSetting(ModuleName, "DescriptionSelection"); var settings = new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true }; using (var s = new FileStream(filenameAndPath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite)) { using (XmlWriter writer = XmlWriter.Create(s, settings)) { writer.WriteStartDocument(); writer.WriteStartElement("rss", "http://base.google.com/ns/1.0"); writer.WriteAttributeString("version", "2.0"); writer.WriteStartElement("channel"); writer.WriteStartElement("title"); writer.WriteString(ExportFeed.GetModuleSetting(ModuleName, "DatafeedTitle")); writer.WriteEndElement(); writer.WriteStartElement("link"); writer.WriteString(GetShopUrl()); writer.WriteEndElement(); writer.WriteStartElement("description"); writer.WriteString(ExportFeed.GetModuleSetting(ModuleName, "DatafeedDescription")); writer.WriteEndElement(); ExportFeedStatistic.TotalCategories = 0; ExportFeedStatistic.TotalProducts = GetProdutsCount(ModuleName); foreach (var productRow in GetProduts(ModuleName)) { ProcessProductRow(productRow, writer); ExportFeedStatistic.CurrentProduct++; } writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndDocument(); writer.Flush(); SetShopUrlToNull(); } } }
public override void GetExportFeedString(string filenameAndPath) { _description = ExportFeed.GetModuleSetting(ModuleName, "DescriptionSelection"); _currency = ExportFeed.GetModuleSetting(ModuleName, "Currency"); _googleProductCategory = ExportFeed.GetModuleSetting(ModuleName, "GoogleProductCategory"); _removeHTML = ExportFeed.GetModuleSetting(ModuleName, "RemoveHTML").TryParseBool(); var discountModule = AttachedModules.GetModules <IDiscount>().FirstOrDefault(); if (discountModule != null) { var classInstance = (IDiscount)Activator.CreateInstance(discountModule); _productDiscountModels = classInstance.GetProductDiscountsList(); } var settings = new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true }; using (var stream = new FileStream(filenameAndPath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite)) { using (var writer = XmlWriter.Create(stream, settings)) { // source http://www.google.com/support/merchants/bin/answer.py?answer=188494&expand=GB writer.WriteStartDocument(); writer.WriteStartElement("rss"); writer.WriteAttributeString("version", "2.0"); writer.WriteAttributeString("xmlns", "g", null, GoogleBaseNamespace); writer.WriteStartElement("channel"); writer.WriteElementString("title", ExportFeed.GetModuleSetting(ModuleName, "DatafeedTitle")); writer.WriteElementString("link", ShopUrl); writer.WriteElementString("description", ExportFeed.GetModuleSetting(ModuleName, "DatafeedDescription")); CommonStatistic.TotalRow = GetProdutsCount(ModuleName); foreach (var productRow in GetProduts(ModuleName)) { ProcessProductRow(productRow, writer); CommonStatistic.RowPosition++; } writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndDocument(); } } }
public override void GetExportFeedString(string file) { _description = ExportFeed.GetModuleSetting(ModuleName, "DescriptionSelection"); using (var s = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite)) { using (var memoryBuffer = new StreamWriter(s, Encoding.UTF8)) { memoryBuffer.Write("MPN"); memoryBuffer.Write(","); memoryBuffer.Write("Manufacturer Name"); memoryBuffer.Write(","); memoryBuffer.Write("UPC"); memoryBuffer.Write(","); memoryBuffer.Write("Product Name"); memoryBuffer.Write(","); memoryBuffer.Write("Product Description"); memoryBuffer.Write(","); memoryBuffer.Write(" Product Price "); memoryBuffer.Write(","); memoryBuffer.Write("Product URL"); memoryBuffer.Write(","); memoryBuffer.Write("Image URL "); memoryBuffer.Write(","); memoryBuffer.Write("Shopping.com Categorization"); memoryBuffer.Write(","); memoryBuffer.Write("Stock Availability"); memoryBuffer.Write(","); memoryBuffer.Write("Stock Description"); memoryBuffer.Write(","); memoryBuffer.Write(" Ground Shipping "); memoryBuffer.Write(","); memoryBuffer.Write(" Weight "); memoryBuffer.Write(","); memoryBuffer.Write("Zip Code"); memoryBuffer.Write(","); memoryBuffer.Write(" Condition "); memoryBuffer.Write("\n"); CommonStatistic.TotalRow = GetProdutsCount(ModuleName); foreach (var productRow in GetProduts(ModuleName)) { ProcessProductRow(productRow, memoryBuffer); CommonStatistic.RowPosition++; } memoryBuffer.Flush(); } } }
protected IEnumerable <ExportFeedProduts> GetProduts(string moduleName) { return(SQLDataAccess.ExecuteReadIEnumerable <ExportFeedProduts>("[Settings].[sp_GetExportFeedProducts]", CommandType.StoredProcedure, reader => new ExportFeedProduts { ProductID = SQLDataHelper.GetInt(reader, "ProductID"), Amount = SQLDataHelper.GetInt(reader, "Amount"), UrlPath = SQLDataHelper.GetString(reader, "UrlPath"), Price = SQLDataHelper.GetDecimal(reader, "Price"), Discount = SQLDataHelper.GetDecimal(reader, "Discount"), ParentCategory = SQLDataHelper.GetInt(reader, "ParentCategory"), Name = SQLDataHelper.GetString(reader, "Name"), Description = SQLDataHelper.GetString(reader, "Description"), BriefDescription = SQLDataHelper.GetString(reader, "BriefDescription"), Photo = SQLDataHelper.GetString(reader, "Photo"), //Added by Evgeni BrandName = SQLDataHelper.GetString(reader, "BrandName"), ArtNo = SQLDataHelper.GetString(reader, "ArtNo"), }, new SqlParameter("@moduleName", moduleName), new SqlParameter("@selectedCurrency", ExportFeed.GetModuleSetting(moduleName, "Currency")), new SqlParameter("@onlyCount", false))); }
protected int GetProdutsCount(string moduleName) { return(SQLDataAccess.ExecuteScalar <int>("[Settings].[sp_GetExportFeedProducts]", CommandType.StoredProcedure, new SqlParameter("@moduleName", moduleName), new SqlParameter("@selectedCurrency", ExportFeed.GetModuleSetting(moduleName, "Currency")), new SqlParameter("@onlyCount", true))); }
protected void SetShopUrlToNull() { ExportFeed.SetShopUrlToNull(); }
protected string GetShopUrl() { return(ExportFeed.GetShopUrl()); }
public override void GetExportFeedString(string filenameAndPath) { var tempfile = filenameAndPath + "_temp"; try { _currency = ExportFeed.GetModuleSetting(ModuleName, "Currency"); _description = ExportFeed.GetModuleSetting(ModuleName, "DescriptionSelection"); _salesNotes = ExportFeed.GetModuleSetting(ModuleName, "SalesNotes"); _delivery = ExportFeed.GetModuleSetting(ModuleName, "Delivery").TryParseBool(); _localDeliveryCost = ExportFeed.GetModuleSetting(ModuleName, "LocalDeliveryCost").TryParseBool(); _properties = ExportFeed.GetModuleSetting(ModuleName, "Properties").TryParseBool(); _removeHTML = ExportFeed.GetModuleSetting(ModuleName, "RemoveHTML").TryParseBool(); var discountModule = AttachedModules.GetModules <IDiscount>().FirstOrDefault(); if (discountModule != null) { var classInstance = (IDiscount)Activator.CreateInstance(discountModule); _productDiscountModels = classInstance.GetProductDiscountsList(); } var shopName = ExportFeed.GetModuleSetting(ModuleName, "ShopName").Replace("#STORE_NAME#", SettingsMain.ShopName); var companyName = ExportFeed.GetModuleSetting(ModuleName, "CompanyName").Replace("#STORE_NAME#", SettingsMain.ShopName); FileHelpers.DeleteFile(tempfile); using (var outputFile = new FileStream(tempfile, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite)) { var settings = new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true }; using (var writer = XmlWriter.Create(outputFile, settings)) { writer.WriteStartDocument(); writer.WriteDocType("yml_catalog", null, "shops.dtd", null); writer.WriteStartElement("yml_catalog"); writer.WriteAttributeString("date", DateTime.Now.ToString("yyyy-MM-dd HH:mm")); writer.WriteStartElement("shop"); writer.WriteStartElement("name"); writer.WriteRaw(shopName); writer.WriteEndElement(); writer.WriteStartElement("company"); writer.WriteRaw(companyName); writer.WriteEndElement(); writer.WriteStartElement("url"); writer.WriteRaw(ShopUrl); writer.WriteEndElement(); writer.WriteStartElement("currencies"); var currencies = GetCurrencies().Where(item => AvailableCurrencies.Contains(item.Iso3)).ToList(); ProcessCurrency(currencies, _currency, writer); writer.WriteEndElement(); CommonStatistic.TotalRow = GetCategoriesCount(ModuleName) + GetProdutsCount(ModuleName); writer.WriteStartElement("categories"); foreach (var categoryRow in GetCategories(ModuleName)) { ProcessCategoryRow(categoryRow, writer); CommonStatistic.RowPosition++; } writer.WriteEndElement(); writer.WriteStartElement("offers"); foreach (var offerRow in GetProduts(ModuleName)) { ProcessProductRow(offerRow, writer); CommonStatistic.RowPosition++; } writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndDocument(); writer.Flush(); writer.Close(); } } FileHelpers.DeleteFile(filenameAndPath); File.Move(tempfile, filenameAndPath); } catch (Exception ex) { Debug.LogError(ex); } }
public override void GetExportFeedString(string filenameAndPath) { _description = ExportFeed.GetModuleSetting(ModuleName, "DescriptionSelection"); using (var outputFile = new FileStream(filenameAndPath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite)) { using (var memoryBuffer = new StreamWriter(outputFile, Encoding.UTF8)) { memoryBuffer.Write("Category"); memoryBuffer.Write("\t"); memoryBuffer.Write("Manufacturer"); memoryBuffer.Write("\t"); memoryBuffer.Write("Title"); memoryBuffer.Write("\t"); memoryBuffer.Write("Description"); memoryBuffer.Write("\t"); memoryBuffer.Write("Link"); memoryBuffer.Write("\t"); memoryBuffer.Write("Image"); memoryBuffer.Write("\t"); memoryBuffer.Write("SKU"); memoryBuffer.Write("\t"); memoryBuffer.Write("Quantity on Hand"); memoryBuffer.Write("\t"); memoryBuffer.Write("Condition"); memoryBuffer.Write("\t"); memoryBuffer.Write("Shipping Weight"); memoryBuffer.Write("\t"); memoryBuffer.Write("Shipping Cost"); memoryBuffer.Write("\t"); memoryBuffer.Write("Bid"); memoryBuffer.Write("\t"); memoryBuffer.Write("Promo Text"); memoryBuffer.Write("\t"); memoryBuffer.Write("UPC"); memoryBuffer.Write("\t"); memoryBuffer.Write("Price"); memoryBuffer.Write("\n"); ExportFeedStatistic.TotalCategories = 0; ExportFeedStatistic.TotalProducts = GetProdutsCount(ModuleName); foreach (var productRow in GetProduts(ModuleName)) { ProcessProductRow(productRow, memoryBuffer); ExportFeedStatistic.CurrentProduct++; } memoryBuffer.Flush(); SetShopUrlToNull(); } } }
public override void GetExportFeedString(string filenameAndPath) { try { _currency = ExportFeed.GetModuleSetting(ModuleName, "Currency"); _description = ExportFeed.GetModuleSetting(ModuleName, "DescriptionSelection"); _salesNotes = ExportFeed.GetModuleSetting(ModuleName, "SalesNotes"); var shopName = ExportFeed.GetModuleSetting(ModuleName, "ShopName").Replace("#STORE_NAME#", SettingsMain.ShopName); var companyName = ExportFeed.GetModuleSetting(ModuleName, "CompanyName").Replace("#STORE_NAME#", SettingsMain.ShopName); FileHelpers.DeleteFile(filenameAndPath); using (var outputFile = new FileStream(filenameAndPath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite)) { var settings = new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true }; using (var writer = XmlWriter.Create(outputFile, settings)) { writer.WriteStartDocument(); writer.WriteDocType("yml_catalog", null, "shops.dtd", null); writer.WriteStartElement("yml_catalog"); writer.WriteAttributeString("date", DateTime.Now.ToString("yyyy-MM-dd HH:mm")); writer.WriteStartElement("shop"); writer.WriteStartElement("name"); writer.WriteString(shopName); writer.WriteEndElement(); writer.WriteStartElement("company"); writer.WriteString(companyName); writer.WriteEndElement(); writer.WriteStartElement("url"); writer.WriteString(_shopUrl); writer.WriteEndElement(); writer.WriteStartElement("currencies"); foreach (DataRow curRow in GetCurrencies().Rows) { ProcessCurrencyRow(curRow, writer); } writer.WriteEndElement(); ExportFeedStatistic.TotalCategories = GetCategoriesCount(ModuleName); ExportFeedStatistic.TotalProducts = GetProdutsCount(ModuleName); writer.WriteStartElement("categories"); foreach (var categoryRow in GetCategories(ModuleName)) { ProcessCategoryRow(categoryRow, writer); ExportFeedStatistic.CurrentCategory++; } writer.WriteEndElement(); writer.WriteStartElement("offers"); foreach (var offerRow in GetProduts(ModuleName)) { ProcessProductRow(offerRow, writer); ExportFeedStatistic.CurrentProduct++; } writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndDocument(); writer.Flush(); writer.Close(); SetShopUrlToNull(); } } } catch (Exception ex) { Debug.LogError(ex); } }
public override void GetExportFeedString(string file) { _description = ExportFeed.GetModuleSetting(ModuleName, "DescriptionSelection"); using (var s = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite)) { using (var memoryBuffer = new StreamWriter(s, Encoding.UTF8)) { memoryBuffer.Write("Category"); memoryBuffer.Write("\t"); memoryBuffer.Write("Manufacturer"); memoryBuffer.Write("\t"); memoryBuffer.Write("Title"); memoryBuffer.Write("\t"); memoryBuffer.Write("Description"); memoryBuffer.Write("\t"); memoryBuffer.Write("Link"); memoryBuffer.Write("\t"); memoryBuffer.Write("Image"); memoryBuffer.Write("\t"); memoryBuffer.Write("SKU"); memoryBuffer.Write("\t"); memoryBuffer.Write("Quantity on Hand"); memoryBuffer.Write("\t"); memoryBuffer.Write("Condition"); memoryBuffer.Write("\t"); memoryBuffer.Write("Shipping Weight"); memoryBuffer.Write("\t"); memoryBuffer.Write("Shipping Cost"); memoryBuffer.Write("\t"); memoryBuffer.Write("Bid"); memoryBuffer.Write("\t"); memoryBuffer.Write("Promo Text"); memoryBuffer.Write("\t"); memoryBuffer.Write("UPC"); memoryBuffer.Write("\t"); memoryBuffer.Write("Price"); memoryBuffer.Write("\n"); CommonStatistic.TotalRow = GetProdutsCount(ModuleName);; foreach (var productRow in GetProduts(ModuleName)) { ProcessProductRow(productRow, memoryBuffer); CommonStatistic.RowPosition++; } memoryBuffer.Flush(); } } }
public override void GetExportFeedString(string file) { _descriptionSelecton = ExportFeed.GetModuleSetting(ModuleName, "DescriptionSelection"); using (var s = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite)) { using (var memoryBuffer = new StreamWriter(s, Encoding.UTF8)) { memoryBuffer.Write("\""); memoryBuffer.Write("Unique Retailer SKU (RETSKU)"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("Manufacturer Name"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("Manufacturer Part Number (MPN)"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("Product Title"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("Categorization"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("Product URL"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("Image URL"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("Detailed Description"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("Selling Price"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("Product Condition"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("Availability"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("UPC"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("Shipping Costs"); memoryBuffer.Write("\""); memoryBuffer.Write(","); memoryBuffer.Write("\""); memoryBuffer.Write("Weight"); memoryBuffer.Write("\""); memoryBuffer.Write("\n"); ExportFeedStatistic.TotalCategories = 0; ExportFeedStatistic.TotalProducts = GetProdutsCount(ModuleName); foreach (var productRow in GetProduts(ModuleName)) { ProcessDataRow(productRow, memoryBuffer); ExportFeedStatistic.CurrentProduct++; } memoryBuffer.Flush(); SetShopUrlToNull(); } } }
public override void GetExportFeedString(string file) { _description = ExportFeed.GetModuleSetting(ModuleName, "DescriptionSelection"); using (var s = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite)) { using (var memoryBuffer = new StreamWriter(s, Encoding.UTF8)) { memoryBuffer.Write("code"); memoryBuffer.Write("\t"); memoryBuffer.Write("name"); memoryBuffer.Write("\t"); memoryBuffer.Write("description"); memoryBuffer.Write("\t"); memoryBuffer.Write("price"); memoryBuffer.Write("\t"); memoryBuffer.Write("product-url"); memoryBuffer.Write("\t"); memoryBuffer.Write("merchant-site-category"); memoryBuffer.Write("\t"); memoryBuffer.Write("medium"); memoryBuffer.Write("\t"); memoryBuffer.Write("image-url"); memoryBuffer.Write("\t"); memoryBuffer.Write("upc"); memoryBuffer.Write("\t"); memoryBuffer.Write("manufacturer"); memoryBuffer.Write("\t"); memoryBuffer.Write("manufacturer-part-no"); memoryBuffer.Write("\t"); memoryBuffer.Write("msrp"); memoryBuffer.Write("\t"); memoryBuffer.Write("in-stock"); memoryBuffer.Write("\t"); memoryBuffer.Write("shipping-price"); memoryBuffer.Write("\t"); memoryBuffer.Write("shipping-weight"); memoryBuffer.Write("\t"); memoryBuffer.Write("\n"); CommonStatistic.TotalRow = GetProdutsCount(ModuleName); foreach (var productRow in GetProduts(ModuleName)) { ProcessProductRow(productRow, memoryBuffer); CommonStatistic.RowPosition++; } memoryBuffer.Flush(); } } }
protected IEnumerable <ExportFeedProduts> GetProduts(string moduleName) { return(SQLDataAccess.ExecuteReadIEnumerable <ExportFeedProduts>("[Settings].[sp_GetExportFeedProducts]", CommandType.StoredProcedure, reader => new ExportFeedProduts { ProductId = SQLDataHelper.GetInt(reader, "ProductID"), OfferId = SQLDataHelper.GetInt(reader, "OfferId"), //Заменяем настоящий ArtNo на альтернативный из свойств ArtNo = GetAltArtNoFromProperty(SQLDataHelper.GetInt(reader, "ProductID")), Amount = SQLDataHelper.GetInt(reader, "Amount"), UrlPath = SQLDataHelper.GetString(reader, "UrlPath"), Price = SQLDataHelper.GetFloat(reader, "Price"), ShippingPrice = SQLDataHelper.GetFloat(reader, "ShippingPrice"), Discount = SQLDataHelper.GetFloat(reader, "Discount"), ParentCategory = SQLDataHelper.GetInt(reader, "ParentCategory"), Name = SQLDataHelper.GetString(reader, "Name"), Description = SQLDataHelper.GetString(reader, "Description"), BriefDescription = SQLDataHelper.GetString(reader, "BriefDescription"), Photos = SQLDataHelper.GetString(reader, "Photos"), SalesNote = SQLDataHelper.GetString(reader, "SalesNote"), ColorId = SQLDataHelper.GetInt(reader, "ColorId"), ColorName = SQLDataHelper.GetString(reader, "ColorName"), SizeId = SQLDataHelper.GetInt(reader, "SizeId"), SizeName = SQLDataHelper.GetString(reader, "SizeName"), BrandName = SQLDataHelper.GetString(reader, "BrandName"), Main = SQLDataHelper.GetBoolean(reader, "Main"), GoogleProductCategory = SQLDataHelper.GetString(reader, "GoogleProductCategory"), Gtin = SQLDataHelper.GetString(reader, "Gtin"), Adult = SQLDataHelper.GetBoolean(reader, "Adult"), ManufacturerWarranty = SQLDataHelper.GetBoolean(reader, "ManufacturerWarranty") }, new SqlParameter("@moduleName", moduleName), new SqlParameter("@selectedCurrency", ExportFeed.GetModuleSetting(moduleName, "Currency")), new SqlParameter("@onlyCount", false))); }