private Task[] CreateCounterTaskList3(uint mTaskid) { //启动时请求任务 List <Task> tasks = new List <Task>(); //2.--关于计数任务------------------------------------------------------------ TaskSubscribeCounting MyTaskCount = new TaskSubscribeCounting(); MyTaskCount.task_type = TaskType.TASK_COUNT; MyTaskCount.serverTask_ID = mTaskid; MyTaskCount.activity_state = true; MyTaskCount.store_taskSpecified = true; MyTaskCount.store_task = true; CountingGateID MyCountingGateID = new CountingGateID(); MyCountingGateID.id = "10"; MyTaskCount.counting_gate_id = MyCountingGateID; CountEvent MyCountEvent = new CountEvent(); MyCountEvent.count_event_type = CountEventType.COUNT_EVENT_DELTA_SUM_IN_OUT; MyCountEvent.delta = 1; EventTrigger MyEventTrigger = new EventTrigger(); MyEventTrigger.Item = MyCountEvent; Trigger MyTrigger = new Trigger(); MyTrigger.Item = MyEventTrigger; MyTaskCount.trigger = MyTrigger; tasks.Add(MyTaskCount); //2.--关于心跳任务------------------------------------------------------------ TaskSubscribeAlive MyTaskAlive = new TaskSubscribeAlive(); MyTaskAlive.task_type = TaskType.TASK_ALIVE; MyTaskAlive.serverTask_ID = mTaskid; MyTaskAlive.activity_state = true; MyTaskAlive.store_taskSpecified = true; MyTaskAlive.store_task = true; Date MyDate = new Date(); MyDate.kind = DateType.DATE_DONT_CARE; MyDate.day_of_monthSpecified = false; MyDate.day_of_weekSpecified = false; ClockTime MyStartTime = new ClockTime(); MyStartTime.hours = 0; MyStartTime.minutes = 0; MyStartTime.seconds = 20; TimeTrigger MyTimeTrigger = new TimeTrigger(); MyTimeTrigger.date = MyDate; MyTimeTrigger.cycle = "PT10M"; MyTimeTrigger.random_offset = "PT0S"; MyTimeTrigger.start = MyStartTime; Trigger MyTrigger2 = new Trigger(); MyTrigger2.Item = MyTimeTrigger; MyTaskAlive.trigger = MyTrigger2; tasks.Add(MyTaskAlive); return(tasks.ToArray()); }
private Task[] CreateCounterTaskList2(NotificationBase notification) { List <Task> tasks = new List <Task>(); if (notification is StartupNotification) { //2.--关于计数任务------------------------------------------------------------ StartupNotification MyStartNotifi = notification as StartupNotification; HellaAPCECOMannager MyHellaAPCECOManager = new HellaAPCECOMannager(); HellaApcHelper MyHellaApcHelper = new HellaApcHelper(MyStartNotifi.customer_ID, "startup"); uint GetTaskID = HellaApcHelper.DoUpdateWork(MyHellaAPCECOManager, MyHellaApcHelper); TaskSubscribeCounting MyTaskCount = new TaskSubscribeCounting(); MyTaskCount.task_type = TaskType.TASK_COUNT; MyTaskCount.serverTask_ID = GetTaskID; //1000; MyTaskCount.activity_state = true; MyTaskCount.store_taskSpecified = true; MyTaskCount.store_task = true; CountingGateID MyCountingGateID = new CountingGateID(); MyCountingGateID.id = "10"; MyTaskCount.counting_gate_id = MyCountingGateID; CountEvent MyCountEvent = new CountEvent(); MyCountEvent.count_event_type = CountEventType.COUNT_EVENT_DELTA_SUM_IN_OUT; EventTrigger MyEventTrigger = new EventTrigger(); MyEventTrigger.Item = MyCountEvent; Trigger MyTrigger = new Trigger(); MyTrigger.Item = MyEventTrigger; MyTaskCount.trigger = MyTrigger; tasks.Add(MyTaskCount); //2.--关于心跳任务------------------------------------------------------------ TaskSubscribeAlive MyTaskAlive = new TaskSubscribeAlive(); MyTaskAlive.task_type = TaskType.TASK_ALIVE; MyTaskAlive.serverTask_ID = 100;// GetTaskID; MyTaskAlive.activity_state = true; MyTaskAlive.store_taskSpecified = true; MyTaskAlive.store_task = true; Date MyDate = new Date(); MyDate.kind = DateType.DATE_DONT_CARE; MyDate.day_of_monthSpecified = false; MyDate.day_of_weekSpecified = false; ClockTime MyStartTime = new ClockTime(); MyStartTime.hours = 0; MyStartTime.minutes = 0; MyStartTime.seconds = 20; TimeTrigger MyTimeTrigger = new TimeTrigger(); MyTimeTrigger.date = MyDate; MyTimeTrigger.cycle = "PT10M"; MyTimeTrigger.random_offset = "PT0S"; MyTimeTrigger.start = MyStartTime; Trigger MyTrigger2 = new Trigger(); MyTrigger2.Item = MyTimeTrigger; MyTaskAlive.trigger = MyTrigger2; tasks.Add(MyTaskAlive); //----------------------------------------------------------------------------- } if (notification is AliveNotification) { StartupNotification MyStartNotifi = notification as StartupNotification; HellaAPCECOMannager MyHellaAPCECOManager = new HellaAPCECOMannager(); HellaApcHelper MyHellaApcHelper = new HellaApcHelper(MyStartNotifi.customer_ID, "keepalive"); uint GetTaskID = HellaApcHelper.DoUpdateWork(MyHellaAPCECOManager, MyHellaApcHelper); TaskSubscribeCounting MyTaskCount = new TaskSubscribeCounting(); MyTaskCount.task_type = TaskType.TASK_COUNT; MyTaskCount.serverTask_ID = GetTaskID; //1000; MyTaskCount.activity_state = true; MyTaskCount.store_taskSpecified = true; MyTaskCount.store_task = true; CountingGateID MyCountingGateID = new CountingGateID(); MyCountingGateID.id = "10"; MyTaskCount.counting_gate_id = MyCountingGateID; CountEvent MyCountEvent = new CountEvent(); MyCountEvent.count_event_type = CountEventType.COUNT_EVENT_DELTA_SUM_IN_OUT; EventTrigger MyEventTrigger = new EventTrigger(); MyEventTrigger.Item = MyCountEvent; Trigger MyTrigger = new Trigger(); MyTrigger.Item = MyEventTrigger; MyTaskCount.trigger = MyTrigger; tasks.Add(MyTaskCount); } return(tasks.ToArray()); }