Exemple #1
0
        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());
        }
Exemple #2
0
        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());
        }