private void LoadAllConditionalActions() { if (File.Exists("ConditionActions.xml")) { ConditionAction ca = new ConditionAction(); List <ConditionAction> lca = new List <ConditionAction>(); XElement root = XElement.Load("ConditionActions.xml"); root.Elements("ConditionActions").All <XElement>(xe2 => { xe2.Elements("ConditionAction").All <XElement>(xe => { lca.Add(new ConditionAction() { id = Convert.ToInt32(xe.Attribute("id").Value), ObjType = xe.Attribute("Type").Value, ParentID = Convert.ToInt32(xe.Attribute("Parent").Value), CondAct = (xe.Attribute("Type").Value == "Condition" ? (object)AMAActionableObjects.FixedConditionCollection.Where(x => x.id == Convert.ToInt32(xe.Attribute("ConditionAction").Value)).FirstOrDefault() : (object)AMAActionableObjects.FixedWorkflowActionCollection.Where(x => x.id == Convert.ToInt32(xe.Attribute("ConditionAction").Value)).FirstOrDefault()) }); return(true); }); ConditionActionCollection cac = new ConditionActionCollection(); cac.AddConditionAction(lca); lca.Clear(); cac.ConditionActionID = Convert.ToInt32(xe2.Attribute("ID").Value); objAllCondAction.AddConditionActionCollection(cac); return(true); }); AMAActionableObjects.FixedAllConditionsActions = objAllCondAction; } }
protected void DFS(JToken JsonData, params Tuple <Condition, ConstructorAction>[] ConditionActions) { if (JsonData != null) { if (ConditionActions != null) { foreach (Tuple <Condition, ConstructorAction> ConditionAction in ConditionActions) { if (ConditionAction != null) { if (ConditionAction.Item1(JsonData)) { ConditionAction.Item2(JsonData); } } } } if (JsonData.HasValues) { for (JToken Child = JsonData.First; Child != null; Child = Child.Next) { DFS(Child, ConditionActions); } } } }
public override bool CanChildRun(IAction action) { ConditionAction conditionAction = action as ConditionAction; HtmlElement element = this.GetData(action) as HtmlElement; return(element != null); }
public virtual void UpdateStatus() { if (this.codon != null) { ConditionAction failedAction = this.codon.GetFailedAction(this.caller); bool visibled = failedAction != ConditionAction.Exclude; this.Visible = visibled; } }
public void UpdateStatus() { if (this.codon != null) { ConditionAction failedAction = this.codon.GetFailedAction(this.caller); bool enabled = failedAction != ConditionAction.Disable; this.Enabled = enabled; bool visibled = failedAction != ConditionAction.Exclude; this.Visible = visibled; ConditionAction checkStateAction = this.codon.GetCheckStateAction(this.caller); if (checkStateAction == ConditionAction.Checked || checkStateAction == ConditionAction.UnChecked) { bool @checked = checkStateAction == ConditionAction.Checked; base.Checked = @checked; } } }
public static ConditionAction GetFailedAction(System.Collections.Generic.IEnumerable <ICondition> conditionList, object caller) { ConditionAction result = ConditionAction.Nothing; foreach (ICondition current in conditionList) { if (current.Action != ConditionAction.Checked && current.Action != ConditionAction.UnChecked && !current.IsValid(caller)) { if (current.Action != ConditionAction.Disable) { return(ConditionAction.Exclude); } result = ConditionAction.Disable; } } return(result); }
public virtual void UpdateStatus() { if (this.codon != null) { ConditionAction failedAction = this.codon.GetFailedAction(this.caller); bool enabled = failedAction != ConditionAction.Disable; this.Enabled = enabled; bool visibled = failedAction != ConditionAction.Exclude; if (visibled) { this.Visibility = BarItemVisibility.Always; } else { this.Visibility = BarItemVisibility.Never; } } }
public object BuildItem(object owner, System.Collections.ArrayList subItems) { IDoozer doozer; if (!AddInTree.Doozers.TryGetValue(this.Name, out doozer)) { throw new CoreException("Doozer " + this.Name + " not found!"); } if (!doozer.HandleConditions && this.conditions.Length > 0) { ConditionAction failedAction = this.GetFailedAction(owner); if (failedAction != ConditionAction.Nothing) { return(null); } } return(doozer.BuildItem(owner, this, subItems)); }
private void AddAction_Click(object sender, RoutedEventArgs e) { if (cmbWorkflowActions.SelectedIndex != -1) { WorkflowAction ActStat = cmbWorkflowActions.SelectedItem as WorkflowAction; ConditionAction ca = new ConditionAction(); ca.id = ListConditionAction.Count + 1; ca.CondAct = ActStat; ca.ParentID = LastConditionID; ListConditionAction.Add(ca); string ActionStatement = ActStat.ActionName; WriteCode(ActionStatement, "Action"); } GrdAddAction.Visibility = Visibility.Collapsed; cmbWorkflowActions.SelectedIndex = -1; }
public static ICondition ReadComplexCondition(XmlReader reader) { Properties properties = Properties.ReadFromAttributes(reader); reader.Read(); ICondition condition = null; while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: switch (reader.LocalName) { case "And": condition = AndCondition.Read(reader); goto exit; case "Or": condition = OrCondition.Read(reader); goto exit; case "Not": condition = NegatedCondition.Read(reader); goto exit; default: //由错误提示可以看出ComplexCondition必须至少含有一个And、Or或者Not标签,后面就可以加Codon了 throw new AddInLoadException("Invalid element name '" + reader.LocalName + "', the first entry in a ComplexCondition " + "must be <And>, <Or> or <Not>"); } } } exit: if (condition != null) { ConditionAction action = properties.Get("action", ConditionAction.Exclude); condition.Action = action; } return(condition); }
private void AddCondition_Click(object sender, RoutedEventArgs e) { if (cmbCondition.SelectedIndex != -1) { Model.ConditionModel.Condition conditionStatement = cmbCondition.SelectedItem as Model.ConditionModel.Condition; ConditionAction ca = new ConditionAction(); ca.id = ListConditionAction.Count + 1; ca.CondAct = conditionStatement; ca.ParentID = LastConditionID; LastConditionID = ca.id; ListConditionAction.Add(ca); WriteCode(conditionStatement.Description, "Condition"); } GrdAddCondition.Visibility = Visibility.Collapsed; cmbCondition.SelectedIndex = -1; }
public virtual void UpdateStatus() { if (this.codon != null) { ConditionAction failedAction = this.codon.GetFailedAction(this.caller); bool enabled = failedAction != ConditionAction.Disable; this.Enabled = enabled; bool visibled = failedAction != ConditionAction.Exclude; if (visibled) { this.Visibility = BarItemVisibility.Always; } else { this.Visibility = BarItemVisibility.Never; } ConditionAction checkStateAction = this.codon.GetCheckStateAction(this.caller); if (checkStateAction == ConditionAction.Checked || checkStateAction == ConditionAction.UnChecked) { bool @checked = checkStateAction == ConditionAction.Checked; base.EditValue = @checked; } } }
public static ConditionAction GetCheckStateAction(System.Collections.Generic.IEnumerable <ICondition> conditionList, object caller) { //ConditionAction result = ConditionAction.UnChecked; //foreach (ICondition current in conditionList) //{ // if (current.Action == ConditionAction.Checked || current.Action == ConditionAction.UnChecked) // { // if (current.IsValid(caller)) // { // result = ConditionAction.Checked; // break; // } // break; // } //} //return result; ConditionAction result = ConditionAction.Nothing; foreach (ICondition current in conditionList) { if (current.Action == ConditionAction.Checked || current.Action == ConditionAction.UnChecked) { if (current.IsValid(caller)) { result = ConditionAction.Checked; break; } else { result = ConditionAction.UnChecked; break; } } } return(result); }
public virtual void VisitConditionAction(ConditionAction node) { }
public Condition(string name, Properties properties) { this.name = name; this.properties = properties; this.action = properties.Get <ConditionAction>("action", ConditionAction.Exclude); }