Пример #1
0
 private void GetData(Program plugin, string importProjectPath)
 {
     importVarSettings = new VariableDataSet();
     importVarSettings.ReadXml(plugin.getSettingsFile(importProjectPath));
     plugin.fixVariablesDecimalSeparator(importVarSettings); importVarSettings.AcceptChanges();
     masterVarSettings = plugin.settingsData;
 }
Пример #2
0
        internal bool Init(Program plugin, string importProjectPath)
        {
            try
            {
                this.plugin            = plugin;
                this.importProjectPath = importProjectPath;

                // read the VariableSettings of the import project into importVarSettings
                // and, for convenience, call plugin.settingsData masterVarSettings (i.e. masterVarSettings = plugin.settingsData)
                GetData(plugin, importProjectPath);

                // check if import project has countries which do not exist in master project
                if (!CompareCountries())
                {
                    return(false);
                }
                if (notAcceptedCountries.Count > 0)         // remove all references for countries which exist in import project
                {                                           // but the user has decided to not import
                    SettingsManagement.ManageCountries.RemoveCountryReferences(importVarSettings, notAcceptedCountries);
                    importVarSettings.AcceptChanges();
                }

                // compare each variable type and write results to the respective grid ...
                // ... basic variables
                CompareTable(masterVarSettings.Cur_BasicVariables, importVarSettings.Cur_BasicVariables, gridBasic);
                // ... advanced variables
                CompareTable(masterVarSettings.Cur_AdvancedVariables, importVarSettings.Cur_AdvancedVariables, gridAdvanced);
                // ... advanced country specific variables
                CompareTable(masterVarSettings.Cur_AdvancedCountrySpecificVariables, importVarSettings.Cur_AdvancedCountrySpecificVariables, gridAdvCSpec);
                // ... derived variables
                CompareTable(masterVarSettings.Cur_DerivedVariables, importVarSettings.Cur_DerivedVariables, gridDerived);

                // activate the first tab where the user can see a change
                bool diffFound = false;
                if (gridBasic.Rows.Count > 0)
                {
                    tabControl.SelectedTab = tabBasic; diffFound = true;
                }
                else if (gridAdvanced.Rows.Count > 0)
                {
                    tabControl.SelectedTab = tabAdvanced; diffFound = true;
                }
                else if (gridAdvCSpec.Rows.Count > 0)
                {
                    tabControl.SelectedTab = tabAdCSpec; diffFound = true;
                }
                else if (gridDerived.Rows.Count > 0)
                {
                    tabControl.SelectedTab = tabDerived; diffFound = true;
                }

                if (!diffFound)
                {
                    MessageBox.Show(string.Format("Variables Settings of {0} and {1} are equal.",
                                                  Path.GetFileName(plugin.currentProjectPath), Path.GetFileName(importProjectPath)) +
                                    Environment.NewLine + "Nothing to import.");
                }
                return(diffFound);
            }
            catch (Exception exception)
            {
                MessageBox.Show(string.Format("Failed to assess variables-differences of HHOT projects {0} and {1}:",
                                              Path.GetFileName(plugin.currentProjectPath), Path.GetFileName(importProjectPath)) +
                                Environment.NewLine + exception.Message);
                return(false);
            }
        }