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

            System.Console.WriteLine($"{model.ResultsInfo.IsoCode}  {model.ResultsInfo.Currency}");
            System.Console.WriteLine();
            System.Console.WriteLine($"Ref. date  Rate");
            foreach (var rate in model.Rates)
            {
                System.Console.WriteLine(
                    $"{rate.ReferenceDate:yyyy-MM}   {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 GetMonthlyTimeSeries()
        {
            var startMonth = 1;
            var startYear  = 2019;
            var endMonth   = 12;
            var endYear    = 2020;

            var rates = new MonthlyTimeSeriesModel.ExchangeRateModel[]
            {
                new MonthlyTimeSeriesModel.ExchangeRateModel
                {
                    ReferenceDate      = new DateTime(startYear, startMonth, 1),
                    AvgRate            = 1.1652,
                    ExchangeConvention = "Foreign currency amount for 1 Euro",
                },
                new MonthlyTimeSeriesModel.ExchangeRateModel
                {
                    ReferenceDate      = new DateTime(endYear, endMonth, 1),
                    AvgRate            = 1.1625,
                    ExchangeConvention = "Foreign currency amount for 1 Euro",
                }
            };

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

            var actual = await _client.GetMonthlyTimeSeries(startMonth, startYear, endMonth, endYear, "USD", "EUR");

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