/// <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")); } }
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>(); }
/// <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")); } }
/// <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(); }
public override void Initilize() { base.Initilize(); ActivateRule = new ActivateRule(); TimeLimit = new TimeLimit(); TriggerEvents = new List<TriggerEvent>(); RollBack = new CustomAction(); }
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(); }