public static void Attach(IDatabaseSystem system, ILogger logger, IEventTransformer transformer) { if (system == null) { throw new ArgumentNullException(nameof(system)); } if (!(system is IEventHandler)) { throw new ArgumentException("The database system is not handling events"); } ((IEventHandler)system).Consume(@event => { try { var entry = transformer?.Transform(@event); if (entry == null) { throw new LogException("It was not possible to generate a log entry from an event"); } if (logger.IsInterestedIn(entry.Level)) { logger.LogAsync(entry).ConfigureAwait(false).GetAwaiter().GetResult(); } } catch (LogException) { throw; } catch (Exception ex) { throw new LogException("An error occurred while logging an event", ex); } }); }
public DatabaseSession(IDatabase db) { if (db == null) throw new ArgumentNullException("db"); this.db = db; sysState = db.System; }
public DatabaseSession(IDatabaseSystem sysState, string database) { if (sysState == null) throw new ArgumentNullException("sysState"); this.sysState = sysState; if (!String.IsNullOrEmpty(database)) db = sysState.GetDatabase(database); }
public DatabaseTests() { var container = new ServiceContainer(); container.Register <ITableSystem, TableSystemV2>(KnownScopes.Database); container.Register <IDbObjectManager, TableManager>(KnownScopes.Transaction, DbObjectType.Table); container.Register <IStoreSystem, InMemoryStoreSystem>(); system = new DatabaseSystem(container, new Configuration()); system.Start(); }
public SessionStatementExecuteTests() { var container = new ServiceContainer(); container.Register <ITableSystem, TableSystemV2>(KnownScopes.Database); container.Register <IStoreSystem, InMemoryStoreSystem>(); system = new DatabaseSystem(container, new Configuration()); system.Start(); database = system.CreateDatabase("test", new Configuration(), null); session = database.CreateSystemSession("app"); }
public EmbeddedSessionContext(IDatabaseSystem sysState, string database, bool allowShutdown, string username) : this(new DatabaseSession(sysState, database), allowShutdown, username) { }
public QuizSystem(IDatabaseSystem databaseSystem, ILoginSystem loginSystem) { this._databaseSystem = databaseSystem; this._loginSystem = loginSystem; }
private void Awake() { userAuthSystem = new NCMBLoginHandler(); databaseSystem = new NCMBDataStoreHandler(); }