public static bool InitializeDatabaseSchema() { if (DatabaseInitialized) { return(true); } MySqlDataManipulator manipulator = new MySqlDataManipulator(); using (manipulator) { if (!manipulator.Connect(TestingConstants.DatabaselessConnectionString)) { Console.WriteLine("Encountered an error opening the global configuration connection"); Console.WriteLine(manipulator.LastException.Message); return(false); } if (!manipulator.ValidateDatabaseIntegrity(TestingConstants.DatabaselessConnectionString, "db_test")) { Console.WriteLine("Encountered an error opening the global configuration connection"); Console.WriteLine(manipulator.LastException.Message); return(false); } if (!manipulator.Connect(TestingConstants.ConnectionString)) { Console.WriteLine("Encountered an error opening the global configuration connection"); Console.WriteLine(manipulator.LastException.Message); return(false); } if (manipulator.GetCompanyById(1) == null) { if (!manipulator.AddCompany(TestingCompanyStorage.ValidCompany1)) { Console.WriteLine("Encountered an error adding the first valid company"); Console.WriteLine(manipulator.LastException.Message); return(false); } } if (manipulator.GetCompanyById(2) == null) { if (!manipulator.AddCompany(TestingCompanyStorage.ValidCompany2)) { Console.WriteLine("Encountered an error adding the second valid company"); Console.WriteLine(manipulator.LastException.Message); return(false); } } DatabaseInitialized = true; if (!InitializeUsers()) { return(false); } if (!InitializeJoinRequests()) { return(false); } if (!InitializePartCatelogueEntries()) { return(false); } if (!InitializePartsRequests()) { return(false); } if (!GlobalModelHelper.LoadOrTrainGlobalModels(ReflectionHelper.GetAllKeywordPredictors())) { return(false); } } MySqlDataManipulator.GlobalConfiguration.Connect(TestingConstants.ConnectionString); MySqlDataManipulator.GlobalConfiguration.Close(); return(true); }