private void ListViewStationList_SelectionChanged(object sender, SelectionChangedEventArgs e) { TemplateWebBrowserChart.JavaScript("DeleteData", "runtime"); if (ListViewStationList.SelectedItem == null) return; StationUI stationui = ListViewStationList.SelectedItem as StationUI; MapCenter = new Point(stationui.Longitude, stationui.Latitude); ElectricityService.ElectricityServiceClient esc = new ElectricityService.ElectricityServiceClient(); try { this.Dispatcher.Invoke(new Action(() => { WriteLine("[UI]正在请求当日历史数据:{0}", stationui.ID); })); List<ElectricityService.RuntimeStationData> DataList = esc.SelectRuntimeStationData(stationui.ID, DateTime.Today).ToList(); this.Dispatcher.Invoke(new Action(() => { WriteLine("[UI]当日历史数据请求完毕:{0}", stationui.ID); })); if (DataList.Count == 0) return; foreach (ElectricityService.RuntimeStationData record in DataList) { if (record.Time > DateTime.Now) break; TemplateWebBrowserChart.JavaScript("AddData", "runtime", record.Time.ToString("yyyy-MM-dd HH:mm:ss"), record.ActivePower); } Forecast(stationui.ID, DateTime.Today); esc.Close(); } catch (TimeoutException) { MessageBox.Show("服务器请求超时"); esc.Abort(); } }
private void FetchAll() { ElectricityService.ElectricityServiceClient esc = new ElectricityService.ElectricityServiceClient(); try { foreach (StationUI stationui in StationUIList) { List<ElectricityService.RuntimeStationData> DataList= esc.SelectRuntimeStationData(stationui.ID, DateTime.Today).ToList(); if (DataList.Count == 0) return; ElectricityService.RuntimeStationData LastRecord=null; foreach (ElectricityService.RuntimeStationData record in DataList) { if (record.Time > DateTime.Now) break; LastRecord = record; } if (LastRecord != null) { stationui.Active = LastRecord.ActivePower; stationui.Reactive = LastRecord.ReactivePower; stationui.RuntimeID = LastRecord.ID; } } ListViewStationList.UpdateLayout(); DrawStations(); esc.Close(); } catch (TimeoutException) { MessageBox.Show("服务器请求超时"); esc.Abort(); } }