コード例 #1
0
        public static void Execute(IExchangeRatesClient client, AnnualTimeSeries options)
        {
            var model = client.GetAnnualTimeSeries(options.StartYear, options.EndYear,
                                                   options.BaseCurrencyIsoCode.ToUpper(),
                                                   options.CurrencyIsoCode.ToUpper()).Result;

            System.Console.WriteLine($"{model.ResultsInfo.IsoCode}  {model.ResultsInfo.Currency}");
            System.Console.WriteLine();
            System.Console.WriteLine($"Year  Rate");
            foreach (var rate in model.Rates)
            {
                System.Console.WriteLine(
                    $"{rate.ReferenceDate:0000}  {rate.AvgRate,16:N6} {model.ResultsInfo.ExchangeConventionCode,1}");
            }
            System.Console.WriteLine();
            System.Console.WriteLine("Exchange convention:");
            System.Console.WriteLine(
                $"{model.ResultsInfo.ExchangeConventionCode} {model.Rates.FirstOrDefault()?.ExchangeConvention}");
        }
コード例 #2
0
        public async Task GetAnnualTimeSeries()
        {
            var startYear = 2019;
            var endYear   = 2020;

            var rates = new AnnualTimeSeriesModel.ExchangeRateModel[]
            {
                new AnnualTimeSeriesModel.ExchangeRateModel
                {
                    ReferenceDate      = startYear,
                    AvgRate            = 1.1652,
                    ExchangeConvention = "Foreign currency amount for 1 Euro",
                },
                new AnnualTimeSeriesModel.ExchangeRateModel
                {
                    ReferenceDate      = endYear,
                    AvgRate            = 1.1625,
                    ExchangeConvention = "Foreign currency amount for 1 Euro",
                }
            };

            var expected = new AnnualTimeSeriesModel
            {
                ResultsInfo = new AnnualTimeSeriesModel.ResultsInfoModel
                {
                    TotalRecords           = rates.Length,
                    Currency               = "U.S. Dollar",
                    IsoCode                = "USD",
                    UicCode                = "001",
                    ExchangeConventionCode = "C"
                },
                Rates = rates
            };

            var actual = await _client.GetAnnualTimeSeries(startYear, endYear, "USD", "EUR");

            Assert.Equal(JsonConvert.SerializeObject(expected), JsonConvert.SerializeObject(actual));
        }