Exemple #1
0
        private static bool CompareReferences(double value, double reference, BooleanBinding.CheckTypes checkType, bool defaultValue)
        {
            switch (checkType)
            {
            case BooleanBinding.CheckTypes.EqualToReference:
                return(Math.Abs(value - reference) < 0.0001);

            case BooleanBinding.CheckTypes.GreaterThanReference:
                return(value > reference);

            case BooleanBinding.CheckTypes.LessThanReference:
                return(value < reference);
            }
            return(defaultValue);
        }
Exemple #2
0
        public static void UpdateSubscriber(out Func <bool> getter, BooleanBinding.CheckTypes checkType, IProperty property,
                                            double reference, bool defaultValue)
        {
            getter = null;
            switch (checkType)
            {
            case BooleanBinding.CheckTypes.Boolean:
            {
                Property <bool> res;
                if (TryGetProperty(property, out res))
                {
                    getter = () => res.Value;
                }
                break;
            }

            case BooleanBinding.CheckTypes.Empty:
            {
                Property <string> res;
                if (TryGetProperty(property, out res))
                {
                    getter = () => String.IsNullOrEmpty(res.Value);
                }
                break;
            }

            case BooleanBinding.CheckTypes.EqualToReference:
            case BooleanBinding.CheckTypes.GreaterThanReference:
            case BooleanBinding.CheckTypes.LessThanReference:
            {
                Property <int> intProp;
                if (TryGetProperty(property, out intProp))
                {
                    getter = () => CompareReferences(intProp.Value, reference, checkType, defaultValue);
                }
                break;
            }
            }
        }