private static void RunMain() { var splashScreen = new SplashScreen(); splashScreen.Show(); OrmLiteConfig.DialectProvider = SqliteDialect.Provider; OrmLiteConfig.DialectProvider.NamingStrategy = new OrmLiteNamingStrategyBase(); // Create a factory for database connections var dbFactory = new OrmLiteConnectionFactory( Environment.GetEnvironmentVariable("APPDATA") + @"\EDTradingTool\EDTradingToolDB.sqlite", SqliteDialect.Provider, false ); // Create the class which is used for accessing entities Core.IEntityAccess entityAccess = new Data.EntityAccess(dbFactory); // Create a factory for entity managers which help keeping data integrity clean var entityManagerFactory = new Data.EntityManagerFactory(entityAccess); // Create a controller var controller = new Controller(entityManagerFactory, new EntityLinker(entityAccess), entityAccess.HandledTypes); // Create a GUI var mainForm = new GUI.MainForm( new GUI.Reports.CommodityTypeStatsHandler(), new GUI.Reports.SpaceStationStatsHandler(controller), new GUI.Reports.CommodityGroupStatsHandler(controller) ); mainForm.Initialize(controller); controller.Initialize(entityAccess); Test(controller); splashScreen.Hide(); Application.Run(mainForm); }
/// <summary> /// Constructor. /// </summary> /// <param name="entityManagerFactory">The factory for entity managers.</param> /// <param name="entityLinker">The linker for entities.</param> public Controller(Data.EntityManagerFactory entityManagerFactory, EntityLinker entityLinker, List <Type> handledTypes) { _entityManagerFactory = entityManagerFactory; _entityLinker = entityLinker; _handledTypes = handledTypes; }