/// <summary> /// Registers a ledger provider for use from the static <see cref="Ledger"/> class, /// throughout the lifetime of the application. /// /// Note: Only one ledger provider can be registered. /// </summary> /// <param name="LedgerProvider">Ledger provider to use.</param> /// <param name="Lock">If the ledger provider should be locked for the rest of the running time of the application.</param> public static void Register(ILedgerProvider LedgerProvider, bool Lock) { if (provider != null && locked) { throw new Exception("A ledger provider is already registered."); } provider = LedgerProvider; locked = Lock; }
/// <summary> /// Stops the module. /// </summary> public async Task Stop() { if (Database.HasProvider) { databaseProvider = Database.Stop(); await databaseProvider.Stop(); } if (Ledger.HasProvider) { ledgerProvider = Ledger.Stop(); await ledgerProvider.Stop(); } }
/// <summary> /// Starts the module. /// </summary> /// <returns>If an asynchronous start operation has been started, a wait handle is returned. This /// wait handle can be used to wait for the asynchronous process to finish. If no such asynchronous /// operation has been started, null can be returned.</returns> public async Task Start() { if (Database.HasProvider) { await Database.Provider.Start(); } if (Ledger.HasProvider) { await Ledger.Provider.Start(); } databaseProvider = null; ledgerProvider = null; }
/// <summary> /// Registers a ledger provider for use from the static <see cref="Ledger"/> class, /// throughout the lifetime of the application. /// /// Note: Only one ledger provider can be registered. /// </summary> /// <param name="LedgerProvider">Ledger provider to use.</param> public static void Register(ILedgerProvider LedgerProvider) { Register(LedgerProvider, true); }
public LedgerController(IUserAccountProvider _userAccountProvider, ILedgerProvider _ledgerProvider) { this.userAccountProvider = _userAccountProvider; this.ledgerProvider = _ledgerProvider; }