Esempio n. 1
0
        /// <summary>
        /// Check sqlite database
        /// </summary>
        /// <returns>when database is compatible, return true</returns>
        private bool CheckDatabase()
        {
            var ver = Database.ManagementCrud.DatabaseVersion;

            if (String.IsNullOrEmpty(ver))
            {
                Database.ManagementCrud.DatabaseVersion = DbVersion;
            }
            else if (ver != DbVersion)
            {
                switch (ver)
                {
                // base version
                case "1.0":
                    DatabaseMigrator.MigrateToVersionA();
                    DatabaseMigrator.MigrateToVersionB();
                    DatabaseMigrator.MigrateToVersionC();
                    Database.ManagementCrud.DatabaseVersion = DbVersion;
                    return(true);

                case "A":
                    DatabaseMigrator.MigrateToVersionB();
                    DatabaseMigrator.MigrateToVersionC();
                    Database.ManagementCrud.DatabaseVersion = DbVersion;
                    return(true);

                case "B":
                    DatabaseMigrator.MigrateToVersionC();
                    Database.ManagementCrud.DatabaseVersion = DbVersion;
                    return(true);
                }
                return(false);
            }
            return(true);
        }