public async Task Execute(IJobExecutionContext context) { var provider = _exchangeProviderFactory.GetProvider(Constants.Providers.OERProvider); if (provider == null) { return; } foreach (var baseType in ExchangeExtensions.GetExchangeTypes()) { try { var exchangeInfo = provider.GetExchangeInfo(baseType); await _mongoRepository.SaveExchangeInfo(exchangeInfo.ToStoreExchangeInfo(provider.ProviderName)); await _redisRepository.SetCacheExchangeInfo(exchangeInfo.ToCacheExchangeInfo(provider.ExpiredInMsec), provider.ExpiredInMsec); } catch (Exception ex) { _logger.LogWarning(ex, ex.Message); } } }
public ExchangeInfo GetExchangeInfo(ExchangeType baseType) { return(new ExchangeInfo() { BaseType = baseType, Published = DateTime.Now, Rates = ExchangeExtensions.GetExchangeTypes() .Select(et => new ExchangeRateInfo { Type = et, Rate = new Random().Next(1, 100) }) .ToList() }); }