Example #1
0
        public virtual bool HasSameDomainEqualityAs(BaseDomainObject compareTo)
        {
            var domainEqualityProperties = GetDomainEqualityProperties();

            foreach (PropertyInfo property in domainEqualityProperties)
            {
                object valueOfThisObject = property.GetValue(this, null);
                object valueToCompareTo = property.GetValue(compareTo, null);

                if (valueOfThisObject == null && valueToCompareTo == null)
                    continue;

                if ((valueOfThisObject == null ^ valueToCompareTo == null) ||
                    (!valueOfThisObject.Equals(valueToCompareTo)))
                {
                    return false;
                }
            }

            return domainEqualityProperties.Any() || base.Equals(compareTo);
        }
Example #2
0
        public virtual bool HasSameDomainEqualityAs(BaseDomainObject compareTo)
        {
            var domainEqualityProperties = GetDomainEqualityProperties();

            foreach (PropertyInfo property in domainEqualityProperties)
            {
                object valueOfThisObject = property.GetValue(this, null);
                object valueToCompareTo  = property.GetValue(compareTo, null);

                if (valueOfThisObject == null && valueToCompareTo == null)
                {
                    continue;
                }

                if ((valueOfThisObject == null ^ valueToCompareTo == null) ||
                    (!valueOfThisObject.Equals(valueToCompareTo)))
                {
                    return(false);
                }
            }

            return(domainEqualityProperties.Any() || base.Equals(compareTo));
        }