示例#1
0
        // 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);
        }
示例#2
0
        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);
        }