Exemplo n.º 1
0
        public static Param <string> IsGuid(this Param <string> param)
        {
            Guid guid;

            if (!Guid.TryParse(param.Value, out guid))
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Strings_IsGuid_Failed.Inject(param.Value));
            }

            return(param);
        }
        public static Param <IDictionary <TKey, TValue> > SizeIs <TKey, TValue>(this Param <IDictionary <TKey, TValue> > param, long expected)
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (param.Value.Count != expected)
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Collections_SizeIs_Failed.Inject(expected, param.Value.Count));
            }

            return(param);
        }
        public static Param <T[]> SizeIs <T>(this Param <T[]> param, long expected)
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (param.Value.Length != expected)
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Collections_SizeIs_Failed.Inject(expected, param.Value.Length));
            }

            return(param);
        }
        public static Param <T> SizeIs <T>(this Param <T> param, int expected) where T : ICollection
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (param.Value.Count != expected)
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Collections_SizeIs_Failed.Inject(expected, param.Value.Count));
            }

            return(param);
        }
        public static Param <T> IsNotDefault <T>(this Param <T> param) where T : struct
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (default(T).Equals(param.Value))
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.ValueTypes_IsNotDefault_Failed);
            }

            return(param);
        }
Exemplo n.º 6
0
        public static Param <string> IsNotNullOrEmpty(this Param <string> param)
        {
            if (param.Value == null)
            {
                throw ExceptionFactory.CreateForParamNullValidation(param, ExceptionMessages.Common_IsNotNull_Failed);
            }

            if (string.IsNullOrEmpty(param.Value))
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Strings_IsNotNullOrEmpty_Failed);
            }

            return(param);
        }
        public static TypeParam IsNotOfType(this TypeParam param, Type type)
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (param.Type == type)
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Types_IsNotOfType_Failed.Inject(type.FullName));
            }

            return(param);
        }
        public static Param <T[]> Any <T>(this Param <T[]> param, Func <T, bool> predicate)
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (!param.Value.Any(predicate))
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Collections_Any_Failed);
            }

            return(param);
        }
        public static Param <Dictionary <TKey, TValue> > ContainsKey <TKey, TValue>(this Param <Dictionary <TKey, TValue> > param, TKey key)
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (!param.Value.ContainsKey(key))
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Collections_ContainsKey_Failed.Inject(key));
            }

            return(param);
        }
        public static Param <bool> IsTrue(this Param <bool> param)
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (!param.Value)
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Booleans_IsTrueFailed);
            }

            return(param);
        }
        public static Param <T> IsGte <T>(this Param <T> param, T limit) where T : struct, IComparable <T>
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (param.Value.IsLt(limit))
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Comp_IsNotGte.Inject(param.Value, limit));
            }

            return(param);
        }
        public static Param <T> IsNot <T>(this Param <T> param, T expected) where T : struct, IComparable <T>
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (param.Value.IsEq(expected))
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Comp_IsNot_Failed.Inject(param.Value, expected));
            }

            return(param);
        }
        public static Param <Guid> IsNotEmpty(this Param <Guid> param)
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (param.Value.Equals(Guid.Empty))
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Guids_IsNotEmpty_Failed);
            }

            return(param);
        }
        public static Param <List <T> > HasItems <T>(this Param <List <T> > param)
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (param.Value == null || param.Value.Count < 1)
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Collections_HasItemsFailed);
            }

            return(param);
        }
        public static TypeParam IsClass(this TypeParam param)
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (!param.Type.GetTypeInfo().IsClass)
            {
                throw ExceptionFactory.CreateForParamValidation(param,
                                                                ExceptionMessages.Types_IsClass_Failed.Inject(param.Type.FullName));
            }

            return(param);
        }
Exemplo n.º 16
0
        public static Param <string> IsNotNullOrWhiteSpace(this Param <string> param)
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (param.Value == null)
            {
                throw ExceptionFactory.CreateForParamNullValidation(param, ExceptionMessages.Common_IsNotNull_Failed);
            }

            if (string.IsNullOrWhiteSpace(param.Value))
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Strings_IsNotNullOrWhiteSpace_Failed);
            }

            return(param);
        }
        public static Param <T> IsInRange <T>(this Param <T> param, T min, T max) where T : struct, IComparable <T>
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (param.Value.IsLt(min))
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Comp_IsNotInRange_ToLow.Inject(param.Value, min));
            }

            if (param.Value.IsGt(max))
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Comp_IsNotInRange_ToHigh.Inject(param.Value, max));
            }

            return(param);
        }
        public static Param <T[]> HasItems <T>(this Param <T[]> param)
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (param.Value == null)
            {
                throw ExceptionFactory.CreateForParamNullValidation(param, ExceptionMessages.Common_IsNotNull_Failed);
            }

            if (param.Value.Length < 1)
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Collections_HasItemsFailed);
            }

            return(param);
        }
Exemplo n.º 19
0
        public static Param <string> HasLengthBetween(this Param <string> param, int minLength, int maxLength)
        {
            if (param.Value == null)
            {
                throw ExceptionFactory.CreateForParamNullValidation(param, ExceptionMessages.Common_IsNotNull_Failed);
            }

            var length = param.Value.Length;

            if (length < minLength)
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Strings_HasLengthBetween_Failed_ToShort.Inject(minLength, maxLength, length));
            }

            if (length > maxLength)
            {
                throw ExceptionFactory.CreateForParamValidation(param, ExceptionMessages.Strings_HasLengthBetween_Failed_ToLong.Inject(minLength, maxLength, length));
            }

            return(param);
        }
        public static Param <Type> IsClass(this Param <Type> param)
        {
            if (!Ensure.IsActive)
            {
                return(param);
            }

            if (param.Value == null)
            {
                throw ExceptionFactory.CreateForParamNullValidation(param,
                                                                    ExceptionMessages.Types_IsClass_Failed_Null);
            }

            if (!param.Value.GetTypeInfo().IsClass)
            {
                throw ExceptionFactory.CreateForParamValidation(param,
                                                                ExceptionMessages.Types_IsClass_Failed.Inject(param.Value.FullName));
            }

            return(param);
        }