Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ccmd"></param>
        /// <param name="ccpd"></param>
        private void Exe(CommCmdMakerDelegate ccmd, CommCmdProcessDelegate ccpd)
        {
            System.Diagnostics.Debug.Assert(ccmd != null &&
                                            ccpd != null);

            if (IsSelectedXgStation())
            {
                XGStation xgst = GetSelectedXg();
                if (IsGprsConnected(xgst))
                {
                    CommCmdBase  cmd      = ccmd(xgst);
                    TaskStrategy strategy = new ImmediateTaskStrategy();

                    Task t = new Task(cmd, strategy);
                    frmControlProcess f = new frmControlProcess(t);
                    Singles.S.TaskScheduler.Tasks.AddFirstExectueTask(t);
                    f.ShowDialog();

                    if (t.LastCommResultState == CommResultState.Correct)
                    {
                        ccpd(cmd);
                    }
                }
                else
                {
                    ShowNotConnect();
                }
            }
            else
            {
                ShowNoStationSelected();
            }
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ccmd"></param>
        /// <param name="ccmp"></param>
        private void ExeAll(CommCmdMakerDelegate ccmd)          //, CommCmdProcessDelegate ccmp )
        {
            XGStationsCollection xgstColl = Singles.S.XGStsCollection;

            for (int i = 0; i < xgstColl.Count; i++)
            {
                XGStation xgst = xgstColl[i];
                if (xgst.ServerIP == XGConfig.Default.ServerIP)
                {
                    // CommCmdBase cmd = new ReadDateCommand( xgst );
                    CommCmdBase cmd = ccmd(xgst);
                    Task        t   = new Task(cmd, new ImmediateTaskStrategy());
                    t.AfterProcessReceived += new EventHandler(t_AfterProcessReceived);
                    Singles.S.TaskScheduler.Tasks.Add(t);
                }
            }
            MsgBox.Show("命令已提交!");
        }