示例#1
0
        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);
        }
示例#2
0
        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();
            }
        }