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 async Task <JsonResult <ExchangeRatesResponse> > Get() { return(Json(await _currencyDataService.GetData())); }