public ExecuteCommandChangeLoadStage(IBasicActivateItems activator, ProcessTaskCombineable sourceProcessTaskCombineable, LoadStageNode targetStage) : base(activator)
        {
            _sourceProcessTask = sourceProcessTaskCombineable.ProcessTask;
            _targetStage       = targetStage;

            if (sourceProcessTaskCombineable.ProcessTask.LoadMetadata_ID != targetStage.LoadMetadata.ID)
            {
                SetImpossible("ProcessTask belongs to a different LoadMetadata");
            }

            if (!ProcessTask.IsCompatibleStage(_sourceProcessTask.ProcessTaskType, _targetStage.LoadStage))
            {
                SetImpossible("Task type '" + _sourceProcessTask.ProcessTaskType + "' cannot run in " + _targetStage.LoadStage);
            }
        }
Beispiel #2
0
        public ExecuteCommandReOrderProcessTask(IActivateItems activator, ProcessTaskCombineable sourceProcessTaskCombineable, ProcessTask targetProcessTask, InsertOption insertOption) : base(activator)
        {
            _targetProcessTask = targetProcessTask;
            _insertOption      = insertOption;
            _sourceProcessTask = sourceProcessTaskCombineable.ProcessTask;

            if (_sourceProcessTask.LoadMetadata_ID != targetProcessTask.LoadMetadata_ID)
            {
                SetImpossible("ProcessTasks must belong to the same Load");
            }
            else
            if (_sourceProcessTask.LoadStage != targetProcessTask.LoadStage)
            {
                SetImpossible("ProcessTasks must belong in the same LoadStage to be ReOrdered");
            }
            else
            if (_insertOption == InsertOption.Default)
            {
                SetImpossible("Drag above or below to ReOrder");
            }
        }