Exemple #1
0
        public override List <ServiceRate> GetRates(string responseContent)
        {
            double sourceCourse = 0;
            List <BankGovUaRateObject> rateObjects = GetDataFromJson(responseContent);

            List <ServiceRate> rates = new List <ServiceRate>();

            foreach (BankGovUaRateObject item in rateObjects)
            {
                if (item.cc == _defaultCurrencyCode)
                {
                    sourceCourse = item.rate;
                }
                rates.Add(new ServiceRate()
                {
                    Code  = item.cc,
                    Value = item.rate
                });
            }

            if (sourceCourse == 0)
            {
                throw new Exception("Can't compute currency with code:" + _defaultCurrencyCode);
            }

            // Add service currency record
            rates.Add(new ServiceRate()
            {
                Code  = _serviceCurrencyCode,
                Value = 1
            });

            return(AdapterHelper.ConvertRatesToSource(rates, sourceCourse));
        }
        public override List <ServiceRate> GetRates(string responseContent)
        {
            double sourceCourse = 0;
            string responseJson = AdapterHelper.ConvertXmlToJSON(responseContent);
            List <NationalBankRateObject> rateObjects = GetDataFromJson(responseJson);
            List <ServiceRate>            rates       = new List <ServiceRate>();

            foreach (NationalBankRateObject item in rateObjects)
            {
                if (item.title == _defaultCurrencyCode)
                {
                    sourceCourse = item.description;
                }
                rates.Add(new ServiceRate()
                {
                    Code  = item.title,
                    Value = (double)item.description
                });
            }
            rates.Add(new ServiceRate()
            {
                Code  = _serviceCurrencyCode,
                Value = 1
            });

            if (sourceCourse == 0)
            {
                throw new Exception("Can't compute currency with code:" + _defaultCurrencyCode);
            }

            return(AdapterHelper.ConvertRatesToSource(rates, sourceCourse));
        }
        public override List <ServiceRate> GetRates(string responseContent)
        {
            JObject responseObject = JObject.Parse(responseContent);

            ValidateResponse(responseObject);
            JObject ratesObject  = (JObject)responseObject[RatesProperty];
            double  sourceCourse = 1 / (double)ratesObject[_defaultCurrencyCode];

            if (sourceCourse == 0)
            {
                throw new Exception("Can't compute currency with code:" + _defaultCurrencyCode);
            }

            List <ServiceRate> rates = new List <ServiceRate>();

            rates = ratesObject.Properties().Select(property => new ServiceRate()
            {
                Code  = property.Name,
                Value = 1 / (double)property.Value
            }).ToList();

            return(AdapterHelper.ConvertRatesToSource(rates, sourceCourse));
        }