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."); } }