Ejemplo n.º 1
0
        protected virtual void ConfigureConnection() // Method building a request dialog box, with presented actual connection string parameters, and allows for their independent change.
        {
            string currentConnectionString = ConnectionSetting.GetCurrentConnectionString();

            string[]      connectionStringRawParams = currentConnectionString.Split(';');
            List <string> connectionStringParams    = new List <string>();

            foreach (string rawParam in connectionStringRawParams)
            {
                string param = rawParam.Substring(rawParam.IndexOf('=') + 1);
                connectionStringParams.Add(param);
            }

            DialogBoxFactory dialogBoxFactory = new DialogBoxFactory();

            dialogBoxFactory.HeaderMessage       = "Ustawienia połączenia z bazą danych:";
            dialogBoxFactory.RequestedParameters = new List <string>()
            {
                "Nazwa/Adres Serwera", "Nazwa Bazy Danych", "Login", "Hasło"
            };
            dialogBoxFactory.DefaultValuesForRequestedParameters = connectionStringParams;
            dialogBoxFactory.CorrespondingRules = new List <ValidationRules>();

            RequestDialogBox dialogBox = dialogBoxFactory.GetRequestDialogBox();

            if ((bool)dialogBox.ShowDialog())
            {
                ConnectionSetting.SetNewConnectionString(dialogBox[0], dialogBox[1], dialogBox[2], dialogBox[3]);
                if (ConnectionSetting.TestDatabaseExistance())
                {
                    ReportStatus("Konfiguracja połączenia zakończona sukcesem.");
                }
                else
                {
                    ReportStatus("Błąd konfiguracji. Nie odnaleziono bazy danych.");
                }
            }
            else
            {
                ReportStatus("Konfiguracja połączenia anulowana.");
            }
        }