コード例 #1
0
        public override bool Equals(object obj)
        {
            DomainValidationError domainValidationError = obj as DomainValidationError;

            if (domainValidationError == null)
            {
                return(false);
            }
            if (PropertyName != domainValidationError.PropertyName)
            {
                return(false);
            }
            if (Message != domainValidationError.Message)
            {
                return(false);
            }
            return(true);
        }
コード例 #2
0
        /// <summary>
        /// Verifies a set of invariants on a particular domain object.
        /// </summary>
        /// <param name="invariants">List of invariants to check.</param>
        /// <param name="domainObjectType">The type of domain object being validated.</param>
        /// <param name="clientErrorCode">A client-specific error code that provides additional details about the error.</param>
        /// <exception cref="InvariantException">Thrown if any of the invariants fail.  Domain validation error(s) in the exception list
        /// the specific failures.</exception>
        public static void InvariantCheck(IList <Invariant> invariants, string domainObjectType, ClientErrorCode clientErrorCode = ClientErrorCode.NotSpecified)
        {
            InvariantException exception = null;

            //Check all of the invariants and add DomainValidationErrors if they fail.
            foreach (Invariant invariant in invariants.Where(invariant => !invariant.Condition))
            {
                var domainValidationError = new DomainValidationError(invariant.PropertyName, invariant.Message);
                if (exception == null)
                {
                    exception = new InvariantException(domainValidationError, String.Format("There was a problem validating the {0}.", domainObjectType), clientErrorCode);
                }
                else
                {
                    exception.Add(domainValidationError);
                }
            }

            if (exception != null)
            {
                throw exception;
            }
        }