예제 #1
0
        private void UpdateValues(MinerResponse response)
        {
            if (response.Data != null)
            {
                MinerName.Content     = Miner.Name;
                MinerHashrate.Content = response.Data.Hashrate.Total.First();

                HideLoader();
            }
            else
            {
                SetStatusMessage("Data failure");
            }
        }
예제 #2
0
        public MinerResponse GetData(Miner miner)
        {
            var result = new MinerResponse();

            using (var client = new ExtendedWebClient())
            {
                client.Timeout = TimeOut;

                if (Proxy != null)
                {
                    WebRequest.DefaultWebProxy = Proxy;
                    client.Proxy = Proxy;
                }

                if (miner.Credentials != null)
                {
                    client.Credentials = miner.Credentials;

                    try
                    {
                        client.OpenRead(miner.Uri);
                    }
                    catch (Exception e)
                    {
                        result.Error = new WebError(DateTime.Now, e.Message);
                    }
                }

                try
                {
                    var response = client.DownloadString(miner.Uri);

                    if (response != null)
                    {
                        result.Data   = JsonConvert.DeserializeObject <MinerData>(response);
                        result.Status = true;
                    }
                }
                catch (Exception e)
                {
                    result.Error = new WebError(DateTime.Now, e.Message);
                }
            }

            return(result);
        }