示例#1
0
        public async Task <CryptoHistoricalData> GetHistoricalData(HistoricalDataTypes type, string symbol, string currencySymbol, int?limit, int?aggregate)
        {
            var parameters = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("fsym", symbol),
                new KeyValuePair <string, string>("tsym", currencySymbol)
            };

            if (limit.HasValue)
            {
                parameters.Add(new KeyValuePair <string, string>("limit", limit.Value.ToString()));
            }
            if (aggregate.HasValue)
            {
                parameters.Add(new KeyValuePair <string, string>("aggregate", aggregate.Value.ToString()));
            }

            var subUrl   = GetHistoricalSubUrl(type);
            var response = await GetResponse(_baseURL + subUrl, parameters);

            if (response.IsSuccessStatusCode)
            {
                var data = JsonConvert.DeserializeObject <CryptoHistoricalModel>(await response.Content.ReadAsStringAsync());
                return(data.Data);
            }
            return(null);
        }
示例#2
0
        private string GetHistoricalSubUrl(HistoricalDataTypes type)
        {
            switch (type)
            {
            case HistoricalDataTypes.Daily:
                return(_dailyHistoricalDataSubUrl);

            case HistoricalDataTypes.Hourly:
                return(_hourlyHistoricalDataSubUrl);

            case HistoricalDataTypes.Minute:
                return(_minuteHistoricalDataSubUrl);

            default:
                return(_dailyHistoricalDataSubUrl);
            }
        }