예제 #1
0
 public static TypedValue Parse(DataType type, string value)
 {
     if (type == DataTypes.Bool)
     {
         return(BoolValue.Create(bool.Parse(value)));
     }
     if (type == DataTypes.Number)
     {
         return(NumberValue.Create(Decimal.Parse(value)));
     }
     if (type == DataTypes.Time)
     {
         return(TimeValue.Create(DateTime.Parse(value)));
     }
     if (type == DataTypes.Text)
     {
         return(TextValue.Create(value));
     }
     return(TypedValue.Empty);
 }
예제 #2
0
        // Match using regex
        public BoolValue Match(TextValue arg1, TextValue arg2)
        {
            Regex re = new Regex(arg2.Value);

            return(BoolValue.Create(re.IsMatch(arg1.Value)));
        }
예제 #3
0
 public BoolValue Lt(IOrderedValue arg1, IOrderedValue arg2)
 {
     return(BoolValue.Create(CheckedLess(arg1, arg2)));
 }
예제 #4
0
 public BoolValue Le(IOrderedValue arg1, IOrderedValue arg2)
 {
     return(BoolValue.Create(CheckedLess(arg1, arg2) || arg1.Equals(arg2)));
 }
예제 #5
0
 public BoolValue Gt(IOrderedValue arg1, IOrderedValue arg2)
 {
     return(BoolValue.Create(!CheckedLess(arg1, arg2) && !arg1.Equals(arg2)));
 }
예제 #6
0
 public BoolValue Ne(TypedValue arg1, TypedValue arg2)
 {
     return(BoolValue.Create(!CheckedEqual(arg1, arg2)));
 }
예제 #7
0
 public BoolValue Not(BoolValue arg1)
 {
     return(BoolValue.Create(!arg1.Value));
 }
예제 #8
0
 public BoolValue Xor(BoolValue arg1, BoolValue arg2)
 {
     return(BoolValue.Create(arg1.Value ^ arg2.Value));
 }
예제 #9
0
 public BoolValue Or(BoolValue arg1, BoolValue arg2)
 {
     return(BoolValue.Create(arg1.Value || arg2.Value));
 }
예제 #10
0
        ///=================================================================
        ///
        /// Logical operations
        ///

        public BoolValue And(BoolValue arg1, BoolValue arg2)
        {
            return(BoolValue.Create(arg1.Value && arg2.Value));
        }
예제 #11
0
 public void SetBool(int colno, bool value)
 {
     _valueholder._values[colno] = BoolValue.Create(value);
 }