private void LoadConfigurationParamFromXML()
        {
            ListConfigurationParam.Clear();

            if (File.Exists(PathToXML))
            {
                XPathDocument  xPathDoc          = new XPathDocument(PathToXML);
                XPathNavigator xPathDocNavigator = xPathDoc.CreateNavigator();

                XPathNodeIterator ConfigurationParamNodes = xPathDocNavigator.Select("/root/Configuration");
                while (ConfigurationParamNodes.MoveNext())
                {
                    ConfigurationParam ItemConfigurationParam = new ConfigurationParam();

                    XPathNavigator currentNode = ConfigurationParamNodes.Current;

                    string SelectAttribute = currentNode.GetAttribute("Select", "");
                    if (!String.IsNullOrEmpty(SelectAttribute))
                    {
                        ItemConfigurationParam.Select = bool.Parse(SelectAttribute);
                    }

                    ItemConfigurationParam.ConfigurationKey  = currentNode.SelectSingleNode("Key").Value;
                    ItemConfigurationParam.ConfigurationName = currentNode.SelectSingleNode("Name").Value;
                    ItemConfigurationParam.DataBaseServer    = currentNode.SelectSingleNode("Server").Value;
                    ItemConfigurationParam.DataBasePort      = int.Parse(currentNode.SelectSingleNode("Port").Value);
                    ItemConfigurationParam.DataBaseLogin     = currentNode.SelectSingleNode("Login").Value;
                    ItemConfigurationParam.DataBasePassword  = currentNode.SelectSingleNode("Password").Value;
                    ItemConfigurationParam.DataBaseBaseName  = currentNode.SelectSingleNode("BaseName").Value;

                    ListConfigurationParam.Add(ItemConfigurationParam);
                }
            }
        }
Exemplo n.º 2
0
        private void ConfigurationSelectionParam_Load(object sender, EventArgs e)
        {
            if (IsNew)
            {
                ItemConfigurationParam = new ConfigurationParam();
                ItemConfigurationParam.ConfigurationKey = Guid.NewGuid().ToString();
            }
            else
            {
                if (ItemConfigurationParam != null)
                {
                    textBoxConfName.Text = ItemConfigurationParam.ConfigurationName;
                }
                else
                {
                    new Exception("ItemConfigurationParam null");
                }
            }

            textBoxPostgreSQLServer.Text   = ItemConfigurationParam.DataBaseServer;
            textBoxPostgreSQLLogin.Text    = ItemConfigurationParam.DataBaseLogin;
            textBoxPostgreSQLPassword.Text = ItemConfigurationParam.DataBasePassword;
            textBoxPostgreSQLPort.Text     = ItemConfigurationParam.DataBasePort.ToString();
            textBoxPostgreSQLDataBase.Text = ItemConfigurationParam.DataBaseBaseName;
        }
        private void buttonOpenConf_Click(object sender, EventArgs e)
        {
            if (listBoxConfiguration.SelectedItem != null)
            {
                ConfigurationParam itemConfigurationParam = (ConfigurationParam)listBoxConfiguration.SelectedItem;
                foreach (ConfigurationParam ItemConfigurationParam in ListConfigurationParam)
                {
                    ItemConfigurationParam.Select = ItemConfigurationParam.ConfigurationKey == itemConfigurationParam.ConfigurationKey;
                }
                SaveConfigurationParamFromXML();

                Exception exception;
                bool      flagOpen = OpenConfiguration(itemConfigurationParam, out exception);

                if (flagOpen)
                {
                    this.DialogResult = DialogResult.OK;
                    this.Hide();
                }
                else
                {
                    MessageBox.Show(exception.Message);
                }
            }
        }
        private void ConfigurationSelectionForm_Load(object sender, EventArgs e)
        {
            string assemblyLocation = Path.GetDirectoryName(Application.ExecutablePath);

            PathToXML     = assemblyLocation + "\\ConfigurationParam.xml";
            PathToConfXML = assemblyLocation + "\\Confa.xml";

#if DEBUG
            //Конфігурація береться із папки Configurator
            //PathToConfXML = @"E:\Project\StorageAndTrade\StorageAndTrade\bin\Debug\Confa.xml";
#endif

            LoadConfigurationParamFromXML();

            if (!String.IsNullOrEmpty(AutoOpenConfigurationKey))
            {
                bool KeyFound = false;
                ConfigurationParam ItemConfigurationParamFound = new ConfigurationParam();

                foreach (ConfigurationParam ItemConfigurationParam in ListConfigurationParam)
                {
                    if (ItemConfigurationParam.ConfigurationKey == AutoOpenConfigurationKey)
                    {
                        ItemConfigurationParamFound = ItemConfigurationParam;
                        KeyFound = true;

                        break;
                    }
                }

                if (KeyFound)
                {
                    Exception exception;
                    bool      flagOpen = OpenConfiguration(ItemConfigurationParamFound, out exception);

                    if (flagOpen)
                    {
                        this.DialogResult = DialogResult.OK;
                        this.Hide();

                        return;
                    }
                    else
                    {
                        MessageBox.Show("Помилка відкриття конфігурації: " + exception.Message);
                    }
                }
                else
                {
                    MessageBox.Show("Помилка: Ключ конфігурації '" + AutoOpenConfigurationKey + "' не знайдено!");
                }
            }

            Fill_listBoxConfiguration();
        }
        private void buttonCopy_Click(object sender, EventArgs e)
        {
            if (listBoxConfiguration.SelectedItem != null)
            {
                ConfigurationParam itemConfigurationParam = (ConfigurationParam)listBoxConfiguration.SelectedItem;

                ListConfigurationParam.Add(itemConfigurationParam.Clone());

                SaveConfigurationParamFromXML();
                Fill_listBoxConfiguration();
            }
        }
        private void listBoxConfiguration_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (listBoxConfiguration.SelectedItem != null)
            {
                ConfigurationParam itemConfigurationParam = (ConfigurationParam)listBoxConfiguration.SelectedItem;

                ConfigurationSelectionParam configurationSelectionParamForm = new ConfigurationSelectionParam();
                configurationSelectionParamForm.IsNew = false;
                configurationSelectionParamForm.ItemConfigurationParam = itemConfigurationParam;
                configurationSelectionParamForm.CallBack_Update        = CallBack_Update;
                configurationSelectionParamForm.ShowDialog();
            }
        }
        public ConfigurationParam Clone()
        {
            ConfigurationParam configurationParam = new ConfigurationParam();

            configurationParam.ConfigurationKey  = Guid.NewGuid().ToString();
            configurationParam.ConfigurationName = ConfigurationName;
            configurationParam.DataBaseServer    = DataBaseServer;
            configurationParam.DataBaseLogin     = DataBaseLogin;
            configurationParam.DataBasePassword  = DataBasePassword;
            configurationParam.DataBaseBaseName  = DataBaseBaseName;
            configurationParam.DataBasePort      = DataBasePort;

            return(configurationParam);
        }
        private bool OpenConfiguration(ConfigurationParam itemConfigurationParam, out Exception exception)
        {
            Program.Kernel = new Kernel();

            bool flagOpen = Program.Kernel.Open(PathToConfXML,
                                                itemConfigurationParam.DataBaseServer,
                                                itemConfigurationParam.DataBaseLogin,
                                                itemConfigurationParam.DataBasePassword,
                                                itemConfigurationParam.DataBasePort,
                                                itemConfigurationParam.DataBaseBaseName,

                                                out exception);

            return(flagOpen);
        }
        private void buttonDelete_Click(object sender, EventArgs e)
        {
            if (listBoxConfiguration.SelectedItem != null)
            {
                if (MessageBox.Show("Видалити?", "Видалити?", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    ConfigurationParam itemConfigurationParam = (ConfigurationParam)listBoxConfiguration.SelectedItem;

                    foreach (ConfigurationParam ItemConfigurationParam in ListConfigurationParam)
                    {
                        if (ItemConfigurationParam.ConfigurationKey == itemConfigurationParam.ConfigurationKey)
                        {
                            ListConfigurationParam.Remove(ItemConfigurationParam);

                            SaveConfigurationParamFromXML();
                            Fill_listBoxConfiguration();

                            break;
                        }
                    }
                }
            }
        }
        void CallBack_Update(ConfigurationParam itemConfigurationParam, bool isNew)
        {
            foreach (ConfigurationParam ItemConfigurationParam in ListConfigurationParam)
            {
                ItemConfigurationParam.Select = false;
            }

            if (isNew)
            {
                itemConfigurationParam.Select = true;
                ListConfigurationParam.Add(itemConfigurationParam);
                SaveConfigurationParamFromXML();
            }
            else
            {
                foreach (ConfigurationParam ItemConfigurationParam in ListConfigurationParam)
                {
                    if (ItemConfigurationParam.ConfigurationKey == itemConfigurationParam.ConfigurationKey)
                    {
                        ItemConfigurationParam.ConfigurationName = itemConfigurationParam.ConfigurationName;
                        ItemConfigurationParam.DataBaseServer    = itemConfigurationParam.DataBaseServer;
                        ItemConfigurationParam.DataBaseLogin     = itemConfigurationParam.DataBaseLogin;
                        ItemConfigurationParam.DataBasePassword  = itemConfigurationParam.DataBasePassword;
                        ItemConfigurationParam.DataBaseBaseName  = itemConfigurationParam.DataBaseBaseName;
                        ItemConfigurationParam.DataBasePort      = itemConfigurationParam.DataBasePort;
                        ItemConfigurationParam.Select            = true;

                        SaveConfigurationParamFromXML();
                        break;
                    }
                }
            }

            //LoadConfigurationParamFromXML();
            Fill_listBoxConfiguration();
        }