public ExchangeSync(IExchangeClient exchangeClient, IExchangeSyncRepository syncRepository, IExchangeSyncChangesetsFactory exchangeSyncChangesetsFactory, ILogger <ExchangeSync> logger) { _exchangeClient = exchangeClient; _syncRepository = syncRepository; _exchangeSyncChangesetsFactory = exchangeSyncChangesetsFactory; _logger = logger; }
/// <summary> /// Saves all new symbols to database. /// </summary> /// <param name="repository"><see cref="IExchangeSyncRepository"/> to save to database.</param> public async Task SaveChangeset(IExchangeSyncRepository repository) { if (_changedSymbols.Count == 0) { return; } var symbolsUpdated = await repository.UpdateSymbols(_changedSymbols); await repository.AddSyncHistory(nameof(SymbolDetailsChangeset), symbolsUpdated, $"{symbolsUpdated} symbols updated"); }
/// <summary> /// Delisted the symbols in the changeset. /// </summary> /// <param name="repository"><see cref="IExchangeSyncRepository"/> to make delisting update to database.</param> public async Task SaveChangeset(IExchangeSyncRepository repository) { if (_delistedSymbolIds.Count == 0) { return; } var delistedCount = await repository.DelistSymbols(_delistedSymbolIds); await repository.AddSyncHistory(nameof(SymbolDelistChangeset), delistedCount, $"{delistedCount} symbols delisted"); }
/// <summary> /// Saves all new symbols to database. /// </summary> /// <param name="repository"><see cref="IExchangeSyncRepository"/> to save to database.</param> public async Task SaveChangeset(IExchangeSyncRepository repository) { if (_newSymbols.Count == 0) { return; } var insertedCount = await repository.AddSymbols(_newSymbols); await repository.AddSyncHistory(nameof(NewSymbolChangeset), insertedCount, $"{insertedCount} symbols inserted"); }