public async Task <List <CandleStick> > GetCandleStickData(int minutes, int granularity, string productId) { if (!CheckGranularity(granularity)) { return(null); } List <CandleStick> candleList = new List <CandleStick>(); IEnumerable <object[]> candleDataList; string start = DateTime.UtcNow.AddMinutes(-minutes).ToString("o"); string end = DateTime.UtcNow.ToString("o"); try { APIConnect api = new APIConnect(); var queryString = api.BuildQuery(new KeyValuePair <string, string>("start", start), new KeyValuePair <string, string>("end", end), new KeyValuePair <string, string>("granularity", granularity.ToString())); var uriString = $"/products/{productId}/candles" + queryString; var response = await api.CallStringAsync(uriString); candleDataList = JsonConvert.DeserializeObject <IEnumerable <object[]> >(response); foreach (var item in candleDataList) { candleList.Add(new CandleStick() { Time = Int32.Parse(item[0].ToString()), Low = Convert.ToDouble(item[1].ToString()), High = Convert.ToDouble(item[2].ToString()), Open = Convert.ToDouble(item[3].ToString()), Close = Convert.ToDouble(item[4].ToString()), Volume = Convert.ToDouble(item[5].ToString()) }); } } catch (HttpResponseException ex) { throw ex; } return(candleList); }