Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public IEnumerable<IConvertionRate> ListConvertionRates(DateTime? date = null)
- {
- if (date.HasValue)
- {
- throw new NotSupportedException("only allowed null value");
- }
- var currencyPairs = GetCurrencyPairs().ToArray();
- var convertionRates = new List<IConvertionRate>();
- Parallel.For(0, (int) Math.Ceiling((double) currencyPairs.Length/PartSize), i =>
- {
- var client = new RestClient("https://query.yahooapis.com/v1/public");
- var request = new RestRequest(
- string.Format(RequestFormatString, GetQuery(currencyPairs.Skip(PartSize*i).Take(PartSize))));
- var response = client.Get(request);
- var rates = JObject.Parse(response.Content)
- .SelectToken("query.results.rate")
- .Select(GetConvertionRate);
- lock (_lock)
- {
- convertionRates.AddRange(rates);
- }
- });
- return convertionRates;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement