예제 #1
0
        private void OnBPExecute(BusinessProcessCommandParameter parameter)
        {
            //var items = CheckTriggerExpression(parameter.TriggerId);
            var items           = GetItemsParameter().Cast <T>().ToArray();
            var managerInstance = IoC.Instance.Resolve <IBPProcessManager>();

            // TODO: собираем параметры для процесса
            // HACK: сейчас параметры заданы статически
            managerInstance.Parameters.Add("Items", items);
            //managerInstance.Parameters.Add("Comment", "Автоматическая блокировка");
            WaitStart();
            managerInstance.Run(parameter.BusinessProcessCode.ToString(), () => WaitStop());
        }
예제 #2
0
        private bool CanBPExecute(BusinessProcessCommandParameter parameter)
        {
            // получаем элементы, над которыми будем выполнять процессы
            var processingItems = GetItemsParameter();

            if (processingItems == null)
            {
                return(false);
            }
            if (processingItems.Length == 0)
            {
                return(false);
            }
            return(CanUseTriggerForItems((BPTrigger)parameter.Trigger, processingItems));
        }
예제 #3
0
 private void OnLoadBPMenuItems(BusinessProcessCommandParameter obj)
 {
 }
예제 #4
0
        //        public WMSBusinessCollection<BPTrigger> Triggers
        //        {
        //            get { return _triggers; }
        //            set
        //            {
        //                if (_triggers != null)
        //                {
        //                    var clnChanged = _triggers as INotifyCollectionChanged;
        //                    if (clnChanged != null)
        //                        clnChanged.CollectionChanged -= TriggersCollectionChanged;
        //                }
        //
        //                _triggers = value;
        //
        //                if (_triggers != null)
        //                {
        //                    var clnChanged = _triggers as INotifyCollectionChanged;
        //                    if (clnChanged != null)
        //                        clnChanged.CollectionChanged += TriggersCollectionChanged;
        //                }
        //            }
        //        }
        #endregion

        #region .  Methods  .
        private bool CanLoadBPMenuItems(BusinessProcessCommandParameter arg)
        {
            return(true);
        }
예제 #5
0
 private void OnDoNothing(BusinessProcessCommandParameter obj)
 {
 }
예제 #6
0
 private bool CanDoNothing(BusinessProcessCommandParameter arg)
 {
     return(true);
 }