/// <summary>
        /// Determine whether the value is not included in the given set.
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="collectionFunc"></param>
        /// <typeparam name="T"></typeparam>
        /// <typeparam name="TVal"></typeparam>
        /// <typeparam name="TItem"></typeparam>
        /// <returns></returns>
        public static IPredicateValueRuleBuilder <T, TVal> NotIn <T, TVal, TItem>(this IValueRuleBuilder <T, TVal> builder, Func <ICollection <TItem> > collectionFunc)
            where TVal : IEnumerable <TItem>
        {
            var current = builder._impl();

            current.State.CurrentToken = new ValueNotInToken <TVal, TItem>(current._contract, collectionFunc);
            return(current);
        }
        /// <summary>
        /// None
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="func"></param>
        /// <typeparam name="T"></typeparam>
        /// <typeparam name="TVal"></typeparam>
        /// <typeparam name="TItem"></typeparam>
        /// <returns></returns>
        public static IPredicateValueRuleBuilder <T, TVal> None <T, TVal, TItem>(this IValueRuleBuilder <T, TVal> builder, Func <TItem, bool> func)
            where TVal : ICollection <TItem>
        {
            var current = builder._impl();

            current.State.CurrentToken = new ValueNoneToken <TVal, TItem>(current._contract, func);
            return(current);
        }
        /// <summary>
        /// Determine whether the value is not included in the given set.
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="objects"></param>
        /// <typeparam name="T"></typeparam>
        /// <typeparam name="TVal"></typeparam>
        /// <typeparam name="TItem"></typeparam>
        /// <returns></returns>
        public static IPredicateValueRuleBuilder <T, TVal> NotIn <T, TVal, TItem>(this IValueRuleBuilder <T, TVal> builder, params TItem[] objects)
            where TVal : IEnumerable <TItem>
        {
            var current = builder._impl();

            current.State.CurrentToken = new ValueNotInToken <TVal, TItem>(current._contract, objects);
            return(current);
        }
 /// <summary>
 /// Not all
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="func"></param>
 /// <typeparam name="T"></typeparam>
 /// <typeparam name="TVal"></typeparam>
 /// <typeparam name="TItem"></typeparam>
 /// <returns></returns>
 public static IPredicateValueRuleBuilder <T, TVal> NotAll <T, TVal, TItem>(this IValueRuleBuilder <T, TVal> builder, Func <TItem, bool> func)
     where TVal : ICollection <TItem>
 {
     return(builder.Any(func));
 }
 /// <summary>
 /// Not all
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="func"></param>
 /// <typeparam name="T"></typeparam>
 /// <typeparam name="TItem"></typeparam>
 /// <returns></returns>
 public static IPredicateValueRuleBuilder <T, TItem[]> NotAll <T, TItem>(this IValueRuleBuilder <T, TItem[]> builder, Func <TItem, bool> func)
 {
     return(builder.Any(func));
 }
Beispiel #6
0
        /// <summary>
        /// Determine whether one value is greater than or equal to another value.
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="valueFunc"></param>
        /// <typeparam name="T"></typeparam>
        /// <typeparam name="TVal"></typeparam>
        /// <returns></returns>
        public static IPredicateValueRuleBuilder <T, TVal> GreaterThanOrEqual <T, TVal>(this IValueRuleBuilder <T, TVal> builder, Func <TVal> valueFunc)
        {
            var current = builder._impl();

            current.State.CurrentToken = new ValueGreaterThanOrEqualToken <TVal>(current._contract, valueFunc);
            return(current);
        }
 private static CorrectValueRuleBuilder <T, TVal> _impl <T, TVal>(this IValueRuleBuilder <T, TVal> builder)
 {
     return((CorrectValueRuleBuilder <T, TVal>)builder);
 }
 private static CorrectValueRuleBuilder _impl(this IValueRuleBuilder builder)
 {
     return((CorrectValueRuleBuilder)builder);
 }
Beispiel #9
0
        //`2

        public static IWaitForMessageValueRuleBuilder <T, TVal> Predicate <T, TVal>(this IValueRuleBuilder <T, TVal> builder, Predicate <TVal> predicate)
        {
            var current = builder._impl();

            return(new CorrectWaitForMessageValueRuleBuilder <T, TVal>(current, predicate));
        }
Beispiel #10
0
 /// <summary>
 /// Fill in the message.
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="message"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static IValueRuleBuilder <T> WithMessage <T>(this IValueRuleBuilder <T> builder, string message)
 {
     return(builder.WithMessage(message, true));
 }
Beispiel #11
0
        /// <summary>
        /// The constraint type must be of DateInfo type.
        /// </summary>
        /// <returns></returns>
        public static IPredicateValueRuleBuilder <T, TVal> RequiredDateInfo <T, TVal>(this IValueRuleBuilder <T, TVal> builder, DateTimeStyles style = DateTimeStyles.None)
        {
            var current = builder._impl();

            current.State.CurrentToken = new ValueRequiredDateInfoToken(current._contract, style);
            return(current);
        }
Beispiel #12
0
 public static IPredicateValueRuleBuilder <T, TVal> Satisfies <T, TVal>(this IValueRuleBuilder <T, TVal> builder, Func <TVal, bool> func, string message)
 {
     return(Satisfies(builder, func).WithMessage(message));
 }
Beispiel #13
0
        //`2

        public static IWaitForMessageValueRuleBuilder <T, TVal> Satisfies <T, TVal>(this IValueRuleBuilder <T, TVal> builder, Func <TVal, bool> func)
        {
            var current = builder._impl();

            return(new CorrectWaitForMessageValueRuleBuilder <T, TVal>(current, func));
        }
Beispiel #14
0
 public static IPredicateValueRuleBuilder Satisfies(this IValueRuleBuilder builder, Func <object, bool> func, string message)
 {
     return(Satisfies(builder, func).WithMessage(message));
 }
Beispiel #15
0
        //`0

        public static IWaitForMessageValueRuleBuilder Satisfies(this IValueRuleBuilder builder, Func <object, bool> func)
        {
            var current = builder._impl();

            return(new CorrectWaitForMessageValueRuleBuilder(current, func));
        }
Beispiel #16
0
        public static IPredicateValueRuleBuilder <T, TVal> RangeWithCloseInterval <T, TVal>(this IValueRuleBuilder <T, TVal> builder, TVal from, TVal to)
        {
            var current = builder._impl();

            current.State.CurrentToken = new ValueRangeToken <TVal>(current._contract, from, to, RangeOptions.CloseInterval);
            return(current);
        }
Beispiel #17
0
        //`0

        public static IWaitForMessageValueRuleBuilder Predicate(this IValueRuleBuilder builder, Predicate <object> predicate)
        {
            var current = builder._impl();

            return(new CorrectWaitForMessageValueRuleBuilder(current, predicate));
        }