Example #1
0
        private void AddRule()
        {
            RuleActiveSetS = new RuleActiveSet();
            //SetStatelist();
            // RuleActiveSet("");
            RuleActiveSetS.OptState = OptState.Add;
            //RuleActiveSetS.btnDele.Visibility = Visibility.Collapsed;
            RuleActiveSetS.SetRuleList(Actives);
            //RuleActiveSetS.chkUseCondition.IsChecked = false;
            RuleActiveSetS.conditionPanel.Visibility = Visibility.Collapsed;
            RuleActiveSetS.CoditionList.Clear();
            RuleActiveSetS.dgCodition.ItemsSource   = null;
            RuleActiveSetS.dgCodition.ItemsSource   = RuleActiveSetS.CoditionList;
            RuleActiveSetS.txtCompareValue.Text     = "";
            RuleActiveSetS.cboOperate.SelectedIndex = 0;
            RuleActiveSetS.BOSystem = this.BOSystem;
            RuleActiveSetS.BOObject = this.BOObject;
            RuleActiveSetS.requestSystemBOAttributeList();

            //RuleActiveSetS = new RuleActiveSet();
            // SetStatelist();
            // RuleActiveSetS.Rule_OnClick +=new EventHandler<Rule_OnClickEventArgs>(RuleActiveSetS_Rule_OnClick);
            RuleActiveSetS.Rule_OnClick += new EventHandler <Rule_OnClickEventArgs>(RuleActiveSetS_Rule_OnClick);
            EntityBrowser rule_browser = new EntityBrowser(RuleActiveSetS);

            rule_browser.Width     = 680;
            rule_browser.MinHeight = 600;
            rule_browser.Show <string>(DialogMode.ApplicationModal, Common.ParentLayoutRoot, "", (result) => { });
        }
Example #2
0
        /// <summary>
        /// 设置规则
        /// </summary>
        /// <param name="ActiveName"></param>
        public void RuleActiveSet(string RuleName)
        {
            RuleLine      a = FindName(RuleName) as RuleLine;
            RuleActiveSet RuleActiveSetS = new RuleActiveSet();

            RuleActiveSetS.OptState = OptState.Update;
            // RuleActiveSetS.btnDele.Visibility = Visibility.Visible;
            RuleActiveSetS.RuleName       = RuleName;
            RuleActiveSetS.BOSystem       = BOSystem;
            RuleActiveSetS.BOObject       = BOObject;
            RuleActiveSetS.StartStateName = a.StrStartActive;
            RuleActiveSetS.EndStateName   = a.StrEndActive;
            RuleActiveSetS.SetRuleList(Actives);
            RuleActiveSetS.BOSystem = this.BOSystem;
            RuleActiveSetS.BOObject = this.BOObject;
            RuleActiveSetS.chkUseCondition.IsChecked = false;
            RuleActiveSetS.CoditionList.Clear();
            RuleActiveSetS.dgCodition.ItemsSource   = null;
            RuleActiveSetS.dgCodition.ItemsSource   = RuleActiveSetS.CoditionList;
            RuleActiveSetS.txtCompareValue.Text     = "";
            RuleActiveSetS.cboOperate.SelectedIndex = 0;
            RuleActiveSetS.requestSystemBOAttributeList();
            RuleActiveSetS.Rule_OnClick += new EventHandler <Rule_OnClickEventArgs>(RuleActiveSetS_Rule_OnClick);

            if (a.ruleCoditions != null)
            {
                if (a.ruleCoditions.subCondition.Count > 0)
                {
                    foreach (CompareCondition cpItem in a.ruleCoditions.subCondition)
                    {
                        RuleActiveSetS.CoditionList.Add(cpItem);
                    }
                    RuleActiveSetS.chkUseCondition.IsChecked = true;
                    RuleActiveSetS.conditionPanel.Visibility = Visibility.Visible;
                }
                else
                {
                    RuleActiveSetS.chkUseCondition.IsChecked = false;
                    RuleActiveSetS.conditionPanel.Visibility = Visibility.Collapsed;
                }
            }
            else
            {
                RuleActiveSetS.chkUseCondition.IsChecked = false;
                RuleActiveSetS.conditionPanel.Visibility = Visibility.Collapsed;
            }
            //  RuleActiveSetS.Show();
            EntityBrowser rule_browser = new EntityBrowser(RuleActiveSetS);

            rule_browser.Show <string>(DialogMode.ApplicationModal, Common.ParentLayoutRoot, "", (result) => { });
        }
Example #3
0
        void rule_browser_ReloadDataEvent(RuleActiveSet RuleActiveSetS)
        {
            if (d_RuleActiveSet == true)
            {
                #region 添加新规则
                if (RuleActiveSetS.OptState == OptState.Add && RuleActiveSetS.StartStateName != "" && RuleActiveSetS.EndStateName != "")
                {
                    //检测是否已添加此状态
                    for (int i = 0; i < Rules.Count; i++)
                    {
                        if (Rules[i].StrStartActive == RuleActiveSetS.StartStateName && Rules[i].StrEndActive == RuleActiveSetS.EndStateName)
                        {
                            ComfirmWindow.ConfirmationBox(Utility.GetResourceStr("PROMPT"), Utility.GetResourceStr("M00008"), Utility.GetResourceStr("CONFIRMBUTTON"));
                            //MessageBox.Show("此规则已添加,不能添加相同的规则!");
                            return;
                        }
                    }

                    if ((string.IsNullOrEmpty(BOSystem.Name) || string.IsNullOrEmpty(BOObject.Name)) && !string.IsNullOrEmpty(RuleActiveSetS.BOSystem.Name) && !string.IsNullOrEmpty(RuleActiveSetS.BOObject.Name))
                    {
                        BOSystem = RuleActiveSetS.BOSystem;
                        BOObject = RuleActiveSetS.BOObject;
                        //this.tbSystemAndBusinessObject.Text =
                    }

                    RuleLine a = new RuleLine();

                    a.Name           = System.Guid.NewGuid().ToString();
                    a.StrStartActive = RuleActiveSetS.StartStateName;
                    a.StrEndActive   = RuleActiveSetS.EndStateName;
                    a.Container      = this;
                    a.ruleCoditions  = new RuleConditions();
                    a.ruleCoditions.subCondition.Clear();

                    if (RuleActiveSetS.CoditionList.Count > 0)
                    {
                        a.ruleCoditions.ConditionObject = BOObject.Name;

                        foreach (CompareCondition cpItem in RuleActiveSetS.CoditionList)
                        {
                            a.ruleCoditions.subCondition.Add(cpItem);
                        }
                    }



                    // StartFlow.GetValue(Canvas.TopProperty) ;
                    //Double X1 = 60 + Convert.ToDouble((FindName(a.StrStartActive) as StateActive).GetValue(Canvas.TopProperty).ToString());
                    //Double Y1 = 50 + Convert.ToDouble((FindName(a.StrStartActive) as StateActive).GetValue(Canvas.LeftProperty).ToString());
                    //a.SetValue(Canvas.TopProperty, X1);//(double)110);
                    //a.SetValue(Canvas.LeftProperty, Y1);//(double)450);
                    if (!cnsDesignerContainer.Children.Contains(a))
                    {
                        cnsDesignerContainer.Children.Add(a);

                        SetRuleLinePos(a.Name);
                        Rules.Add(a);
                        // a.ActivityChanged += new ActivityChangeDelegate(OnActivityChanged);
                    }
                }


                #endregion

                #region 修改规则
                else if (RuleActiveSetS.OptState == OptState.Update && RuleActiveSetS.StartStateName != "" && RuleActiveSetS.EndStateName != "")
                {
                    if ((string.IsNullOrEmpty(BOSystem.Name) || string.IsNullOrEmpty(BOObject.Name)) && !string.IsNullOrEmpty(RuleActiveSetS.BOSystem.Name) && !string.IsNullOrEmpty(RuleActiveSetS.BOObject.Name))
                    {
                        BOSystem = RuleActiveSetS.BOSystem;
                        BOObject = RuleActiveSetS.BOObject;
                    }

                    RuleLine a = FindName(RuleActiveSetS.RuleName) as RuleLine;
                    a.StrStartActive = RuleActiveSetS.StartStateName;
                    a.StrEndActive   = RuleActiveSetS.EndStateName;

                    if (a.ruleCoditions == null)
                    {
                        a.ruleCoditions = new RuleConditions();
                    }
                    a.ruleCoditions.subCondition.Clear();

                    if (RuleActiveSetS.CoditionList.Count > 0)
                    {
                        a.ruleCoditions.ConditionObject = BOObject.Name;
                        foreach (CompareCondition cpItem in RuleActiveSetS.CoditionList)
                        {
                            a.ruleCoditions.subCondition.Add(cpItem);
                        }
                    }

                    SetRuleLinePos(a.Name);
                }

                #endregion

                #region  除规则
                else if (RuleActiveSetS.OptState == OptState.Delete)
                {
                    RuleLine a = FindName(RuleActiveSetS.RuleName) as RuleLine;
                    if (a == null)
                    {
                        return;
                    }
                    if (a.ruleCoditions != null)
                    {
                        a.ruleCoditions.subCondition.Clear();
                    }
                    Rules.Remove(a);
                    cnsDesignerContainer.Children.Remove(a);
                }
                #endregion
            }
        }