Beispiel #1
0
        /// <summary>
        /// Registers the rule.
        /// </summary>
        /// <param name="ruleName">Name of the rule.</param>
        /// <param name="textBox">The text box.</param>
        /// <param name="intRangeMin">The int range min.</param>
        /// <param name="intRangeMax">The int range max.</param>
        /// <param name="configuredMeasurements">The configured measurements.</param>
        /// <param name="row">The row.</param>
        /// <param name="column">The column.</param>
        private void RegisterRule(string ruleName, TextBox textBox, int intRangeMin, int intRangeMax, ObservableCollection <ConfiguredMeasurementData> configuredMeasurements, int row, int column)
        {
            Binding binding = BindingOperations.GetBinding(textBox, TextBox.TextProperty);

            if (binding == null)
            {
                return;
            }

            switch (ruleName)
            {
            case "ByteArrayRule":
            {
                var rule = new ByteArrayRule();
                binding.ValidationRules.Add(rule);
                break;
            }

            case "IntRangeRule":
            {
                var rule = new IntRangeRule();
                rule.Min = intRangeMin;
                rule.Max = intRangeMax;
                binding.ValidationRules.Add(rule);
                break;
            }

            case "IpAddressRule":
            {
                var rule = new IpAddressRule();
                binding.ValidationRules.Add(rule);
                break;
            }

            case "NotNullOrEmptyRule":
            {
                var rule = new NotNullOrEmptyRule();
                binding.ValidationRules.Add(rule);
                break;
            }

            case "OpcItemIdRule":
            {
                var rule = new OpcItemIdRule();
                binding.ValidationRules.Add(rule);
                break;
            }

            case "SingleItemRule":
            {
                var rule = new SingleItemRule(row, column, textBox.Text);
                rule.Items1 = configuredMeasurements;

                binding.ValidationRules.Add(rule);
                break;
            }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Registers the rule.
        /// </summary>
        /// <param name="ruleName">Name of the rule.</param>
        /// <param name="textBox">The text box.</param>
        /// <param name="intRangeMin">The int range min.</param>
        /// <param name="intRangeMax">The int range max.</param>
        private void RegisterRule(string ruleName, TextBox textBox, int intRangeMin, int intRangeMax)
        {
            Binding binding = BindingOperations.GetBinding(textBox, TextBox.TextProperty);

            if (binding == null)
            {
                return;
            }

            switch (ruleName)
            {
            case "ByteArrayRule":
            {
                var rule = new ByteArrayRule();
                binding.ValidationRules.Add(rule);
                break;
            }

            case "IntRangeRule":
            {
                var rule = new IntRangeRule();
                rule.Min = intRangeMin;
                rule.Max = intRangeMax;
                binding.ValidationRules.Add(rule);
                break;
            }

            case "IpAddressRule":
            {
                var rule = new IpAddressRule();
                binding.ValidationRules.Add(rule);
                break;
            }

            case "NotNullOrEmptyRule":
            {
                var rule = new NotNullOrEmptyRule();
                binding.ValidationRules.Add(rule);
                break;
            }

            case "OpcItemIdRule":
            {
                var rule = new OpcItemIdRule();
                binding.ValidationRules.Add(rule);
                break;
            }

            case "EhSerialNumberRule":
            {
                var rule = new EhSerialNumberRule();
                binding.ValidationRules.Add(rule);
                break;
            }
            }
        }