Exemplo n.º 1
0
        /*********************************************
        初始化监控代理
        *********************************************/
        //public void GeneratMonitor(Bus.UserMonTask usertask)
        //{
        //    var monitor_list = usertask.MonTaskList.Select(c => new { mon_id=c.AgentName })
        //                                           .Distinct();
        //    Collection monCollection =(Collection)Application.Current.Properties["MonitorCollection"];
        //    MonitorDynamic monitor;
        //    foreach(var item in monitor_list)
        //    {
        //        monitor = new MonitorDynamic(item.mon_id);
        //        monCollection.AddNewMonitor(monitor);
        //    }
        //    return;
        //}
        /*********************************************
         初始化监控设备
         *********************************************/
        public void GeneratDevice(Bus.UserMonTask usertask)
        {
            var device_list = usertask.MonTaskList.Select(c => new { devid = c.DevID, monid = c.AgentName,devtype=c.DevType })
                                                  .Distinct()
                                                  .GroupBy(c => c.monid);
            {

            Collection monCollection = (Collection)Application.Current.Properties["MonitorCollection"];
            DeviceDynamic device;

            foreach(var item in device_list)
            {
                  foreach(var devitem in item)
                  {
                    device = new DeviceDynamic(devitem.devid,devitem.monid,devitem.devtype);
                    monCollection.AddDevice(device);
                  }
            }

            }

               return;
        }
Exemplo n.º 2
0
        /*********************************************
        初始化监控状态
        *********************************************/
        public void GenerateSate(Bus.UserMonTask usertask, Bus.DataBusServiceClient client)
        {
            var state_list = usertask.MonTaskList.GroupBy(c => new { c.DevID, c.AgentName });
               {
               Collection monCollection = (Collection)Application.Current.Properties["MonitorCollection"];
               DeviceDynamic device;

               foreach (var item in state_list)
               {

                   device = monCollection.GetDevice(item.Key.DevID,item.Key.AgentName);
                   DynamicState state;
                   Bus.AttributeValue attVal;

                   foreach(var deviceitem in item)
                   {

                       {
                           Bus.DeviceState busquerystate = new Bus.DeviceState();

                           busquerystate.AgentID = deviceitem.AgentName;
                           busquerystate.DevType = deviceitem.DevType;
                           busquerystate.DevID = deviceitem.DevID;
                           busquerystate.Name = deviceitem.StateName;

                           attVal=client.QueryStateTest(busquerystate);
                       }
                       if (attVal != null)
                       {
                           AttributeValue stateVal = new AttributeValue(attVal.Type, attVal.Value);

                           state = new DynamicState(deviceitem.StateName, deviceitem.DevID, deviceitem.AgentName, deviceitem.DevType, deviceitem.ViewType, deviceitem.DomainName, deviceitem.ChangeThreshold, deviceitem.TimeInterval);

                           int timeinterval = deviceitem.TimeInterval;

                           if (timeinterval < device.Scan_Time)
                           {
                               device.Scan_Time = timeinterval;
                           }
                           state.StateValue = stateVal;
                           device.AddMonitorState(state);
                       }
                   }/////查询单个状态值

               }////根据设备归类状态查询
               }
        }