示例#1
0
 public void On_Command_Finished(Node Node, Transaction Txn, CommandReturnMessage Msg)
 {
     Next(Node, Txn, "Finished");
     _TaskReport.On_Command_Finished(Node, Txn, Msg);
 }
示例#2
0
        public void On_Connection_Message(object Msg)
        {
            try
            {
                JObject restoredObject = JsonConvert.DeserializeObject <JObject>(Msg.ToString());
                //JObject可使用LINQ方式存取
                //var q = from p in restoredObject.Properties()
                //        where p.Name == "Name"
                //        select p;
                TaskFlowManagement.CurrentProcessTask Task = null;
                Node Node = null;
                CommandReturnMessage ReturnMsg = null;
                Transaction          Txn       = null;
                switch (restoredObject.Property("Event").Value.ToString())
                {
                case "NodeReq":
                    ReqNode       = JsonConvert.DeserializeObject <Node>(restoredObject.Property("Node").Value.ToString());
                    NodeAvailable = true;
                    break;

                case "SystemConfig":
                    SystemConfig SysCfg = JsonConvert.DeserializeObject <SystemConfig>(restoredObject.Property("SystemConfig").Value.ToString());
                    //Dictionary<string, string> param = new Dictionary<string, string>();
                    //param.Add("@Target","ROBOT01");
                    //NewTask("123123", TaskFlowManagement.Command.ROBOT_HOME,param);
                    break;

                case "On_TaskJob_Ack":
                    Task = JsonConvert.DeserializeObject <TaskFlowManagement.CurrentProcessTask>(restoredObject.Property("Task").Value.ToString());
                    _Report.On_TaskJob_Ack(Task);
                    break;

                case "On_TaskJob_Finished":
                    Task = JsonConvert.DeserializeObject <TaskFlowManagement.CurrentProcessTask>(restoredObject.Property("Task").Value.ToString());
                    _Report.On_TaskJob_Finished(Task);
                    break;

                case "On_TaskJob_Aborted":
                    Task = JsonConvert.DeserializeObject <TaskFlowManagement.CurrentProcessTask>(restoredObject.Property("Task").Value.ToString());
                    string NodeName   = restoredObject.Property("NodeName").Value.ToString();
                    string ReportType = restoredObject.Property("ReportType").Value.ToString();
                    string Message    = restoredObject.Property("Message").Value.ToString();
                    _Report.On_TaskJob_Aborted(Task);
                    break;

                case "On_Alarm_Happend":
                    //TransferControl.Management.AlarmManagement.AlarmInfo Alarm = JsonConvert.DeserializeObject<TransferControl.Management.AlarmManagement.AlarmInfo>(restoredObject.Property("Alarm").Value.ToString());
                    //_Report.On_Alarm_Happen(Alarm);
                    break;

                case "On_Event_Trigger":
                    Node      = JsonConvert.DeserializeObject <Node>(restoredObject.Property("Node").Value.ToString());
                    ReturnMsg = JsonConvert.DeserializeObject <CommandReturnMessage>(restoredObject.Property("Msg").Value.ToString());
                    _Report.On_Event_Trigger(Node, ReturnMsg);
                    break;

                case "On_Command_Excuted":
                    Node      = JsonConvert.DeserializeObject <Node>(restoredObject.Property("Node").Value.ToString());
                    Txn       = JsonConvert.DeserializeObject <Transaction>(restoredObject.Property("Txn").Value.ToString());
                    ReturnMsg = JsonConvert.DeserializeObject <CommandReturnMessage>(restoredObject.Property("Msg").Value.ToString());
                    _Report.On_Command_Excuted(Node, Txn, ReturnMsg);
                    break;

                case "On_Command_Finished":
                    Node      = JsonConvert.DeserializeObject <Node>(restoredObject.Property("Node").Value.ToString());
                    Txn       = JsonConvert.DeserializeObject <Transaction>(restoredObject.Property("Txn").Value.ToString());
                    ReturnMsg = JsonConvert.DeserializeObject <CommandReturnMessage>(restoredObject.Property("Msg").Value.ToString());
                    _Report.On_Command_Finished(Node, Txn, ReturnMsg);
                    break;
                }
            }
            catch (Exception e)
            {
                MessageLog("CMD", e.Message);
                MessageLog("CMD", e.StackTrace);
                MessageLog("CMD", Msg.ToString());
            }
        }