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)); }