public WeatherToday loadWeatherToday(string _cityId) { //HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.weather.com.cn/data/sk/101010100.html"); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.weather.com.cn/data/cityinfo/" + _cityId + ".html"); request.Timeout = 5000; request.Method = "GET"; HttpWebResponse response = null; WeatherToday wt = null; try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException) { return wt; } StreamReader sr = new StreamReader(response.GetResponseStream()); string jsonstr = sr.ReadLine(); //MessageBox.Show(jsonstr); JavaScriptSerializer j = new JavaScriptSerializer(); wt = new WeatherToday(); wt = j.Deserialize<WeatherToday>(jsonstr); //MessageBox.Show(wt.weatherInfo.city); return wt; }
/// <summary> /// 无参构造基本窗体 /// </summary> public frmMain() { InitializeComponent(); user = new User("piratf", -1, "-1"); wn = null; wt = null; }
/// <summary> /// 带参数构造窗体 /// </summary> /// <param name="_user"></param> /// <param name="_supermarket"></param> public frmMain(Model.User _user, Supermarket _supermarket = null, WeatherNow _wn = null, WeatherToday _wt = null) { try { user = new Model.User(_user.UserID, _user.Level, _user.Supermarket); supermarket = new Supermarket(_supermarket.Name); wn = null; wt = null; if (_wn != null) { wn = _wn; } if (_wt != null) { wt = _wt; } } catch (NullReferenceException) { MessageBox.Show("用户信息加载失败,程序退出\n请联系管理员进行维护"); Application.Exit(); } InitializeComponent(); }
/// <summary> /// 联网获取天气 /// </summary> private void loadWeather() { //显示天气 string cityId = string.Empty; ipv4 = IpPostion.GetIp(); if (ipv4 == null) { tssCity.Text = "网络连接失败"; cityInfo = TssCity.FAILED; return; } //this.tablabelIPAddress.Text += ipv4; //get city id by ipv4 cityId = IpPostion.getCityId(ipv4); if (cityId == null) { tssCity.Text = "网络连接失败"; cityInfo = TssCity.FAILED; return; } wn = weatherBus.loadWeatherNow(cityId); wt = weatherBus.loadWeatherToday(cityId); }
/// <summary> /// 更新ToolStatusStrip地址信息 /// </summary> /// <param name="_wt"></param> private void setTss(WeatherToday _wt) { if (_wt != null) { // bgwWeather.ReportProgress(50, _wt); this.Invoke(new EventHandler(delegate { tssCity.Text = _wt.weatherInfo.city + " " + _wt.weatherInfo.weather + " "; })); } else { tssCity.Text = "加载失败"; } }
/// <summary> /// 根据天气数据刷新UI /// </summary> /// <param name="_wt"></param> public void setLable(WeatherToday _wt) { this.Invoke(new EventHandler(delegate { this.tablabelIPAddress.Text = ipv4; this.tab2lableCityName.Text += _wt.weatherInfo.city; this.tab2labelTemperature.Text += _wt.weatherInfo.temp2 + "~" + _wt.weatherInfo.temp1; this.tab2lableWeather.Text += _wt.weatherInfo.weather; this.tab2lableUpdateTime.Text += _wt.weatherInfo.ptime; })); }