コード例 #1
0
        private void UpdateOperatorComboBox()
        {
            if (conditionComboBox.SelectedItem == null)
            {
                return;
            }
            string        conditionName = conditionComboBox.SelectedItem.ToString();
            IConditionDef conditionDef  =
                RuleEngine.GetConditionManager().GetConditionDef(conditionName);

            if (conditionDef is AbstractAtomicConditionDef)
            {
                // Init Operators
                List <IOperator> operatorList =
                    RuleEngine.GetOperatorManager().GetPossibleOperatorList(conditionDef);
                operatorComboBox.Items.Clear();
                foreach (IOperator Operator in operatorList)
                {
                    operatorComboBox.Items.Add(Operator.GetOperatorName());
                }
                // default for operator
                if (operatorComboBox.Items.Count != 0)
                {
                    operatorComboBox.SelectedIndex = 0;
                }
                else
                {
                    operatorComboBox.SelectedIndex = -1;
                }
            }
        }
コード例 #2
0
 private List <string> GetOperatorKeywords()
 {
     if (m_operatorKeywords == null)
     {
         m_operatorKeywords = new List <string>();
         // operator key words
         List <IOperator> operatorList =
             RuleEngine.GetOperatorManager().GetAllOperatorList();
         foreach (IOperator iOperator in operatorList)
         {
             m_operatorKeywords.Add(iOperator.GetOperatorName());
         }
     }
     return(m_operatorKeywords);
 }
コード例 #3
0
        internal ICondition GetCondition()
        {
            if (conditionComboBox.SelectedItem == null)
            {
                return(null);
            }
            AbstractConditionManager conditionManager = RuleEngine.GetConditionManager();
            ICondition condition =
                conditionManager.CreateCondition(conditionComboBox.SelectedItem.ToString());

            if (condition is AbstractAtomicCondition)
            {
                AbstractAtomicCondition atomicCondition =
                    condition as AbstractAtomicCondition;
                if (operatorComboBox.SelectedItem == null)
                {
                    return(null);
                }
                string operatorName = operatorComboBox.SelectedItem.ToString();
                atomicCondition.Operator = RuleEngine.GetOperatorManager().GetOperator(operatorName);
                if (atomicCondition is NativeParameterIndexCondition)
                {
                    atomicCondition.Value = "" + parameterIndexNumericUpDown.Value;
                }
                else
                {
                    if (valueComboBox.Text.Trim().Equals(""))
                    {
                        return(null);
                    }
                    atomicCondition.Value = valueComboBox.Text;
                }
                return(atomicCondition);
            }
            else
            {
                return(condition);
            }
        }