Пример #1
0
 private void NameTextBox_Validating(object sender, CancelEventArgs e)
 {
     if (this.rulesListView.SelectedItems.Count > 0)
     {
         Rule rule = this.rulesListView.SelectedItems[0].Tag as Rule;
         if (this.nameTextBox.Text != rule.Name)
         {
             string ruleName = this.nameTextBox.Text;
             if (string.IsNullOrEmpty(ruleName))
             {
                 e.Cancel = true;
                 DesignerHelpers.DisplayError(Messages.Error_RuleNameIsEmpty, this.Text);
             }
             else if (rule.Name == ruleName)
             {
                 this.nameTextBox.Text = ruleName;
             }
             else if (!IsUniqueIdentifier(ruleName))
             {
                 e.Cancel = true;
                 DesignerHelpers.DisplayError(Messages.Error_DuplicateRuleName, this.Text);
             }
             else
             {
                 rule.Name = ruleName;
                 UpdateItem(this.rulesListView.SelectedItems[0], rule);
             }
         }
     }
 }
Пример #2
0
 private void ElseTextBox_Validating(object sender, CancelEventArgs e)
 {
     if (this.rulesListView.SelectedItems.Count == 0)
     {
         return;
     }
     try
     {
         Rule rule = (Rule)this.rulesListView.SelectedItems[0].Tag;
         List <RuleAction> ruleElseActions = this.ruleParser.ParseStatementList(this.elseTextBox.Text);
         this.elseTextBox.Text = GetActionsString(ruleElseActions);
         rule.ElseActions.Clear();
         foreach (RuleAction ruleAction in ruleElseActions)
         {
             rule.ElseActions.Add(ruleAction);
         }
         UpdateItem(this.rulesListView.SelectedItems[0], rule);
         elseErrorProvider.SetError(this.elseTextBox, string.Empty);
     }
     catch (Exception ex)
     {
         elseErrorProvider.SetError(this.elseTextBox, ex.Message);
         DesignerHelpers.DisplayError(Messages.Error_ActionsParser + "\n" + ex.Message, this.Text);
         e.Cancel = true;
     }
 }
Пример #3
0
 private void ConditionTextBox_Validating(object sender, CancelEventArgs e)
 {
     if (this.rulesListView.SelectedItems.Count == 0)
     {
         return;
     }
     try
     {
         Rule          rule          = this.rulesListView.SelectedItems[0].Tag as Rule;
         RuleCondition ruleCondition = this.ruleParser.ParseCondition(this.conditionTextBox.Text);
         rule.Condition = ruleCondition;
         if (!string.IsNullOrEmpty(this.conditionTextBox.Text))
         {
             this.conditionTextBox.Text = ruleCondition.ToString().Replace("\n", "\r\n");
         }
         UpdateItem(this.rulesListView.SelectedItems[0], rule);
         conditionErrorProvider.SetError(this.conditionTextBox, string.Empty);
     }
     catch (Exception ex)
     {
         conditionErrorProvider.SetError(this.conditionTextBox, ex.Message);
         DesignerHelpers.DisplayError(Messages.Error_ConditionParser + "\n" + ex.Message, this.Text);
         e.Cancel = true;
     }
 }
Пример #4
0
        static internal string GetRuleSetPreview(RuleSet ruleSet)
        {
            StringBuilder preview = new StringBuilder();
            bool          first   = true;

            if (ruleSet != null)
            {
                foreach (Rule rule in ruleSet.Rules)
                {
                    if (first)
                    {
                        first = false;
                    }
                    else
                    {
                        preview.Append("\n");
                    }

                    preview.Append(rule.Name);
                    preview.Append(": ");
                    preview.Append(DesignerHelpers.GetRulePreview(rule));
                }
            }

            return(preview.ToString());
        }
Пример #5
0
 private void UpdateItem(ListViewItem listViewItem, Rule rule)
 {
     listViewItem.SubItems[0].Text = rule.Name;
     listViewItem.SubItems[1].Text = rule.Priority.ToString(CultureInfo.CurrentCulture);
     listViewItem.SubItems[2].Text = (string)this.reevaluationComboBox.Items[(int)rule.ReevaluationBehavior];
     listViewItem.SubItems[3].Text = rule.Active.ToString(CultureInfo.CurrentCulture);
     listViewItem.SubItems[4].Text = DesignerHelpers.GetRulePreview(rule);
 }
Пример #6
0
 private void PriorityTextBox_Validating(object sender, CancelEventArgs e)
 {
     if (this.rulesListView.SelectedItems.Count > 0)
     {
         Rule rule = this.rulesListView.SelectedItems[0].Tag as Rule;
         try
         {
             rule.Priority = int.Parse(this.priorityTextBox.Text, CultureInfo.CurrentCulture);
             UpdateItem(this.rulesListView.SelectedItems[0], rule);
         }
         catch
         {
             e.Cancel = true;
             DesignerHelpers.DisplayError(Messages.Error_InvalidPriority, this.Text);
         }
     }
 }