// LoadSettings is called from Program.cs internal static bool LoadSettings() { if (!File.Exists(Shared.SettingsFile)) { settings = new SettingsRoot(); settings.appTimeout = 1.00M; settings.dbServer = $"database_{Shared.DbUserTableName.DecryptBase64StringToText().ToUnsecureString()}.json"; settings.dbType = 0; SaveSettings(); return(false); } settings = JsonConvert.DeserializeObject <SettingsRoot>(File.ReadAllText(Shared.SettingsFile)); AbstractDatabase db = Shared.GetDatabase(); if (db.ConnectionString != "" && db.TestConnection()) { dtCredentials = db.GetPasswords(); } foreach (DataRow dr in dtCredentials.Rows) { dr["CredentialName"] = dr["CredentialName"].ToString().DecryptBase64StringToText().ToUnsecureString(); } return(true); }
internal static AbstractDatabase GetDatabase() { AbstractDatabase db = null; switch (settings.dbType) { case 0: db = new JsonDatabase(); db.ConnectionString = settings.dbServer; break; case 1: db = new SqlServerDatabase(); db.ConnectionString = settings.dbConnStr; break; case 2: db = new MySqlDatabase(); db.ConnectionString = settings.dbConnStr; break; case 3: db = new SQLiteDatabase(); db.ConnectionString = settings.dbConnStr; break; case 4: db = new XMLDatabase(); db.ConnectionString = settings.dbServer; break; } db.CreateTable(); return(db); }