示例#1
0
        public static void TryValidateParam([NotNull] Type value, [NotNull] Type expectedType, string paramName, string message = "")
        {
            if (value != expectedType)
            {
                message = CreateExceptionMessage(message, Resources.InvalidType);

                ExceptionThrower.ThrowArgumentInvalidException(message, paramName);
            }
        }
示例#2
0
        public static void TryValidateParam(Uri value, string paramName, string message = "")
        {
            if (Validate.TryValidateNull(value))
            {
                message = CreateExceptionMessage(message, Resources.UriCannotBeNull);

                ExceptionThrower.ThrowArgumentInvalidException(message, paramName);
            }
        }
示例#3
0
        public static void TryValidateParam([NotNull] Guid value, string paramName, string message = "")
        {
            if (value.Equals(Guid.Empty))
            {
                message = CreateExceptionMessage(message, Resources.GuidIsEmpty);

                ExceptionThrower.ThrowArgumentInvalidException(message, paramName);
            }
        }
示例#4
0
        public static void TryValidateParam(string value, [NotNull] Regex match, string paramName, string message = "")
        {
            TryValidateParam(value, paramName, message);

            if (match.IsMatch(value) == false)
            {
                message = CreateExceptionMessage(message, Resources.StringIsNotValid);

                ExceptionThrower.ThrowArgumentInvalidException(message, paramName);
            }
        }
示例#5
0
        public static void TryValidateParam(string value, StringType stringType, int minimumLength, int maximumLength, string paramName, string message = "")
        {
            //TODO: Add more string types.
            TryValidateParam(value, paramName, message);
            TryValidateParam(stringType, nameof(stringType), Resources.InvalidStringType);

            if (value.Length.IsInRange(minimumLength, maximumLength) == false)
            {
                message = CreateExceptionMessage(
                    message,
                    string.Format(
                        CultureInfo.CurrentCulture,
                        Resources.InvalidStringLengthAcceptableRange,
                        minimumLength,
                        maximumLength));

                ExceptionThrower.ThrowArgumentOutOfRangeException(paramName, message);
            }


            // Final string validation
            switch (stringType)
            {
            case StringType.Email:
                if (value.IsEmailAddress() == false)
                {
                    message = CreateExceptionMessage(message, Resources.InvalidEmailAddress);

                    ExceptionThrower.ThrowArgumentInvalidException(message, paramName);
                }

                break;

            case StringType.Url:
                if (value.IsUrl() == false)
                {
                    message = CreateExceptionMessage(message, Resources.InvalidUrlAddress);

                    ExceptionThrower.ThrowArgumentInvalidException(message, paramName);
                }

                break;

            case StringType.NotSet:
                break;

            default:
                break;
            }
        }
示例#6
0
        public static void TryValidateObject <TException>(bool condition, string message = "")
            where TException : Exception, new()
        {
            if (string.Equals(typeof(TException).Name, nameof(Exception), StringComparison.Ordinal))
            {
                ExceptionThrower.ThrowArgumentInvalidException(
                    "Exception is not allowed to be used for this method. Please choose a more detailed Exception type.",
                    nameof(TException));
            }

            if (condition is false)
            {
                message = CreateExceptionMessage(message, Resources.ObjectValidationFailed);

                var ex = Activator.CreateInstance(typeof(TException), message).As <TException>();

                throw ex;
            }
        }