public CurrencyDataController(ILogger <CurrencyDataController> logger, IMemoryCache memoryCache,
                               ICurrencyDataService currencyDataService)
 {
     _logger              = logger;
     _memoryCache         = memoryCache;
     _currencyDataService = currencyDataService;
 }
        private static void LoadLastData(
            ICurrencyExternalService currencyExternalService,
            ICurrencyDataService currencyDataService)
        {
            var today = DateTime.Today;
            var found = currencyDataService.GetData(today, today);

            if (!found.Any())
            {
                var lastRate = currencyExternalService.GetLastRate();
                currencyDataService.AddData(DateTime.Today, lastRate);
            }
        }
        private static void LoadPeriodHistory(
            ICurrencyExternalService currencyExternalService,
            ICurrencyDataService currencyDataService,
            DateTime start,
            DateTime end)
        {
            var found = currencyDataService.GetData(start, end).ToList();

            for (DateTime day = start.Date; day.Date <= end.Date; day = day.AddDays(1))
            {
                if (found.All(p => p.RatingDate != day))
                {
                    var historical = currencyExternalService.GetHistorical(day);
                    currencyDataService.AddData(day, historical);
                }
            }
        }
 public CurrencyDataController(ICurrencyDataService currencyDataService)
 {
     _currencyDataService = currencyDataService;
 }
Example #5
0
 public ExchangeService(ICurrencyDataService currencyData, IDataRepository repository)
 {
     this.currencyData = currencyData;
     this.repository   = repository;
 }