public bool OnLeavePage(bool next) { if (next == false) { return(true); } try { AddToLog("Starting task..."); // Perform the task... hMailServer.eDBtype dbType = Globals.GetDatabaseType(_state["ServerType"]); string serverName = _state["ServerAddress"]; string portString = _state["ServerPort"]; int port = 0; int.TryParse(portString, out port); string databaseName = _state["DatabaseName"]; string userName = _state["Username"]; string passWord = _state["Password"]; string serviceDependency = _state["ServiceDependency"]; SetDependency(serviceDependency); if (_state["Authentication"] == "Windows") { userName = ""; passWord = ""; } hMailServer.Database database = Globals.GetApp().Database; if (_state["CreateNew"] == "Yes") { AddToLog("Please wait while creating database..."); database.CreateExternalDatabase(dbType, serverName, port, databaseName, userName, passWord); AddToLog("Database created."); } else { AddToLog("Please wait while updating database settings..."); database.SetDefaultDatabase(dbType, serverName, port, databaseName, userName, passWord); AddToLog("Settings updated."); } AddToLog("Restarting server..."); Globals.GetApp().Reinitialize(); AddToLog("Server restarted."); AddToLog(""); AddToLog("Task completed."); } catch (Exception ex) { AddToLog(ex.Message); return(false); } return(true); }
private void EnableDisable() { textUsername.Enabled = radioUseServerAuthentication.Checked; textPassword.Enabled = radioUseServerAuthentication.Checked; hMailServer.eDBtype dbType = Globals.GetDatabaseType(_state["ServerType"]); textServerPort.Enabled = dbType != hMailServer.eDBtype.hDBTypeMSSQL; }
public static string GetDatabaseServerTypeName(hMailServer.eDBtype dbType) { switch (dbType) { case eDBtype.hDBTypeMSSQL: return("MSSQL"); case eDBtype.hDBTypeMSSQLCE: return("MSSQL CE"); case eDBtype.hDBTypeMySQL: return("MySQL"); case eDBtype.hDBTypePostgreSQL: return("PostgreSQL"); case eDBtype.hDBTypeUnknown: return("Unknown"); } throw new Exception("Unknown administration level"); }
public void OnShowPage(Dictionary <string, string> state) { _state = state; if (_state.ContainsKey("ServerAddress")) { textServerAddress.Text = _state["ServerAddress"]; } if (_state.ContainsKey("ServerPort")) { textServerPort.Text = _state["ServerPort"]; } if (_state.ContainsKey("DatabaseName")) { textDatabaseName.Text = _state["DatabaseName"]; } if (_state.ContainsKey("Authentication")) { if (_state["Authentication"] == "Server") { radioUseServerAuthentication.Checked = true; } else if (_state["Authentication"] == "Windows") { radioUseWindowsAuthentication.Checked = true; } } if (_state.ContainsKey("Username")) { textUsername.Text = _state["Username"]; } if (_state.ContainsKey("Password")) { textPassword.Text = _state["Password"]; } hMailServer.eDBtype dbType = Globals.GetDatabaseType(_state["ServerType"]); switch (dbType) { case hMailServer.eDBtype.hDBTypeMySQL: radioUseWindowsAuthentication.Enabled = false; radioUseServerAuthentication.Checked = true; break; case hMailServer.eDBtype.hDBTypePostgreSQL: radioUseWindowsAuthentication.Enabled = false; radioUseServerAuthentication.Checked = true; break; case hMailServer.eDBtype.hDBTypeMSSQL: radioUseWindowsAuthentication.Enabled = true; textServerPort.Text = ""; break; } if (textServerPort.Text.Length == 0 || textServerPort.Number == 3306 || textServerPort.Number == 5432) { switch (dbType) { case hMailServer.eDBtype.hDBTypeMySQL: textServerPort.Number = 3306; break; case hMailServer.eDBtype.hDBTypePostgreSQL: textServerPort.Number = 5432; break; } } EnableDisable(); }