//private void btnClose_Click(object sender, RoutedEventArgs e) //{ // this.DialogResult = false; //} //private void btnOK_Click(object sender, RoutedEventArgs e) //{ // StartStateName = ((StateType)cboStartInfo.SelectedItem).StateCode; // EndStateName = ((StateType)cboNextInfo.SelectedItem).StateCode; // if (chkUseCondition.IsChecked == false) // { // CoditionList.Clear(); // } // if (StartStateName == EndStateName) // { // MessageBox.Show("起始状态和下一状态不能相同!"); // return; // } // this.DialogResult = true; //} //private void btnDele_Click(object sender, RoutedEventArgs e) //{ // this.OptState = OptState.Delete; // this.DialogResult = true; //} private void btnAddCondition_Click(object sender, RoutedEventArgs e) { //setConditions.Show(); CompareCondition newCondition = new CompareCondition(); newCondition.Name = System.Guid.NewGuid().ToString(); newCondition.Description = ((FlowDesignerWS.WFBOAttribute)cboCoditionAttribute.SelectedItem).Description; newCondition.CompAttr = ((FlowDesignerWS.WFBOAttribute)cboCoditionAttribute.SelectedItem).Name; newCondition.DataType = ((FlowDesignerWS.WFBOAttribute)cboCoditionAttribute.SelectedItem).DataType; newCondition.Operate = ((System.Windows.Controls.ContentControl)(cboOperate.SelectedItem)).Content.ToString(); // cboOperate.SelectedItem.ToString(); newCondition.CompareValue = txtCompareValue.Text.ToString(); CoditionList.Add(newCondition); dgCodition.ItemsSource = null; dgCodition.ItemsSource = CoditionList; }
void SetLayout() { string Layout = this.FlowDefine; //XmlDocument doc = new XmlDocument(); //doc.LoadXml(Layout); string qq; string WFBOSystemName = string.Empty; string WFBOObjectName = string.Empty; qq = ""; XmlReader XmlReader; StringReader bb = new StringReader(Layout); XmlReader = XmlReader.Create(bb); #region 遍历XML //while (XmlReader.Read()) //{ // qq+="<li>节点类型:" + XmlReader.NodeType + "==<br>"; // switch (XmlReader.NodeType) // { // case XmlNodeType.XmlDeclaration: // for (int i = 0; i < XmlReader.AttributeCount; i++) // { // XmlReader.MoveToAttribute(i); // qq+="属性:" + XmlReader.Name + "=" + XmlReader.Value + " "; // } // break; // case XmlNodeType.Attribute: // for (int i = 0; i < XmlReader.AttributeCount; i++) // { // XmlReader.MoveToAttribute(i); // qq+="属性:" + XmlReader.Name + "=" + XmlReader.Value + " "; // } // break; // case XmlNodeType.CDATA: // qq+="CDATA:" + XmlReader.Value + " "; // break; // case XmlNodeType.Element: // qq+="节点名称:" + XmlReader.LocalName + "<br>"; // for (int i = 0; i < XmlReader.AttributeCount; i++) // { // XmlReader.MoveToAttribute(i); // qq+="属性:" + XmlReader.Name + "=" + XmlReader.Value + " "; // } // break; // case XmlNodeType.Comment: // qq+="Comment:" + XmlReader.Value; // break; // case XmlNodeType.Whitespace: // qq+="Whitespace:" + " "; // break; // case XmlNodeType.ProcessingInstruction: // qq+="ProcessingInstruction:" + XmlReader.Value; // break; // case XmlNodeType.Text: // qq+="Text:" + XmlReader.Value; // break; // } // } #endregion XElement XElementS = XElement.Load(XmlReader); var flowSystem = from c in XElementS.Descendants("System") select c; if (flowSystem != null) { foreach (var tmp in flowSystem) { WFBOSystemName = tmp.Value; } } //BOSystem var a = from c in XElementS.Descendants("Activity") select c; foreach (var tmp in a) { string stepname = tmp.Attribute("Name").Value; if (stepname != "StartFlow" && stepname != "EndFlow") { StateActive Flow = new StateActive(); Flow.MinWidth = 60; Flow.Name = stepname; // 1s 冉龙军 //string tmpStateName = (StateList.Where(s => s.StateCode.ToString() == stepname).ToList().First().StateName); string tmpStateName = tmp.Attribute("Remark").Value; // 1e string StateName = ""; for (int i = 0; i < tmpStateName.Length; i = i + 6) { if (tmpStateName.Length < i + 6) StateName += (i == 0 ? tmpStateName : "\r\n" + tmpStateName.Substring(i)); else StateName += (i == 0 ? tmpStateName.Substring(i, 6) : "\r\n" + tmpStateName.Substring(i, 6)); } Flow.StateName.Text = StateName;// (StateList.Where(s => s.StateCode.ToString() == stepname).ToList().First().StateName); #region 加载KPI点的信息 if (KPIPointList != null && KPIPointList.Count != 0) foreach (T_HR_KPIPOINT point in KPIPointList) { if (stepname.Equals(point.STEPID)) Flow.StateName.Text += "(KPI点)"; } #endregion 加载KPI点的信息 Flow.SetValue(Canvas.TopProperty, Convert.ToDouble(tmp.Attribute("X").Value)); Flow.SetValue(Canvas.LeftProperty, Convert.ToDouble(tmp.Attribute("Y").Value)); if (!cnsDesignerContainer.Children.Contains(Flow)) { // 1s 冉龙军 暂不处理错误 //cnsDesignerContainer.Children.Add(Flow); try { cnsDesignerContainer.Children.Add(Flow); } catch (Exception ex) { } // 1e Flow.Container = this; Actives.Add(Flow); } } } var b = from c in XElementS.Descendants("Rule") select c; foreach (var tmp in b) { RuleLine RuleLineS = new RuleLine(); RuleLineS.Name = tmp.Attribute("Name").Value; RuleLineS.StrStartActive = tmp.Attribute("StrStartActive").Value; RuleLineS.StrEndActive = tmp.Attribute("StrEndActive").Value; RuleLineS.Container = this; if (tmp.Element("Conditions") != null) { RuleConditions newRuleCondition = new RuleConditions(); newRuleCondition.Name = tmp.Element("Conditions").Attribute("Name").Value; newRuleCondition.ConditionObject = tmp.Element("Conditions").Attribute("Object").Value; newRuleCondition.CodiCombMode = tmp.Element("Conditions").Attribute("CodiCombMode").Value; if (!string.IsNullOrEmpty(newRuleCondition.ConditionObject)) { WFBOObjectName = newRuleCondition.ConditionObject; } if (tmp.Element("Conditions").Elements("Condition").Count() > 0) { var e = from f in tmp.Element("Conditions").Descendants("Condition") select f; foreach (var tmp2 in e) { CompareCondition newCD = new CompareCondition(); newCD.Name = tmp2.Attribute("Name").Value; newCD.Description = tmp2.Attribute("Description").Value; newCD.CompAttr = tmp2.Attribute("CompAttr").Value; newCD.Operate = backEscapeXMLChar(tmp2.Attribute("Operate").Value); newCD.DataType = tmp2.Attribute("DataType").Value; newCD.CompareValue = tmp2.Attribute("CompareValue").Value; newRuleCondition.subCondition.Add(newCD); } } RuleLineS.ruleCoditions = newRuleCondition; } if (!cnsDesignerContainer.Children.Contains(RuleLineS)) { // 1s 冉龙军 暂不处理错误 //cnsDesignerContainer.Children.Add(RuleLineS); try { cnsDesignerContainer.Children.Add(RuleLineS); } catch (Exception ex) { } // 1e SetRuleLinePos(RuleLineS.Name); Rules.Add(RuleLineS); // a.ActivityChanged += new ActivityChangeDelegate(OnActivityChanged); } // MessageBox.Show(tmp.Attribute("Name").Value); } }