Exemple #1
0
        /// <summary>
        /// Construit un ValidatableObject qui validera la valeur à chaque modification de cette dernière.
        /// </summary>
        /// <param name="validationRules">Les règle de validation de <list type="'objet."</param>
        /// <returns>Un ValidatableObject qui validera la valeur à chaque modification de cette dernière.</returns>
        public static ValidatableObject <T> AutoValidatingObject(IEnumerable <IValidationRule <T> > validationRules = null)
        {
            var vo = new ValidatableObject <T>(true);

            if (validationRules != null)
            {
                vo.ValidationRules.AddRange(validationRules);
            }
            return(vo);
        }
Exemple #2
0
        /// <summary>
        /// Vérifie l'égalité.
        /// </summary>
        /// <param name="other">Objet à comparer avec this.</param>
        /// <returns>true si other est égal à this, false sinon.</returns>
        public bool Equals(ValidatableObject <T> other)
        {
            #region Comparaison sur Value

            if (other == null)
            {
                return(false);
            }
            if (!other.Value.Equals(Value))
            {
                return(false);
            }

            #endregion Comparaison sur Value

            #region Comparaison sur les règles de validation

            if (other.ValidationRules == null && ValidationRules == null)
            {
                return(true);
            }
            if (other.ValidationRules.Count == 0 && ValidationRules.Count == 0)
            {
                return(true);
            }
            if (other.ValidationRules.Count != ValidationRules.Count)
            {
                return(false);
            }
            if (!other.ValidationRules.All(ValidationRules.Contains))
            {
                return(false);
            }

            #endregion Comparaison sur les règles de validation

            return(true);
        }