public void TestConvertToPackValues() { var pack = new PackCurrencies() { ValidDate = _constDate, Currencies = new Currencies() { ValidDate = _constDate, ValuteCursOnDates = new [] { new ValuteCursOnDate { VchCode = "USD", Vcode = 840, VCurs = 74.1656m, VName = "Доллар США ", VNom = 1 } } } }; var result = _converter.ConvertToPackValues(pack); Assert.Single(result.FinInstruments); var finInstrument = result.FinInstruments.First(); Assert.Equal("USD/RUB", finInstrument.FinIdent); Assert.Equal(74.1656m, finInstrument.FinTimeSerieses.First().Value); Assert.Equal("Доллар США", finInstrument.FinStringValues.First().Value); }
public async override Task Run() { await base.Run(); try { IsContinue(); var path = _paramDescriptors.ConvertStr(File); var date = _paramDescriptors.ConvertDate(RunDateTime); Log.Info($"Задача {TaskId} : Загрузка данных"); var currencies = _cbrDownloader.DownloadCurrencies(path); var pack = new PackCurrencies() { ValidDate = date, Currencies = currencies }; Log.Info($"Задача {TaskId} : Конвертация данных"); var converter = _converterFactory.GetConverter(typeof(PackCurrencies)); var importedDate = converter.ConvertToPackValues(pack); IsContinue(); Log.Info($"Задача {TaskId} : Сохранение данных"); _saver.Save(importedDate); Finished(); } catch (OperationCanceledException) { Log.Info($"Задача отменена {TaskId}"); } catch (Exception ex) { Log.Error(ex); } finally { IsAliveTokenSource.Cancel(); } }