protected void create_database_Click(object sender, System.EventArgs e) { Session["TrySqlPassword"] = txtSqlPassword.Text; txtSqlPassword.Attributes.Add("Value", txtSqlPassword.Text); if (intDbTypeMsAccess.Checked) { return; } Utils.SettingsPath = AdminPanelUtils.GetWebMailFolder(); DbManager dbMan = null; string connectionString = string.Empty; SupportedDatabase dbType = SupportedDatabase.MsSqlServer; if (intDbTypeMsAccess.Checked) { dbMan = new MsAccessDbManager(); dbType = SupportedDatabase.MsAccess; } else if (intDbTypeMySql.Checked) { dbMan = new MySqlDbManager(); dbType = SupportedDatabase.MySql; } else { dbMan = new MsSqlDbManager(); dbType = SupportedDatabase.MsSqlServer; } string dsn = txtSqlDsn.Value; if (!useDSN.Checked) { dsn = string.Empty; } connectionString = DbManager.CreateConnectionString(useCS.Checked, odbcConnectionString.Value, dsn, dbType, txtAccessFile.Value, txtSqlLogin.Value, txtSqlPassword.Text, null, txtSqlSrc.Value); try { dbMan.Connect(connectionString); dbMan.CreateDatabase(txtSqlName.Value); _errorMessageCreateDB = @"<br /><font color=""green"">Database create successfily.</font>"; } catch (WebMailDatabaseException error) { Log.WriteException(error); _errorMessageCreateDB = @"<br /><font color=""red"">" + error.Message + "</font>"; } finally { dbMan.Disconnect(); } }
public static DbContextOptionsBuilder UseDatabase( this DbContextOptionsBuilder options, SupportedDatabase db, string connectionString) { switch (db) { case SupportedDatabase.SqlServer: return(options.UseSqlServer(connectionString)); case SupportedDatabase.Postgres: return(options.UseNpgsql(connectionString)); default: throw new InvalidOperationException($"Unkown database: {db}"); } }
protected void test_connection_Click(object sender, System.EventArgs e) { Utils.SettingsPath = AdminPanelUtils.GetWebMailFolder(); DbManager dbMan = null; string connectionString = string.Empty; SupportedDatabase dbType = SupportedDatabase.MsSqlServer; if (intDbTypeMsAccess.Checked) { dbMan = new MsAccessDbManager(); dbType = SupportedDatabase.MsAccess; } else if (intDbTypeMySql.Checked) { dbMan = new MySqlDbManager(); dbType = SupportedDatabase.MySql; } else { dbMan = new MsSqlDbManager(); dbType = SupportedDatabase.MsSqlServer; } WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(AdminPanelUtils.GetWebMailDataFolder()); txtSqlPassword.Text = Request[txtSqlPassword.UniqueID] ?? settings.DbPassword; txtSqlLogin.Value = Request[txtSqlLogin.UniqueID] ?? settings.DbLogin; txtSqlName.Value = Request[txtSqlName.UniqueID] ?? settings.DbName; txtSqlDsn.Value = Request[txtSqlDsn.UniqueID] ?? settings.DbDsn; txtSqlSrc.Value = Request[txtSqlSrc.UniqueID] ?? settings.DbHost; txtAccessFile.Value = Request[txtAccessFile.UniqueID] ?? settings.DbPathToMdb; odbcConnectionString.Value = Request[odbcConnectionString.UniqueID] ?? settings.DbCustomConnectionString; useCS.Checked = (Request[useCS.UniqueID] != null) ? true : settings.UseCustomConnectionString; useDSN.Checked = (Request[useDSN.UniqueID] != null) ? true : settings.UseDSN; Session["TrySqlPassword"] = txtSqlPassword.Text; txtSqlPassword.Attributes.Add("Value", txtSqlPassword.Text); string dsn = txtSqlDsn.Value; if (!useDSN.Checked) { dsn = string.Empty; } connectionString = DbManager.CreateConnectionString(useCS.Checked, odbcConnectionString.Value, dsn, dbType, txtAccessFile.Value, txtSqlLogin.Value, txtSqlPassword.Text, txtSqlName.Value, txtSqlSrc.Value); try { dbMan.Connect(connectionString); AdminPanelUtils.SetPageReportMessage(this.Page, Constants.mailAdmConnectSuccess); } catch (WebMailDatabaseException error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, Constants.mailAdmConnectUnsuccess); } finally { dbMan.Disconnect(); } }
protected void test_connection_Click(object sender, System.EventArgs e) { Session["TrySqlPassword"] = txtSqlPassword.Text; txtSqlPassword.Attributes.Add("Value", txtSqlPassword.Text); Utils.SettingsPath = AdminPanelUtils.GetWebMailFolder(); DbManager dbMan = null; string connectionString = string.Empty; SupportedDatabase dbType = SupportedDatabase.MsSqlServer; if (intDbTypeMsAccess.Checked) { dbMan = new MsAccessDbManager(); dbType = SupportedDatabase.MsAccess; } else if (intDbTypeMySql.Checked) { dbMan = new MySqlDbManager(); dbType = SupportedDatabase.MySql; } else { dbMan = new MsSqlDbManager(); dbType = SupportedDatabase.MsSqlServer; } string dsn = txtSqlDsn.Value; if (!useDSN.Checked) { dsn = string.Empty; } connectionString = DbManager.CreateConnectionString(useCS.Checked, odbcConnectionString.Value, dsn, dbType, txtAccessFile.Value, txtSqlLogin.Value, txtSqlPassword.Text, txtSqlName.Value, txtSqlSrc.Value); try { dbMan.Connect(connectionString); if (!intDbTypeMsAccess.Checked) { try { dbMan.DropTable("a_test", DbPrefix.Value); } catch { } dbMan.CreateTable("a_test", DbPrefix.Value); dbMan.DropTable("a_test", DbPrefix.Value); } _errorMessageConnection = @"<font color=""green"">" + Constants.mailAdmConnectSuccess + "</font>"; } catch (WebMailDatabaseException error) { Log.WriteException(error); _errorMessageConnection = @"<font color=""red"">" + Constants.mailAdmConnectUnsuccess + ": " + error.Message + "</font>"; } finally { dbMan.Disconnect(); } }