Example #1
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="xml">字符串参数</param>
        /// <param name="isXmlFile">是否是xml文件</param>
        public ManualActivity(ConfigureElement parent, XElement xElem)
            : base(parent, xElem)
        {
            if (xElem == null)
            {
                Initilize();
                return;
            }

            ActivateRule = new ActivateRule(this, xElem.Element("activateRule"));
            XElement manualElem = xElem.Element("manualActivity");

            if (manualElem != null)
            {
                CustomURL = new ActionURL("customURL", this, manualElem.Element("customURL"));
                ResetURL = new ActionURL("resetURL", this, manualElem.Element("resetURL"));
                Participant = new Participant(this, manualElem.Element("participant"));

                TimeLimit = new TimeLimit(this, manualElem.Element("timeLimit"));
                MultiWorkItem = new MultiWorkItem(this, manualElem.Element("multiWorkItem"));

                var triggerEvents = manualElem.Element("triggerEvents");
                if (triggerEvents != null)
                {
                    var triggerEventlist = triggerEvents.Elements("triggerEvent");
                    if (triggerEventlist != null)
                        TriggerEvents = triggerEventlist.Select(o => new TriggerEvent(this, o)).ToList();
                }
                RollBack = new CustomAction("rollBack", this, manualElem.Element("rollBack"));
                FreeFlowRule = new FreeFlowRule(this, manualElem.Element("freeFlowRule"));
            }
        }
Example #2
0
 public ProcessDefine()
 {
     ElementName = "workflowDefine";
     Properties = new Dictionary<string, object>();
     Activities = new List<Activity>();
     Attibutes = new Dictionary<string, object>();
     Initiators = new List<Participantor>();
     TriggerEvents = new List<TriggerEvent>();
     Transitions = new List<Transition>();
     Notes = new List<Note>();
     TimeLimit = new TimeLimit();
     BizVariables = new List<BizVariable>();
 }
Example #3
0
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="xml">字符串参数</param>
        /// <param name="isXmlFile">是否是xml文件</param>
        public AutoActivity(ConfigureElement parent, XElement xElem)
            : base(parent, xElem)
        {
            if (xElem == null) return;

            ActivateRule = new ActivateRule(this, xElem.Element("activateRule"));
            XElement elem = xElem.Element("autoActivity");
            if (elem != null)
            {
                TimeLimit = new TimeLimit(this, elem.Element("timeLimit"));
                TriggerEvents = elem.Element("triggerEvents").Elements("triggerEvent").Select(o => new TriggerEvent(this, o)).ToList();
                RollBack = new CustomAction("rollBack", this, elem.Element("rollBack"));
            }
        }
Example #4
0
        /// <summary>
        /// 初始化对象            
        /// </summary>
        /// <param name="xElem"></param>
        public override void Initilize(XElement xElem)
        {
            Attibutes = new Dictionary<string, object>();
            Properties = new Dictionary<string, object>();

            XElement basic = xElem.Element("basic");
            xElem.Attributes()
                  .ForEach(e => { if (!string.IsNullOrEmpty(e.Name.LocalName) && !string.IsNullOrEmpty(e.Value))Attibutes.SafeAdd(e.Name.LocalName, e.Value.Trim()); });

            basic.Elements()
                 .Where(e => e.Elements().Count() == 0)
                 .ForEach(e => { if (!string.IsNullOrEmpty(e.Name.LocalName) && !string.IsNullOrEmpty(e.Value)) Properties.SafeAdd(e.Name.LocalName, e.Value.Trim()); });

            TimeLimit = new TimeLimit(this, basic.Element("timeLimit"));
            var xInitiator = basic.Element("initiator");
            StarterType = xInitiator.Element("starterType").Value;
            Initiators = xInitiator.Elements("participantor").Select(o => new Participantor(this, o)).ToList();
            TriggerEvents = basic.Element("triggerEvents").Elements("triggerEvent").Select(o => new TriggerEvent(this, o)).ToList();
            Activities = xElem.Element("activities").Elements("activity").Select(e => ObejectFactory.CreateActivity(this, e)).ToList();
            Transitions = xElem.Element("transitions").Elements("transition").Select(e => new Transition(this, e)).ToList();

            XElement xResource = xElem.Element("resource");
            BizVariables = xResource.Element("bizVariables").Elements("bizVariable").Select(e => new BizVariable(this, e)).ToList();
            Notes = xResource.Element("notes").Elements("note").Select(e => new Note(this, e)).ToList();
        }
Example #5
0
        public override void Initilize()
        {
            base.Initilize();

            ActivateRule = new ActivateRule();
            TimeLimit = new TimeLimit();
            TriggerEvents = new List<TriggerEvent>();
            RollBack = new CustomAction();
        }
Example #6
0
        public override void Initilize()
        {
            base.Initilize();

            ActivateRule = new ActivateRule();
            CustomURL = new ActionURL();
            ResetURL = new ActionURL();
            Participant = new Participant();

            TimeLimit = new TimeLimit();
            MultiWorkItem = new MultiWorkItem();
            TriggerEvents = new List<TriggerEvent>();
            RollBack = new CustomAction();
            FreeFlowRule = new FreeFlowRule();
        }