public static IFluentContinuation <TViewModel, TPropertyValue> BetweenValues <TViewModel, TPropertyValue>( this IFluentOperator <TViewModel, TPropertyValue> instance, object @from, object to) where TViewModel : ViewModelBase { var implementerInstance = (FluentImplementer <TViewModel, TPropertyValue>)instance; implementerInstance.EnsureContextCurrentPropertyIsNotNull(); // uses parenthesis to satisfy syntax : IsNot.BetweenValues (...) implementerInstance.AddToken(ExpressionNode.OpenParenthesis()); implementerInstance.AddToken(ExpressionNode.OpenParenthesis()); implementerInstance.AddToken(ExpressionNode.GreaterThanValue(implementerInstance.Context.CurrentProperty, @from)); implementerInstance.AddToken(ExpressionNode.Or()); implementerInstance.AddToken(ExpressionNode.EqualToValue(implementerInstance.Context.CurrentProperty, @from)); implementerInstance.AddToken(ExpressionNode.CloseParenthesis()); implementerInstance.AddToken(ExpressionNode.And()); implementerInstance.AddToken(ExpressionNode.OpenParenthesis()); implementerInstance.AddToken(ExpressionNode.LessThanValue(implementerInstance.Context.CurrentProperty, to)); implementerInstance.AddToken(ExpressionNode.Or()); implementerInstance.AddToken(ExpressionNode.EqualToValue(implementerInstance.Context.CurrentProperty, to)); implementerInstance.AddToken(ExpressionNode.CloseParenthesis()); implementerInstance.AddToken(ExpressionNode.CloseParenthesis()); return((IFluentContinuation <TViewModel, TPropertyValue>)instance); }
public static IFluentContinuation <TViewModel, TPropertyValue> Null <TViewModel, TPropertyValue>( this IFluentOperator <TViewModel, TPropertyValue> instance) where TViewModel : ViewModelBase { var implementerInstance = (FluentImplementer <TViewModel, TPropertyValue>)instance; implementerInstance.EnsureContextCurrentPropertyIsNotNull(); implementerInstance.AddToken(ExpressionNode.EqualToValue(implementerInstance.Context.CurrentProperty, null)); return((IFluentContinuation <TViewModel, TPropertyValue>)instance); }
public static IFluentContinuation <TViewModel, TPropertyValue> DifferentOf <TViewModel, TPropertyValue>( this IFluentOperator <TViewModel, TPropertyValue> instance, TPropertyValue value) where TViewModel : ViewModelBase { var implementerInstance = (FluentImplementer <TViewModel, TPropertyValue>)instance; implementerInstance.EnsureContextCurrentPropertyIsNotNull(); // different of = not equal to value implementerInstance.AddToken(ExpressionNode.Not()); implementerInstance.AddToken(ExpressionNode.EqualToValue(implementerInstance.Context.CurrentProperty, value)); return((IFluentContinuation <TViewModel, TPropertyValue>)instance); }
public static IFluentContinuation <TViewModel, TPropertyValue> GreaterThanOrEqualTo <TViewModel, TPropertyValue>( this IFluentOperator <TViewModel, TPropertyValue> instance, TPropertyValue value) where TViewModel : ViewModelBase where TPropertyValue : IComparable { var implementerInstance = (FluentImplementer <TViewModel, TPropertyValue>)instance; implementerInstance.EnsureContextCurrentPropertyIsNotNull(); implementerInstance.AddToken(ExpressionNode.OpenParenthesis()); implementerInstance.AddToken(ExpressionNode.GreaterThanValue(implementerInstance.Context.CurrentProperty, value)); implementerInstance.AddToken(ExpressionNode.Or()); implementerInstance.AddToken(ExpressionNode.EqualToValue(implementerInstance.Context.CurrentProperty, value)); implementerInstance.AddToken(ExpressionNode.CloseParenthesis()); return((IFluentContinuation <TViewModel, TPropertyValue>)instance); }
public static IFluentContinuation <TViewModel, TPropertyValue> NullOrEmpty <TViewModel, TPropertyValue>( this IFluentOperator <TViewModel, TPropertyValue> instance) where TViewModel : ViewModelBase where TPropertyValue : IComparable <string>, IEquatable <string> { var implementerInstance = (FluentImplementer <TViewModel, TPropertyValue>)instance; implementerInstance.EnsureContextCurrentPropertyIsNotNull(); implementerInstance.AddToken(ExpressionNode.OpenParenthesis()); implementerInstance.AddToken(ExpressionNode.EqualToValue(implementerInstance.Context.CurrentProperty, null)); implementerInstance.AddToken(ExpressionNode.Or()); implementerInstance.AddToken(ExpressionNode.EqualToValue(implementerInstance.Context.CurrentProperty, string.Empty)); implementerInstance.AddToken(ExpressionNode.CloseParenthesis()); return((IFluentContinuation <TViewModel, TPropertyValue>)instance); }
public static IFluentContinuation <TViewModel, TPropertyValue> Required <TViewModel, TPropertyValue>( this IFluentOperator <TViewModel, TPropertyValue> instance) where TViewModel : ViewModelBase { var implementerInstance = (FluentImplementer <TViewModel, TPropertyValue>)instance; implementerInstance.EnsureContextCurrentPropertyIsNotNull(); // required = is neither null nor empty implementerInstance.AddToken(ExpressionNode.Not()); implementerInstance.AddToken(ExpressionNode.OpenParenthesis()); implementerInstance.AddToken(ExpressionNode.EqualToValue(implementerInstance.Context.CurrentProperty, null)); implementerInstance.AddToken(ExpressionNode.Or()); implementerInstance.AddToken(ExpressionNode.EqualToValue(implementerInstance.Context.CurrentProperty, string.Empty)); implementerInstance.AddToken(ExpressionNode.CloseParenthesis()); return((IFluentContinuation <TViewModel, TPropertyValue>)instance); }