Sakuno.KanColle.Amatsukaze.Preference.Initialize C# (CSharp) Method

Initialize() public method

public Initialize ( ) : void
return void
        public void Initialize()
        {
            using (var rConnection = new SQLiteConnection(@"Data Source=Roaming\Preferences\Main.db; Page Size=8192").OpenAndReturn())
            using (var rTransaction = rConnection.BeginTransaction())
            {
                using (var rCommand = rConnection.CreateCommand())
                {
                    rCommand.CommandText =
                        "CREATE TABLE IF NOT EXISTS metadata(key TEXT PRIMARY KEY NOT NULL, value) WITHOUT ROWID; " +
                        "INSERT OR IGNORE INTO metadata(key, value) VALUES('version', 1); " +

                        "CREATE TABLE IF NOT EXISTS preference(key TEXT PRIMARY KEY NOT NULL, value) WITHOUT ROWID; " +
                        "INSERT OR REPLACE INTO preference(key, value) VALUES('main.version', @version);";
                    rCommand.Parameters.AddWithValue("@version", ProductInfo.AssemblyVersionString);

                    rCommand.ExecuteNonQuery();
                }

                rTransaction.Commit();
            }

            Connection = CoreDatabase.Connection;
            using (var rCommand = Connection.CreateCommand())
            {
                rCommand.CommandText = "ATTACH @filename AS preference;";
                rCommand.Parameters.AddWithValue("@filename", new FileInfo(@"Roaming\Preferences\Main.db").FullName);

                rCommand.ExecuteNonQuery();
            }
        }