diff --git a/src/Dynamicweb.DataIntegration.Providers.DynamicwebProvider.csproj b/src/Dynamicweb.DataIntegration.Providers.DynamicwebProvider.csproj index 5fdf9a3..68dd3a6 100644 --- a/src/Dynamicweb.DataIntegration.Providers.DynamicwebProvider.csproj +++ b/src/Dynamicweb.DataIntegration.Providers.DynamicwebProvider.csproj @@ -1,6 +1,6 @@  - 10.9.1 + 10.9.2 1.0.0.0 Dynamicweb Provider Dynamicweb Provider diff --git a/src/DynamicwebProvider.cs b/src/DynamicwebProvider.cs index 0b3914e..1f7a003 100644 --- a/src/DynamicwebProvider.cs +++ b/src/DynamicwebProvider.cs @@ -142,25 +142,7 @@ protected SqlConnection Connection { get { return connection ??= (SqlConnection)Database.CreateConnection(); } set { connection = value; } - } - - protected string defaultLanguage = null; - [AddInParameter("Default Language"), AddInParameterEditor(typeof(DropDownParameterEditor), "none=true;"), AddInParameterGroup("Destination"), AddInParameterOrder(10)] - public string DefaultLanguage - { - get - { - if (defaultLanguage == null) - { - defaultLanguage = Ecommerce.Services.Languages.GetDefaultLanguageId(); - } - return defaultLanguage; - } - set - { - defaultLanguage = value; - } - } + } [AddInParameter("Shop"), AddInParameterEditor(typeof(DropDownParameterEditor), "none=true;"), AddInParameterGroup("Destination"), AddInParameterOrder(20)] public string Shop { get; set; } @@ -225,8 +207,7 @@ public override void SaveAsXml(XmlTextWriter xmlTextWriter) xmlTextWriter.WriteElementString("DeleteIncomingItems", DeleteIncomingItems.ToString(CultureInfo.CurrentCulture)); xmlTextWriter.WriteElementString("SqlConnectionString", SqlConnectionString); xmlTextWriter.WriteElementString("Shop", Shop); - xmlTextWriter.WriteElementString("DeleteProductsAndGroupForSpecificLanguage", DeleteProductsAndGroupForSpecificLanguage.ToString(CultureInfo.CurrentCulture)); - xmlTextWriter.WriteElementString("DefaultLanguage", DefaultLanguage); + xmlTextWriter.WriteElementString("DeleteProductsAndGroupForSpecificLanguage", DeleteProductsAndGroupForSpecificLanguage.ToString(CultureInfo.CurrentCulture)); xmlTextWriter.WriteElementString("RepositoriesIndexUpdate", RepositoriesIndexUpdate); xmlTextWriter.WriteElementString("DiscardDuplicates", DiscardDuplicates.ToString(CultureInfo.CurrentCulture)); xmlTextWriter.WriteElementString("HideDeactivatedProducts", HideDeactivatedProducts.ToString(CultureInfo.CurrentCulture)); @@ -323,10 +304,7 @@ public DynamicwebProvider(XmlNode xmlNode) { DeleteProductsAndGroupForSpecificLanguage = node.FirstChild.Value == "True"; } - break; - case "DefaultLanguage": - DefaultLanguage = node.HasChildNodes ? node.FirstChild.Value : ""; - break; + break; case "RepositoriesIndexUpdate": if (node.HasChildNodes) { @@ -368,8 +346,7 @@ public override void UpdateSourceSettings(ISource source) DynamicwebProvider newProvider = (DynamicwebProvider)source; Shop = newProvider.Shop; UserKeyField = newProvider.UserKeyField; - DeactivateMissingProducts = newProvider.DeactivateMissingProducts; - DefaultLanguage = newProvider.DefaultLanguage; + DeactivateMissingProducts = newProvider.DeactivateMissingProducts; UpdateOnlyExistingRecords = newProvider.UpdateOnlyExistingRecords; InsertOnlyNewRecords = newProvider.InsertOnlyNewRecords; HideDeactivatedProducts = newProvider.HideDeactivatedProducts; @@ -470,6 +447,7 @@ public override bool RunJob(Job job) bool deactivateMissingProducts = false; try { + string defaultLanguage = Ecommerce.Services.Languages.GetDefaultLanguageId(); ReplaceMappingConditionalsWithValuesFromRequest(job); if (Connection.State != ConnectionState.Open) Connection.Open(); @@ -758,8 +736,7 @@ public override string Serialize() root.Add(CreateParameterNode(GetType(), "Remove missing rows after import in the destination tables only", RemoveMissingAfterImportDestinationTablesOnly.ToString())); root.Add(CreateParameterNode(GetType(), "Delete incoming rows", DeleteIncomingItems.ToString())); root.Add(CreateParameterNode(GetType(), "Shop", Shop)); - root.Add(CreateParameterNode(GetType(), "Delete products/groups for languages included in input", DeleteProductsAndGroupForSpecificLanguage.ToString())); - root.Add(CreateParameterNode(GetType(), "Default Language", DefaultLanguage)); + root.Add(CreateParameterNode(GetType(), "Delete products/groups for languages included in input", DeleteProductsAndGroupForSpecificLanguage.ToString())); root.Add(CreateParameterNode(GetType(), "Discard duplicates", DiscardDuplicates.ToString())); root.Add(CreateParameterNode(GetType(), "Hide deactivated products", HideDeactivatedProducts.ToString())); root.Add(CreateParameterNode(GetType(), "Persist successful rows and skip failing rows", SkipFailingRows.ToString())); @@ -851,22 +828,7 @@ public IEnumerable GetParameterOptions(string parameterName) { options.Add(new("Full", "Full")); options.Add(new("Partial", "Partial")); - } - else if (parameterName == "Default Language") - { - SqlCommand sqlLanguageCommand = new SqlCommand { Connection = Connection }; - if (Connection.State == ConnectionState.Closed) - Connection.Open(); - - SqlDataAdapter languagesDataAdapter = new SqlDataAdapter("select LanguageID, LanguageCode2, LanguageName from EcomLanguages", sqlLanguageCommand.Connection); - new SqlCommandBuilder(languagesDataAdapter); - DataSet languageDataSet = new DataSet(); - languagesDataAdapter.Fill(languageDataSet); - foreach (DataRow row in languageDataSet.Tables[0].Rows) - { - options.Add(new(row["LanguageName"].ToString(), row["LanguageID"])); - } - } + } else { var accessuserTable = GetSchema().GetTables().Find(t => t.Name == "AccessUser"); @@ -895,11 +857,7 @@ IEnumerable IParameterVisibility.GetHiddenParameterNames(string paramete { var result = new List(); switch (parameterName) - { - case "Default Language": - if (string.IsNullOrEmpty(defaultLanguage) || defaultLanguage.Equals(Ecommerce.Services.Languages.GetDefaultLanguageId(), StringComparison.OrdinalIgnoreCase)) - result.Add("Default Language"); - break; + { case "Shop": if (string.IsNullOrEmpty(Shop)) result.Add("Shop");