示例#1
0
        public ActionResult GetCoinHistory(string coin)

        {
            //    try

            //    {

            string url = "https://coinbin.org/" + coin + "/history"; HttpWebRequest request = HttpWebRequest.CreateHttp(url);

            request.UserAgent = @"User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36 OPR/38.0.2220.41";

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();



            StreamReader rd          = new StreamReader(response.GetResponseStream());

            string data = rd.ReadToEnd();

            JObject o = JObject.Parse(data); List <JToken> coins = o["history"].ToList();

            List <CoinHistory> lh = new List <CoinHistory>();

            CoinHistory hist = new CoinHistory();

            //we stop when there is not history

            //if (coins.Count == 0)

            foreach (var item in coins)

            {
                hist = new CoinHistory();

                hist.currency = item["value.currency"].ToString();

                hist.value = double.Parse(item["value"].ToString());

                hist.when = item["when"].ToString();

                hist.timestamp = DateTime.Parse(item["timestamp"].ToString()); lh.Add(hist);
            }                 // double lastv = double.Parse(coins.OrderByDescending(f => f["timestamp"]).First()["value"].ToString());

            return(View(lh)); //}

            //catch (Exception)

            //{

            //    return View();

            //}
        }
示例#2
0
        public async Task <CoinHistory> RetrieveCoinHistory(string coin, int days)
        {
            var history = new CoinHistory();

            using (var httpClient = new HttpClient())
            {
                var historyInfo = string.Empty;

                if (days == 0)
                {
                    historyInfo = await httpClient.GetStringAsync($"{baseAddress}/history/{coin}");
                }
                else
                {
                    historyInfo = await httpClient.GetStringAsync($"{baseAddress}/history/{days}DAY/{coin}");
                }

                history = JsonConvert.DeserializeObject <CoinHistory>(historyInfo);
            }

            return(history);
        }
示例#3
0
    public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken)
    {
        iprot.IncrementRecursionDepth();
        try
        {
            TField field;
            await iprot.ReadStructBeginAsync(cancellationToken);

            while (true)
            {
                field = await iprot.ReadFieldBeginAsync(cancellationToken);

                if (field.Type == TType.Stop)
                {
                    break;
                }

                switch (field.ID)
                {
                case 1:
                    if (field.Type == TType.List)
                    {
                        {
                            TList _list105 = await iprot.ReadListBeginAsync(cancellationToken);

                            Historys = new List <CoinHistory>(_list105.Count);
                            for (int _i106 = 0; _i106 < _list105.Count; ++_i106)
                            {
                                CoinHistory _elem107;
                                _elem107 = new CoinHistory();
                                await _elem107.ReadAsync(iprot, cancellationToken);

                                Historys.Add(_elem107);
                            }
                            await iprot.ReadListEndAsync(cancellationToken);
                        }
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 2:
                    if (field.Type == TType.Struct)
                    {
                        Balance = new Coin();
                        await Balance.ReadAsync(iprot, cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 3:
                    if (field.Type == TType.Bool)
                    {
                        HasNext = await iprot.ReadBoolAsync(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                default:
                    await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);

                    break;
                }

                await iprot.ReadFieldEndAsync(cancellationToken);
            }

            await iprot.ReadStructEndAsync(cancellationToken);
        }
        finally
        {
            iprot.DecrementRecursionDepth();
        }
    }
示例#4
0
    public void Read(TProtocol iprot)
    {
        iprot.IncrementRecursionDepth();
        try
        {
            TField field;
            iprot.ReadStructBegin();
            while (true)
            {
                field = iprot.ReadFieldBegin();
                if (field.Type == TType.Stop)
                {
                    break;
                }
                switch (field.ID)
                {
                case 1:
                    if (field.Type == TType.List)
                    {
                        {
                            Historys = new List <CoinHistory>();
                            TList _list185 = iprot.ReadListBegin();
                            for (int _i186 = 0; _i186 < _list185.Count; ++_i186)
                            {
                                CoinHistory _elem187;
                                _elem187 = new CoinHistory();
                                _elem187.Read(iprot);
                                Historys.Add(_elem187);
                            }
                            iprot.ReadListEnd();
                        }
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                case 2:
                    if (field.Type == TType.Struct)
                    {
                        Balance = new Coin();
                        Balance.Read(iprot);
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                case 3:
                    if (field.Type == TType.Bool)
                    {
                        HasNext = iprot.ReadBool();
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                default:
                    TProtocolUtil.Skip(iprot, field.Type);
                    break;
                }
                iprot.ReadFieldEnd();
            }
            iprot.ReadStructEnd();
        }
        finally
        {
            iprot.DecrementRecursionDepth();
        }
    }