コード例 #1
0
        /// ======================================================================

        public static bool IsValid(IValidable obj)
        {
            if (obj == null)
            {
                return(false);
            }

            return(obj.IsValid());
        }
コード例 #2
0
        public static ActorMessageContext Create(PID actor, IValidable condition, params Command[] commands)
        {
            var context = new ActorMessageContext {
                Actor = actor, Condition = condition
            };

            context.Commands.AddRange(commands);
            return(context);
        }
コード例 #3
0
 /// <summary>
 /// Возвращает форматированную строку ошибки валидации объекта.
 /// </summary>
 /// <param name="obj">Валидируемый объект.</param>
 /// <param name="key">Ключ валидируемого свойства.</param>
 /// <param name="error">Сообщение об ошибке.</param>
 /// <returns>Форматированная строка сообщения.</returns>
 public static string GetErrorMessage(this IValidable obj, string key, string error)
 {
     return(string.Format(
                "Object of type '{0}' with Id = '{1}', key '{2}' is invalid: {3}",
                obj.GetType(),
                obj.Id,
                key,
                error));
 }
コード例 #4
0
 public static bool IsValid(this IValidable obj)
 {
     try
     {
         obj.Validate();
         return(true);
     }
     catch { return(false); }
 }
コード例 #5
0
        /// <summary>
        /// Значение типа string не пустое.
        /// </summary>
        /// <param name="obj">Валидируемый объект.</param>
        /// <param name="key">Ключ валидируемого свойства.</param>
        public static void KeyStringIsNoEmpty(this IValidable obj, string key)
        {
            var value = GetPropertyValue <string>(obj, key);

            if (string.IsNullOrWhiteSpace(value))
            {
                var error = GetErrorMessage(obj, key, "String is empty");
                throw new ArgumentException(error);
            }
        }
コード例 #6
0
        /// <summary>
        /// Значение типа int больше ноля.
        /// </summary>
        /// <param name="obj">Валидируемый объект.</param>
        /// <param name="key">Ключ валидируемого свойства.</param>
        public static void KeyIntAboveZero(this IValidable obj, string key)
        {
            var value = GetPropertyValue <int>(obj, key);

            if (value <= 0)
            {
                var error = GetErrorMessage(obj, key, "Value <= 0");
                throw new ArgumentException(error);
            }
        }
コード例 #7
0
 private void ValidateAll(object o)
 {
     foreach (FieldInfo fieldInfo in o.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance))
     {
         IValidable current = fieldInfo.GetValue(o) as IValidable;
         if (current != null)
         {
             current.Validate();
             ValidateAll(current);
         }
     }
 }
コード例 #8
0
ファイル: ExtensionMethods.cs プロジェクト: giagiigi/WE
        /// <summary>
        /// Extension method to assign css class for a asp.net control based on a condition
        /// </summary>
        /// <param name="container"></param>
        /// <param name="condition"></param>
        /// <param name="className"></param>
        /// <returns></returns>
        public static string CssClassIfInvalid(this Control container, IValidable item, string propertyName, string errorStyle)
        {
            if (!item.IsValid())
            {
                // find the matching property
                ValidationError valError = item.ValidationErrors().Find(vError => vError.PropertyName.EqualsIgnoreCase(propertyName));
                if (valError != null)
                {
                    return(errorStyle);
                }
            }

            return(string.Empty);
        }
コード例 #9
0
        /// <summary>
        /// If there are any error in the object it returns false;
        /// </summary>
        public static bool IsValid(this IValidable validable)
        {
            bool isValid = true;

            try
            {
                validable.GetValidationResult(Level.Empty);
            }
            catch (Validation.ValidationException)
            {
                isValid = false;
            }
            return(isValid);
        }
コード例 #10
0
        /// <summary>
        ///     Checks if all the IValidable children are Valid (elem.IsValid())
        /// </summary>
        /// <param name="root"></param>
        /// <returns></returns>
        public static bool AreAllChildrenValid(this FrameworkElement root)
        {
            if (root == null)
                return true;

            foreach (Control ctrl in root.FindAllChildren<IValidable>())
            {
                IValidable test = ctrl as IValidable;
                if (test != null)
                    if (test.IsValid() == false)
                    {
                        return false;
                    }
            }
            return true;
        }
コード例 #11
0
 static void ValidarDocumento(IValidable documento)
 {
     documento.validar();
 }
コード例 #12
0
 public static bool IsValid(this IValidable a_validable)
 {
     return(!a_validable.GetErrorMessages().Any());
 }
コード例 #13
0
 public ConditionContainer WithCondition(IValidable condition)
 {
     Conditions.Add(condition);
     return(this);
 }
コード例 #14
0
 public string_flied(IValidable validationType, string value) : base()
 {
     this.tipo_validacion = validationType;
     this.value           = value;
 }
コード例 #15
0
 /// <summary>
 /// Gets the complete validation result of the object.
 /// </summary>
 public static ValidationResultBase GetValidationResult(this IValidable validable)
 {
     return(validable.GetValidationResult(Level.Max));
 }