示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="index"></param>
        /// <param name="value"></param>
        protected override void OnRemoveComplete(int index, object value)
        {
            base.OnRemoveComplete(index, value);

            if (value is IWfInitialActivityDescriptor)
            {
                _InitialActivity = null;
            }
            else
            if (value is IWfCompletedActivityDescriptor)
            {
                _CompletedActivity = null;
            }
        }
示例#2
0
        /// <summary>
        /// 在向 DictionaryBase 实例中插入新元素之前执行其他自定义进程
        /// </summary>
        /// <param name="index">index</param>
        /// <param name="value">value</param>
        /// <remarks>
        /// 处理过程:先在WfActivityDescriptorCollection中检验所加点的合法性ValidateActivity()(只能由一个开始点和一个结束点)
        /// 将_Process值赋给item.Process,使每个点都包含全部流程点的属性,方便从任一点遍历整个流程
        /// </remarks>
        protected override void OnInsert(int index, object value)
        {
            WfActivityDescriptor item = (WfActivityDescriptor)value;

            ValidateActivity(item);

            item.Process = _Process;
            base.OnInsert(index, value);

            if (item is IWfInitialActivityDescriptor)
            {
                _InitialActivity = (IWfInitialActivityDescriptor)item;
            }
            else
            if (item is IWfCompletedActivityDescriptor)
            {
                _CompletedActivity = (IWfCompletedActivityDescriptor)item;
            }
        }