protected void OnDatabaseChanged() { Analytics.TrackEvent(nameof(OnDatabaseChanged)); var database = Database; var filePath = database.Path; if (database.CruiseFileType.HasFlag(CruiseFileType.Cruise)) { String directroy = System.IO.Path.GetDirectoryName(filePath); UserSettings.CruiseSaveLocation = directroy; var fixMismatchSp = new FixMismatchSpeciesScript(); if (fixMismatchSp.CheckCanExecute(database)) { fixMismatchSp.Execute(database); } if (DatabaseValidator.HasCruiseErrors(database, out var errors)) { var errorMessage = String.Join("\r\n", errors); var errorData = new Dictionary <string, string>() { { "errorMessage", errorMessage } }; try { if (database.HasForeignKeyErrors()) { var fkc = String.Join(",", database.QueryGeneric("PRAGMA foreign_key_check") .Select(x => "{\r\n" + x.ToString() + "}") .ToArray()); errorData.Add("foreign_key_check", fkc); } } catch { } Crashes.TrackError(new Exception("Cruise_Errors"), errorData); //Analytics.TrackEvent("Cruise_Errors", errorData); this.ActiveView.ShowMessage(errorMessage, null); } WindowPresenter.ShowCruiseLandingLayout(); } else if (database.CruiseFileType.HasFlag(CruiseFileType.Template)) { String directroy = System.IO.Path.GetDirectoryName(filePath); UserSettings.TemplateSaveLocation = directroy; WindowPresenter.ShowTemplateLandingLayout(); } AppState.AddRecentFile(filePath); SaveCommand.Enabled = this.SaveAsCommand.Enabled = (database != null); }
public void ValidateSupermarketDatabase() { var db = SupermarketDatabase.Mock; var dbValidator = new DatabaseValidator(); var validationMessages = dbValidator.Validate(db); Assert.True(validationMessages.Count() > 0); }
public void ValidateStoreDatabase() { var db = StoreDatabase.Mock; var dbValidator = new DatabaseValidator(); var result = dbValidator.Validate(db); Assert.True(result.Count() == 0); }
public void ValidateStoreDatabase() { // Arrange var db = Databases.OnLineStore; var dbValidator = new DatabaseValidator(); // Act var result = dbValidator.Validate(db); // Assert Assert.True(result.IsValid); }
public void ValidateSupermarketDatabase() { // Arrange var db = Databases.Supermarket; var dbValidator = new DatabaseValidator(); // Act var result = dbValidator.Validate(db); // Assert Assert.False(result.IsValid); Assert.True(result.ValidationMessages.Count == 4); }
public static void Init(SimpleSQLManager database, PicturePack pack = null, List <PictureSaveData> saves = null) { DatabaseManager.db = database; bool flag = false; if (DatabaseManager.Version == 0) { int num = DatabaseManager.CreatePicDb(); int num2 = DatabaseManager.CreateSaveDb(); if (num != -1 && num2 != -1) { DatabaseManager.Version = 1; UnityEngine.Debug.Log("initial db creation successful"); } else { UnityEngine.Debug.Log(string.Concat(new object[] { "db error picDb:", num, " saveDb:", num2 })); } flag = true; } if (DatabaseManager.Version == 1) { DatabaseManager.DbUpdateOne(); DatabaseManager.Version = 2; } if (DatabaseManager.Version == 2) { DatabaseManager.CreateGiftDb(false); DatabaseManager.Version = 3; } if (DatabaseManager.Version == 3) { DatabaseManager.CreateNewsDb(false); DatabaseManager.Version = 4; } DatabaseValidator.Validate(DatabaseManager.db); if (flag && pack != null && pack.Pictures != null) { DatabaseManager.InitialDbFill(pack, saves); } }
public static void Validate(SimpleSQLManager db) { string text = string.Empty; if (DatabaseValidator.DbExists("PictureDb", db)) { int num = DatabaseValidator.DbContainsCollumns("PictureDb", "PicClass", db); if (num == -1) { text += "picDbUpd:-1"; UnityEngine.Debug.Log("picDb upd check error"); } else if (num == 0) { text += "picDbUpd:0"; UnityEngine.Debug.Log("picDb NOT up to date"); } } else { text += "pic:NULL|"; UnityEngine.Debug.Log("PictureDb doest not exist"); int num2 = DatabaseManager.FallbackCreatePicDb(); if (num2 == 1) { AnalyticsManager.DbRecovery("pic"); } } if (DatabaseValidator.DbExists("SaveDb", db)) { int num3 = DatabaseValidator.DbContainsCollumns("SaveDb", "HintsUsed", db); if (num3 == -1) { text += "saveDbUpd:-1"; UnityEngine.Debug.Log("saveDb upd check error"); } else if (num3 == 0) { text += "saveDbUpd:0"; UnityEngine.Debug.Log("saveDb NOT up to date"); } } else { text += "saves:NULL|"; UnityEngine.Debug.Log("SaveDb doest not exist"); int num4 = DatabaseManager.FallbackCreateSaveDb(); if (num4 == 1) { AnalyticsManager.DbRecovery("save"); } } if (!DatabaseValidator.DbExists("NewsDb", db)) { UnityEngine.Debug.Log("NewsDb doest not exist"); text += "news:NULL|"; int num5 = DatabaseManager.CreateNewsDb(true); if (num5 == 1) { AnalyticsManager.DbRecovery("news"); } } if (!DatabaseValidator.DbExists("GiftDb", db)) { UnityEngine.Debug.Log("GiftDb doest not exist"); text += "gifts:NULL|"; int num6 = DatabaseManager.CreateGiftDb(true); if (num6 == 1) { AnalyticsManager.DbRecovery("gift"); } } if (!string.IsNullOrEmpty(text)) { AnalyticsManager.DbValidationError(text); } }