@inherits Dynamicweb.Rendering.ViewModelTemplate @using Dynamicweb @using Dynamicweb.Configuration @using Dynamicweb.Core @using Dynamicweb.Security.UserManagement @using Dynamicweb.Ecommerce.Prices; @using System.IO; @using System.Xml.Serialization; @using System.Xml; @using System; @using System.Web; @using System.Collections; @using System.Collections.Generic; @using System.Globalization; @using Dynamicweb.Ecommerce; @using Dynamicweb.Frontend @using System.Text.RegularExpressions @using System.Linq @using Dynamicweb.Ecommerce.Frontend @using Dynamicweb.Ecommerce.ProductCatalog @functions { public class ProductsContainer { public string template { get; set; } public string id { get; set; } public List Products { get; set; } } public class Product { public string ProductNumber { get; set; } public string AXProductType { get; set; } public string AXProductManagerCode { get; set; } public string AXNameAlias { get; set; } public string ProductEAN { get; set; } public string AXDescription { get; set; } public string ProductName { get; set; } public string AXFeatures1 { get; set; } public string AXFeatures2 { get; set; } public string AXFeatures3 { get; set; } public string AXFeatures4 { get; set; } public string AXFeatures5 { get; set; } public string AXFeatures6 { get; set; } public string ManufacturerID { get; set; } public string Groups { get; set; } public string AXSupplierNumber { get; set; } public string ProductCost { get; set; } public string AXProductLeadtime { get; set; } public string AXGreenTax { get; set; } public string AXGreenTax2 { get; set; } public string ProductPrice { get; set; } public string ProductDepth { get; set; } public string ProductHeight { get; set; } public string ProductWidth { get; set; } public string ProductWeight { get; set; } public string AXTaraWeight { get; set; } public string AXUoM { get; set; } public string AXComercialWPeriod_ATX { get; set; } public string AXConformWPeriod_ATX { get; set; } public string AXWarrantyPeriod_ATX { get; set; } public string AXCodeRplItem { get; set; } public string AXServiceType { get; set; } public string AXProductVATRate { get; set; } public string AXOriginalCountryId { get; set; } public string AXAfmEeeCode { get; set; } public string AXAfmBatCode { get; set; } public string AXEcoticEeeCode { get; set; } public string AXEcoticBatCode { get; set; } public string AXGreenStampCategory { get; set; } public string AXNoBattery { get; set; } public string AXBaterryInfoId { get; set; } public string AXFeatureAfm { get; set; } public string AXEnergyClassPower { get; set; } public string AXType { get; set; } public string ProductFamilyID { get; set; } public string AXTransferQuantityMultiplier {get; set;} public string AXPurchaseQuantityMultiplier {get; set;} public string AXReportingPriceUnit {get; set;} public string AXReportingPriceFactor {get; set;} } } @{ var cssStyleFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath("~/Files/Templates/Designs/Swift/Assets/css/styles.css")); var jsFileInfo = new System.IO.FileInfo(Dynamicweb.Core.SystemInformation.MapPath("~/Files/Templates/Designs/Swift/Assets/js/scripts.js")); System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); bool doSearch = false; string token = !string.IsNullOrEmpty(HttpContext.Current.Request["token"]) ? HttpContext.Current.Request.QueryString.Get("token") : ""; string productids = !string.IsNullOrEmpty(HttpContext.Current.Request["products"]) ? HttpContext.Current.Request.QueryString.Get("products") : ""; string startdate = !string.IsNullOrEmpty(HttpContext.Current.Request["startdate"]) ? HttpContext.Current.Request.QueryString.Get("startdate") : ""; string enddate = !string.IsNullOrEmpty(HttpContext.Current.Request["startdate"]) ? HttpContext.Current.Request.QueryString.Get("enddate") : ""; } @* Required meta tags *@ Export file @* Bootstrap + Swift stylesheet *@ @* Branding and Themes min stylesheet *@
@{ List productIDs = new List(); string guid = Dynamicweb.Core.Converter.GetGuid().ToString(); if(token != "") { System.Data.DataTable tokens = Dynamicweb.Data.Database.CreateDataTable("SELECT Distinct ProductId FROM _DfProductsLog where CustomId = '"+ token+"'"); foreach(System.Data.DataRow dr in tokens.Rows) { string d = dr[tokens.Columns[0]].ToString(); productIDs.Add(d); } } else if(productids != "") { productIDs = new List(); token="products-"+DateTime.Now.ToString("yyyy-MM-dd") +"_"+ guid; productIDs = productids.Split(',').ToList(); } else if(startdate !="" && enddate != "") { productIDs = new List(); token = startdate + "-" + enddate +"_"+ guid; System.Data.DataTable dt = Dynamicweb.Data.Database.CreateDataTable("SELECT Distinct ProductId FROM _DfProductsLog WHERE [DateAdded] >= N'"+startdate+"' AND [DateAdded] <= N'"+enddate+"'"); foreach(System.Data.DataRow dr in dt.Rows) { string d = dr[dt.Columns[0]].ToString(); productIDs.Add(d); } } ProductsContainer products = new ProductsContainer(); List productList = new List(); doSearch = token != "" || productids != "" || startdate !=""; if(doSearch) { //var user = Dynamicweb.Security.UserManagement.User.GetUserByID(Convert.ToInt32(@GetGlobalValue("Global:Extranet.UserID"))); var result = new Dynamicweb.Data.ExcelWriter(); string masterFile = "/Files/Files/DocumentareProduse/TemplateImportProduseAX.xlsx"; string resultFile = "/Files/Files/ImportAX/ImportAXFile_" + token + ".xlsx"; string fileLink = "http://altexpim.cloud.dynamicweb-cms.com" + resultFile; string specifier = "G"; CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); if(productIDs.Any()) { foreach (var element in productIDs) { Product product = new Product(); string productId = element;//dr[dt.Columns[0]].ToString(); var productRequest = new ProductViewModelSettings(); productRequest.EnsureFilledPropertiesExist(); Dynamicweb.Ecommerce.ProductCatalog.ProductViewModel productModel = ViewModelFactory.CreateView(productRequest, productId); var productFieldValues = productModel.ProductFields; List AXProductType = (List)productFieldValues["AXProductType"]?.Value; List AXCodeRplItem = (List)productFieldValues["AXCodeRplItem"]?.Value; List AXServiceType = (List)productFieldValues["AXServiceType"]?.Value; List AXAfmEeeCode = (List)productFieldValues["AXAfmEeeCode"]?.Value; List AXAfmBatCode = (List)productFieldValues["AXAfmBatCode"]?.Value; List AXEcoticEeeCode = (List)productFieldValues["AXEcoticEeeCode"]?.Value; List AXEcoticBatCode = (List)productFieldValues["AXEcoticBatCode"]?.Value; List AXGreenStampCategory = (List)productFieldValues["AXGreenStampCategory"]?.Value; List AXBaterryInfoId = (List)productFieldValues["AXBaterryInfoId"]?.Value; List AXFeatureAfm = (List)productFieldValues["AXFeatureAfm"]?.Value; List AXType = (List)productFieldValues["AXType"]?.Value; List AXProductVATRate = (List)productFieldValues["AXProductVATRate"]?.Value; List AXUoM = (List)productFieldValues["AXUoM"]?.Value; List AXReportingPriceUnit = (List)productFieldValues["AXReportingPriceUnit"]?.Value; var AXProductManagerCode = productFieldValues["AXProductManagerCode"]?.Value; var AXNameAlias = productFieldValues["AXNameAlias"]?.Value; var AXDescription = productFieldValues["AXDescription"]?.Value; var AXFeatures1 = productFieldValues["AXFeatures1"]?.Value; var AXFeatures2 = productFieldValues["AXFeatures2"]?.Value; var AXFeatures3 = productFieldValues["AXFeatures3"]?.Value; var AXFeatures4 = productFieldValues["AXFeatures4"]?.Value; var AXFeatures5 = productFieldValues["AXFeatures5"]?.Value; var AXFeatures6 = productFieldValues["AXFeatures6"]?.Value; var AXSupplierNumber = productFieldValues["AXSupplierNumber"]?.Value; var AXProductLeadtime = productFieldValues["AXProductLeadtime"]?.Value; var AXGreenTax = productFieldValues["AXGreenTax"]?.Value; var AXGreenTax2 = productFieldValues["AXGreenTax2"]?.Value; var AXTaraWeight = productFieldValues["AXTaraWeight"]?.Value; //var AXUoM = productFieldValues["AXUoM"]?.Value; var AXComercialWPeriod_ATX = productFieldValues["AXComercialWPeriod_ATX"]?.Value; var AXConformWPeriod_ATX = productFieldValues["AXConformWPeriod_ATX"]?.Value; var AXWarrantyPeriod_ATX = productFieldValues["AXWarrantyPeriod_ATX"]?.Value; //var AXProductVATRate = productFieldValues["AXProductVATRate"]?.Value; was changed to List type var AXOriginalCountryId = productFieldValues["AXOriginalCountryId"]?.Value; var AXNoBattery = productFieldValues["AXNoBattery"]?.Value; var AXEnergyClassPower = productFieldValues["AXEnergyClassPower"]?.Value; var ProductFamilyID = productFieldValues["ProductFamilyID"]?.Value; var AXTransferQuantityMultiplier = productFieldValues["AXTransferQuantityMultiplier"]?.Value; var AXPurchaseQuantityMultiplier = productFieldValues["AXPurchaseQuantityMultiplier"]?.Value; var AXProductPrice = productFieldValues["AXProductPrice"]?.Value; var AXProductCost = productFieldValues["AXProductCost"]?.Value; var AXReportingPriceFactor = productFieldValues["AXReportingPriceFactor"]?.Value; product.ProductNumber = productModel.Number.ToString(); product.AXProductType = AXProductType.FirstOrDefault() != null ? AXProductType.FirstOrDefault().Value.ToString() : ""; product.AXProductManagerCode = AXProductManagerCode.ToString(); product.AXNameAlias = AXNameAlias.ToString(); product.ProductEAN = productModel.EAN.ToString(); product.AXDescription = AXDescription.ToString(); product.ProductName = productModel.Name.ToString(); product.AXFeatures1 = AXFeatures1.ToString(); product.AXFeatures2 = AXFeatures2.ToString(); product.AXFeatures3 = AXFeatures3.ToString(); product.AXFeatures4 = AXFeatures4.ToString(); product.AXFeatures5 = AXFeatures5.ToString(); product.AXFeatures6 = AXFeatures6.ToString(); product.ManufacturerID = productModel.Manufacturer != null ? productModel.Manufacturer.Id : ""; product.Groups = "";//Groups.ToString(); product.AXSupplierNumber = AXSupplierNumber.ToString(); product.AXProductLeadtime = AXProductLeadtime.ToString(); product.AXGreenTax = AXGreenTax.ToString(); product.AXGreenTax2 = AXGreenTax2.ToString(); product.ProductCost = AXProductCost != null ? Dynamicweb.Core.Converter.ToDouble(AXProductCost).ToString(specifier, culture) : "0";//ProductCost.ToString(); product.ProductPrice = AXProductPrice != null ? Dynamicweb.Core.Converter.ToDouble(AXProductPrice).ToString(specifier, culture) : "0";//productModel.Price.Price != null ? productModel.Price.Price.ToString() : "0"; product.ProductDepth = productModel.Depth.ToString(); product.ProductHeight = productModel.Height.ToString(); product.ProductWidth = productModel.Width.ToString(); product.ProductWeight = productModel.Weight.ToString(); product.AXTaraWeight = AXTaraWeight.ToString(); product.AXUoM = AXUoM.FirstOrDefault() != null ? AXUoM.FirstOrDefault().Value.ToString() : "";//AXUoM.ToString(); product.AXComercialWPeriod_ATX = AXComercialWPeriod_ATX.ToString(); product.AXConformWPeriod_ATX = AXConformWPeriod_ATX.ToString(); product.AXWarrantyPeriod_ATX = AXWarrantyPeriod_ATX.ToString(); product.AXCodeRplItem = AXCodeRplItem.FirstOrDefault() != null ? AXCodeRplItem.FirstOrDefault().Value.ToString() : ""; product.AXServiceType = AXServiceType.FirstOrDefault() != null ? AXServiceType.FirstOrDefault().Value.ToString() : ""; product.AXProductVATRate = AXProductVATRate.FirstOrDefault() != null ? AXProductVATRate.FirstOrDefault().Value.ToString() : "";//AXProductVATRate.ToString(); product.AXOriginalCountryId = AXOriginalCountryId.ToString(); product.AXAfmEeeCode = AXAfmEeeCode.FirstOrDefault() != null ? AXAfmEeeCode.FirstOrDefault().Value.ToString() : "0"; product.AXAfmBatCode = AXAfmBatCode.FirstOrDefault() != null ? AXAfmBatCode.FirstOrDefault().Value.ToString() : "0"; product.AXEcoticEeeCode = AXEcoticEeeCode.FirstOrDefault() != null ? AXEcoticEeeCode.FirstOrDefault().Value.ToString() : "0"; product.AXEcoticBatCode = AXEcoticBatCode.FirstOrDefault() != null ? AXEcoticBatCode.FirstOrDefault().Value.ToString() : "0"; product.AXGreenStampCategory = AXGreenStampCategory.FirstOrDefault() != null ? AXGreenStampCategory.FirstOrDefault().Value.ToString() : "99"; product.AXNoBattery = AXNoBattery.ToString(); product.AXBaterryInfoId = AXBaterryInfoId.FirstOrDefault() != null ? AXBaterryInfoId.FirstOrDefault().Value.ToString() : "999"; product.AXFeatureAfm = AXFeatureAfm.FirstOrDefault() != null ? AXFeatureAfm.FirstOrDefault().Value.ToString() : "00"; product.AXEnergyClassPower = AXEnergyClassPower.ToString(); product.AXType = AXType.FirstOrDefault() != null ? AXType.FirstOrDefault().Value.ToString() : ""; product.ProductFamilyID = ProductFamilyID.ToString(); product.AXTransferQuantityMultiplier = AXTransferQuantityMultiplier.ToString(); product.AXPurchaseQuantityMultiplier = AXPurchaseQuantityMultiplier.ToString(); product.AXReportingPriceUnit = AXReportingPriceUnit.FirstOrDefault() != null ? AXReportingPriceUnit.FirstOrDefault().Value.ToString() : ""; product.AXReportingPriceFactor = AXReportingPriceFactor.ToString(); //productList.Add(productModel); productList.Add(product); } products.Products = productList; result.Write(products, SystemInformation.MapPath(masterFile), SystemInformation.MapPath(resultFile)); Cautare noua } else {

No records found

} } else {
List of SKu's separated with comma
} }