public YamsterArchiveDb(SQLiteMapper mapper, EventHandler <SQLiteDataContextUpgradeEventArgs> beforeUpgradeHandler, EventHandler afterUpgradeHandler) : base(mapper, beforeUpgradeHandler, afterUpgradeHandler) { // Validate the database state int archiveDbVersion = GetObjectVersion("Archive"); if (archiveDbVersion != CurrentArchiveDbVersion) { if (archiveDbVersion == 0) { Debug.WriteLine("Uninitialized database -- creating tables"); } else if (archiveDbVersion == -1) { Debug.WriteLine("ArchiveDb is inactive -- skipping initialization"); return; } else { throw new UnsupportedDatabaseVersionException("Archive", archiveDbVersion, CurrentArchiveDbVersion); } CreateTables(); InitDatabase(markInactive: false); } }
public void Dispose() { if (this.disposed) { return; } this.disposed = true; this.sqliteMapper.Dispose(); this.sqliteMapper = null; this.asyncRestCaller.Dispose(); this.asyncRestCaller = null; }
public void ConnectDatabase(EventHandler <SQLiteDataContextUpgradeEventArgs> beforeUpgradeHandler, EventHandler afterUpgradeHandler) { if (this.DatabaseConnected) { throw new InvalidOperationException("The database is already connected"); } this.sqliteMapper = new SQLiteMapper(this.DatabaseFilePath, createIfMissing: true); this.sqliteMapper.Open(); this.yamsterArchiveDb = new YamsterArchiveDb(sqliteMapper, beforeUpgradeHandler, afterUpgradeHandler); this.yamsterCoreDb = new YamsterCoreDb(yamsterArchiveDb); this.yamsterCache = new YamsterCache(this); this.messagePuller = new MessagePuller(this); }