示例#1
0
        public DataSet GetExchangeRate()
        {
            ExchangeRateWebService exchangeRate = new ExchangeRateWebService();
            DataSet dataSet = exchangeRate.getExchangeRate("A");

            return(dataSet);
        }
        public async Task <IEnumerable <CurrencyExchangeRate> > GetBySourceAndTarget(
            string sourceCurrencyAbbreviation,
            string targetCurrencyAbbreviation
            )
        {
            var rates = new List <CurrencyExchangeRate>();
            var exchangeRatesResponse = await ExchangeRateWebService.GetLatestExchangeRates(
                sourceCurrencyAbbreviation,
                new[] { targetCurrencyAbbreviation }
                );

            if (exchangeRatesResponse.Success)
            {
                var currencyRepository = ContextProvider.GetRepository <ICurrencyRepository>();
                rates.Add(new CurrencyExchangeRate
                {
                    ExchangeRate   = exchangeRatesResponse.Rates[targetCurrencyAbbreviation],
                    IsCustom       = false,
                    SourceCurrency = currencyRepository.GetByKey(sourceCurrencyAbbreviation),
                    TargetCurrency = currencyRepository.GetByKey(targetCurrencyAbbreviation),
                    ValidFrom      = exchangeRatesResponse.Date,
                    ValidTo        = exchangeRatesResponse.Date
                });
            }

            rates.AddRange(
                ContextProvider.GetRepository <ICurrencyExchangeRateRepository>()
                .GetBySourceAndTarget(sourceCurrencyAbbreviation, targetCurrencyAbbreviation)
                );

            return(rates);
        }