Example #1
0
 public void Refresh()
 {
     UpdateStatusTaskManager.Execute(this, UpdateStatusTaskType.Server, () => {
         var serverData = ListenServerData.GetServerList();
         serverData.Columns.Add(new DataColumn("StatusColor", typeof(string)));
         foreach (DataRow row in serverData.Rows)
         {
             var host            = row ["Host"].ToString();
             var port            = row ["HttpPort"].ToString();
             var serverItem      = new ListenServerItem();
             serverItem.Host     = host;
             serverItem.HttpPort = port;
             var url             = serverItem.HttpUrl;
             var result          = HttpHelper.CheckHttp(url);
             if (result.Item1)
             {
                 row ["Status"]      = "正常";
                 row ["StatusColor"] = Common.DEFAULT_TEXT_COLOR;
             }
             else
             {
                 row ["Status"]      = "异常";
                 row ["StatusColor"] = "Red";
             }
         }
         var dataView = serverData.DefaultView;
         if (serverData.Rows.Count > 0)
         {
             dataView.Sort = "Status desc";
         }
         Dispatcher.Invoke((Action) delegate {
             listView.DataContext = dataView.ToTable();
         });
     });
 }
Example #2
0
 protected void UpdateStatus(ListView listView, List <entity.EntityBase> data, UpdateStatusTaskType type, GetStatus getStatus)
 {
     UpdateStatusTaskManager.Execute(window, type, () => {
         data = data.Select(item => {
             var status = getStatus();
             var result = status.Where(n => n.ID == item.ID);
             if (result.Count() > 0)
             {
                 var first        = result.First();
                 var desc         = first.StatusDesc;
                 item.Status      = desc;
                 item.StatusColor = first.StatusTextColor;
                 item.Delay       = first.Delay;
             }
             return(item);
         }).ToList();
         window.Dispatcher.Invoke((Action) delegate {
             listView.DataContext = data;
         });
     });
 }
Example #3
0
 public UIOverview(ServerManager window, DataSource dataSource) : base(window, dataSource)
 {
     UpdateStatusTaskManager.Execute(window, UpdateStatusTaskType.Overview, delegate() {
         this.FillData();
     });
 }