public static void RebuildDatabase()
        {
            using (TinyMoneyDataContext context = new TinyMoneyDataContext())
            {
                DatabaseSchemaUpdater dataBaseUpdater = null;
                if (!context.DatabaseExists())
                {
                    context.CreateDatabase();
                    dataBaseUpdater = context.CreateDatabaseSchemaUpdater();
                    dataBaseUpdater.DatabaseSchemaVersion = DatabaseVersion.CurrentVersion;
                    dataBaseUpdater.Execute();
                }
                else
                {
                    dataBaseUpdater = context.CreateDatabaseSchemaUpdater();
                    int databaseSchemaVersion = dataBaseUpdater.DatabaseSchemaVersion;
                    if (dataBaseUpdater.DatabaseSchemaVersion != DatabaseVersion.CurrentVersion)
                    {
                        try
                        {
                            UpdateStructure(dataBaseUpdater);
                            failedToUpdate = false;
                        }
                        catch (System.Exception exception)
                        {
                            oldVersion = databaseSchemaVersion;
                            failedToUpdate = true;
                            throw exception;
                        }
                        finally
                        {

                        }
                    }
                }
                BudgetManager.Current.SaveCurrentMonthBudgetSettleReport(context, System.DateTime.Now);
            }
        }
 public static void ForceRebuildDatabase()
 {
     GlobalIndicator.Instance.BusyForWork(LocalizedStrings.GetLanguageInfoByKey("RebuildingDatabase"));
     using (TinyMoneyDataContext context = new TinyMoneyDataContext())
     {
         DatabaseSchemaUpdater updater = null;
         if (context.DatabaseExists())
         {
             context.DeleteDatabase();
             context.CreateDatabase();
             updater = context.CreateDatabaseSchemaUpdater();
             updater.DatabaseSchemaVersion = DatabaseVersion.CurrentVersion;
             updater.Execute();
         }
     }
     ApplicationHelper.HasLoadDefaultCategorys = false;
     ViewModelLocator.instanceLoader.Reset("DataContext_AccountBookDataContext", new TinyMoneyDataContext());
     GlobalIndicator.Instance.WorkDone();
 }