Пример #1
0
        protected void CancleTask(string device)
        {
            var viewModel = new UpdateWithTaskStateViewModel()
            {
                EquipmentDevice = device,

                TaskStatus = EnumTaskState.BeingCancelled
            };

            var currentTaskState = baseAction.CheckTaskState(device);

            if (currentTaskState != EnumTaskState.Cancle && currentTaskState != EnumTaskState.Complete)
            {
                baseAction._tagTaskState(viewModel);

                var returnData = baseAction.SingleSetTaskState(device);

                viewModel.TaskStatus = returnData;

                baseAction._tagTaskState(viewModel);

                //if (returnData != EnumTaskState.Cancle)
                //{
                ///viewModel.TaskStatus = returnData;

                ///baseAction._tagTaskState(viewModel);
                //}
            }
        }
Пример #2
0
        public void UpdateUIByTaskState(UpdateWithTaskStateViewModel viewModel)
        {
            var currentViewModel = viewModel;

            var color = Color.CadetBlue;

            var messageStr = string.Empty;

            switch (currentViewModel.TaskStatus)
            {
            case EnumTaskState.BeingCancelled:

                color = Color.CadetBlue;

                messageStr = "任务正在取消中";

                break;

            case EnumTaskState.Cancle:

                color = Color.Red;

                messageStr = "任务取消完毕";

                break;

            case EnumTaskState.Complete:

                color = Color.Green;

                messageStr = "任务执行完毕";

                break;

            case EnumTaskState.Start:

                color = Color.CadetBlue;

                messageStr = "任务正在执行中";

                break;

            case EnumTaskState.Error:

                color = Color.Red;

                messageStr = "任务执行出错";

                break;
            }


            var currentControl = GetControlByName(this.flowLayoutPanel3, string.Format(partialControlName, currentViewModel.EquipmentDevice));

            if (null != currentControl)
            {
                var btn = currentControl.Controls[0];

                baseAction.SetContentWithCurrentThread(btn, messageStr, (control, str) =>
                {
                    var text = control.Text;

                    if (!string.IsNullOrEmpty(text))
                    {
                        text = text.Split(' ')[0];
                    }

                    text = string.Format("{0} {1}", text, string.IsNullOrEmpty(viewModel.ShowMessage) ? messageStr : viewModel.ShowMessage);

                    control.Text = text;

                    control.BackColor = color;
                });
            }
        }