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();
     }
 }