Example #1
0
        private void SettingsMenu_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (File.Exists(DataFileText.Text))
            {
                if (File.Exists(applicationConfigurationFile))
                {
                    if (MainMenuPublic != null)
                    {
                        MainMenuPublic.Xdoc.Element("ConfigFile").Element("ApplicationSettings").Element("DataReferences").Element("CustomerFile").Value = DataFileText.Text;
                        ConfugurationFileLocking.WriteXDocument(MainMenuPublic.Xdoc);
                    }
                    else
                    {
                        StockManagementMenu.Xdoc.Element("ConfigFile").Element("ApplicationSettings").Element("DataReferences").Element("CustomerFile").Value = DataFileText.Text;
                        ConfugurationFileLocking.WriteXDocument(StockManagementMenu.Xdoc);
                    }

                    // TODO: clear
                }
                else
                {
                    ConfugurationFileLocking = new FileLocking();

                    if (ConfugurationFileLocking.CreateAndLock(applicationConfigurationFile, FileAccess.ReadWrite, FileShare.Read, ref error))
                    {
                        using (XmlWriter writer = XmlWriter.Create(ConfugurationFileLocking.LockedFile))
                        {
                            writer.WriteStartDocument();
                            writer.WriteComment("This file is generated by the program. It contains application settings and all customer data.");

                            writer.WriteStartElement("ConfigFile");

                            writer.WriteStartElement("ApplicationSettings");

                            // DataReferences element
                            writer.WriteStartElement("DataReferences");
                            writer.WriteElementString("CustomerFile", DataFileText.Text);
                            writer.WriteEndElement();

                            // DataReferences element
                            writer.WriteStartElement("GeneralSettings");
                            writer.WriteElementString("CurrentUser", Environment.UserName);

                            switch (LanguageHolder.Text)
                            {
                            case "English":
                            case "Englisch":
                            {
                                writer.WriteElementString("Language", "English");
                            }
                            break;

                            case "German":
                            case "Deutsch":
                            {
                                writer.WriteElementString("Language", "German");
                            }
                            break;

                            default:
                            {
                                // Placeholder - will never be reached
                                // TODO: Create a protocol just to catch that case
                            }
                            break;
                            }
                            writer.WriteEndElement();

                            writer.WriteEndElement();

                            writer.WriteStartElement("CustomerData");
                            writer.WriteEndElement();

                            writer.WriteEndDocument();
                        }

                        // Asign the just created filestream to the variable in the main menu, do the same with the XDocument
                        MainMenuPublic.ConfugurationFileLocking = ConfugurationFileLocking;
                        MainMenuPublic.Xdoc = XDocument.Load(ConfugurationFileLocking.LockedFile);
                    }
                }

                if (!this.Owner.Visible)
                {
                    this.Owner.Visible = true;
                }

                this.Owner.BringToFront();
            }
            else
            {
                MessageBox.Show(Localisation.Localisation.strings.SettingsMenu_ValidFile);

                e.Cancel = true;
            }
        }
Example #2
0
        private void LanguageHolder_SelectionChangeCommitted(object sender, EventArgs e)
        {
            switch (LanguageHolder.Text)
            {
            case "English":
            case "Englisch":
            {
                Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");

                if (Xdoc != null)
                {
                    if (MainMenuPublic != null)
                    {
                        MainMenuPublic.CurrentLanguagePublic = Main.Languages.English;
                        MainMenuPublic.Xdoc.Element("ConfigFile").Element("ApplicationSettings").Element("GeneralSettings").Element("Language").Value = "English";
                        ConfugurationFileLocking.WriteXDocument(MainMenuPublic.Xdoc);
                    }
                    else
                    {
                        StockManagementMenu.CurrentLanguage = StockManagement.Languages.English;
                        StockManagementMenu.Xdoc.Element("ConfigFile").Element("ApplicationSettings").Element("GeneralSettings").Element("Language").Value = "English";
                        ConfugurationFileLocking.WriteXDocument(StockManagementMenu.Xdoc);
                    }
                }

                LanguageHolder.Items[0] = "English";
                LanguageHolder.Items[1] = "German";

                LanguageHolder.Text = LanguageHolder.Items[0].ToString();
            }
            break;

            case "German":
            case "Deutsch":
            {
                Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("de-DE");

                if (Xdoc != null)
                {
                    if (MainMenuPublic != null)
                    {
                        MainMenuPublic.CurrentLanguagePublic = Main.Languages.German;
                        MainMenuPublic.Xdoc.Element("ConfigFile").Element("ApplicationSettings").Element("GeneralSettings").Element("Language").Value = "German";
                        ConfugurationFileLocking.WriteXDocument(MainMenuPublic.Xdoc);
                    }
                    else
                    {
                        StockManagementMenu.CurrentLanguage = StockManagement.Languages.German;
                        StockManagementMenu.Xdoc.Element("ConfigFile").Element("ApplicationSettings").Element("GeneralSettings").Element("Language").Value = "German";
                        ConfugurationFileLocking.WriteXDocument(StockManagementMenu.Xdoc);
                    }
                }

                LanguageHolder.Items[0] = "Englisch";
                LanguageHolder.Items[1] = "Deutsch";

                LanguageHolder.Text = LanguageHolder.Items[1].ToString();
            }
            break;

            default:
            {
                // Placeholder - will never be reached
                // TODO: Create a protocol just to catch that case
            }
            break;
            }

            // Set the localisation of the settings menu
            SetLocalisation(true);

            // Set the localisation of the current background menu
            if (MainMenuPublic != null)
            {
                MainMenuPublic.SetLocalisation();
            }

            if (StockManagementMenu != null)
            {
                StockManagementMenu.SetLocalisation();
            }

            if (SeachWindowMenu != null)
            {
                SeachWindowMenu.SetLocalisation();
            }
        }