Example #1
0
        private static bool IsValidIntegerRule(IntegerDataUnit validIntegerDataUnit, IntegerValueRule integerValueRule)
        {
            RuleToApply ruleToApply = RuleToApply.NOTEQUALTO;

            if (integerValueRule.GreaterThan.HasValue || integerValueRule.LessThan.HasValue)
            {
                ruleToApply = RuleToApply.GREATERORLESSER;
            }
            else if (integerValueRule.EqualTo.HasValue)
            {
                ruleToApply = RuleToApply.EQUALTO;
            }
            else if (integerValueRule.NotEqualTo.HasValue)
            {
                ruleToApply = RuleToApply.NOTEQUALTO;
            }
            else
            {
                throw new Exception($"Integer Value rule needs to have a proper value");
            }

            switch (ruleToApply)
            {
            case RuleToApply.GREATERORLESSER:
                if (integerValueRule.GreaterThan.HasValue && integerValueRule.LessThan.HasValue)
                {
                    if (validIntegerDataUnit.Value >= integerValueRule.GreaterThan.Value && validIntegerDataUnit.Value <= integerValueRule.LessThan.Value)
                    {
                        return(true);
                    }
                    return(false);
                }
                else if (integerValueRule.GreaterThan.HasValue && validIntegerDataUnit.Value >= integerValueRule.GreaterThan.Value)
                {
                    return(true);
                }
                else if (integerValueRule.LessThan.HasValue && validIntegerDataUnit.Value <= integerValueRule.LessThan.Value)
                {
                    return(true);
                }
                return(false);

            case RuleToApply.EQUALTO:
                return(validIntegerDataUnit.Value == integerValueRule.EqualTo);

            case RuleToApply.NOTEQUALTO:
                return(validIntegerDataUnit.Value != integerValueRule.NotEqualTo);

            default:
                throw new NotSupportedException("The given type is not valid");
            }
        }
Example #2
0
        private static IntegerDataUnit GetIntegerDataUnit(InputDataUnit dataUnit)
        {
            if (!double.TryParse(dataUnit.Value, out double intResult))
            {
                throw new Exception($"{dataUnit.Signal} : {dataUnit.Value} is not valid");
            }

            if (IntegerDataUnit == null)
            {
                IntegerDataUnit = new IntegerDataUnit(dataUnit.Signal, intResult);
            }
            else
            {
                IntegerDataUnit.Signal = dataUnit.Signal;
                IntegerDataUnit.Value  = intResult;
            }

            return(IntegerDataUnit);
        }