private void CreateSqlCeDb() { var _fileName = "easy.sdf"; string connectionString = string.Format("Data Source={0}", _fileName); var filePath = Path.Combine(Directory.GetCurrentDirectory(), _fileName); if (!File.Exists(filePath)) //File.Create(filePath,1,FileOptions.Asynchronous); { const string assemblyName = "System.Data.SqlServerCe"; const string typeName = "System.Data.SqlServerCe.SqlCeEngine"; var sqlceEngineHandle = Activator.CreateInstance(assemblyName, typeName); var engine = sqlceEngineHandle.Unwrap(); engine.GetType().GetProperty("LocalConnectionString").SetValue(engine, connectionString, null /*index*/); //engine.CreateDatabase(); engine.GetType().GetMethod("CreateDatabase").Invoke(engine, null); //engine.Dispose(); engine.GetType().GetMethod("Dispose").Invoke(engine, null); } ConnectionManager.RegisterConnectionType(DatabaseType.SqlCe, typeof(SqlceConnection)); ConnectionManager.SetConnection(DatabaseType.SqlCe, connectionString); ConnectionManager.InitManager(DatabaseType.SqlCe, 1); var logger = Container.Resolve <ILoggerFacade>(); OrmManager.SetDatabase(new SqlCeDatabase(logger)); }
private void CreateSqliteDb() { var _fileName = "easy.db"; string connectionString = string.Format("Data Source={0}", _fileName); var filePath = Path.Combine(Directory.GetCurrentDirectory(), _fileName); if (!File.Exists(filePath)) //File.Create(filePath,1,FileOptions.Asynchronous); { System.Data.SQLite.SQLiteConnection.CreateFile(filePath); } ConnectionManager.RegisterConnectionType(DatabaseType.SQLite, typeof(SqliteConnection)); ConnectionManager.SetConnection(DatabaseType.SQLite, connectionString); ConnectionManager.InitManager(DatabaseType.SQLite, 1); // var logger = Container.Resolve<ILoggerFacade>(); OrmManager.SetDatabase(new SQLiteDatabase()); }
protected override void InitializeShell() { base.InitializeShell(); //Application.Current.MainWindow = (Window)Shell; if (OrmManager.HasTable <SettingModel>()) { var setting = OrmManager.GetDefault <SettingModel>(); if (Theme.GetTheme(setting.Theme) != null) { AppearanceManager.Current.ThemeSource = new Uri(Theme.GetTheme(setting.Theme).Path, UriKind.Relative); } var fontsize = Theme.GetThemeFrontSize(setting.FontSize); Application.Current.Resources[AppearanceManager.KeyDefaultFontSize] = fontsize.DefaultFontSize; Application.Current.Resources[AppearanceManager.KeyFixedFontSize] = fontsize.FixedFontSize; AppearanceManager.Current.AccentColor = Theme.GetThemeColorByName(setting.Color).ColorAlias; } Application.Current.MainWindow.Show(); }
protected override void InitializeModules() { var modulePath = Path.Combine(Directory.GetCurrentDirectory(), MODULES_PATH); if (!Directory.Exists(modulePath)) { Directory.CreateDirectory(modulePath); } var directoryCatalog = (DirectoryModuleCatalog)ModuleCatalog; if (directoryCatalog.Items.Count > 0) { var asms = directoryCatalog.Items.Select(x => Assembly.LoadFrom(((ModuleInfo)x).Ref)).ToList(); asms.Add(typeof(Bootstrapper).Assembly); Register(asms); } else { Register(new[] { typeof(Bootstrapper).Assembly }); } Container.RegisterType <IEnumerable <INavigateProvider>, INavigateProvider[]>(); Container.RegisterType <IEnumerable <ICommandInterpreter>, ICommandInterpreter[]>(); Container.RegisterType <IEnumerable <IDataMigration>, IDataMigration[]>(); Container.RegisterType <IEnumerable <QQRob.Services.IAutoAnswer>, QQRob.Services.IAutoAnswer[]>(); // Container.RegisterInstance(Container); base.InitializeModules(); var schemaBuilder = new SchemaBuilder(Container.Resolve <IDataMigrationInterpreter>()); if (!OrmManager.HasTable <Tables.OrmTablesInfo>()) { schemaBuilder.CreateTable("OrmTablesInfo", table => table .Column <int>("Id", column => column.PrimaryKey().Identity())//PrimaryKey(). .Column <string>("DataMigrationClass") .Column <int>("Version")); } if (!OrmManager.HasTable <SettingModel>()) { schemaBuilder.CreateTable("Setting", table => table .Column <int>("Id", column => column.PrimaryKey().Identity())//PrimaryKey(). .Column <string>("Theme") .Column <string>("FontSize") .Column <string>("Color")); OrmManager.Insert(new SettingModel()); var setting = new SettingModel(); AppearanceManager.Current.ThemeSource = new Uri(Theme.GetTheme(setting.Theme).Path, UriKind.Relative); var fontsize = Theme.GetThemeFrontSize(setting.FontSize); Application.Current.Resources[AppearanceManager.KeyDefaultFontSize] = fontsize.DefaultFontSize; Application.Current.Resources[AppearanceManager.KeyFixedFontSize] = fontsize.FixedFontSize; AppearanceManager.Current.AccentColor = Theme.GetThemeColorByName(setting.Color).ColorAlias; } /* var links = Container.ResolveAll<INavigateProvider>(); * var shell = (this.Shell as MainWindow); * if (shell != null && links.Count() > 0) * { * foreach (var link in links.Where(x => x.Name == NavigateProvider.Main)) * { * // linkGroupCollection.Add(link.GetLinkGroup()); * * shell.AddLinkGroups(new LinkGroupCollection() { link.GetLinkGroup() });//.AddLinkGroups(linkGroupCollection); * * } * foreach (var link in links.Where(x => x.Name == NavigateProvider.Title)) * { * shell.AddTitleLinks(link.GetLinkGroup().Links); * } * }*/ var datemanager = Container.Resolve <IDataMigrationManager>(); var features = datemanager.GetFeaturesThatNeedUpdate(); datemanager.Update(features); }