示例#1
0
 ///<summary>
 /// Returns a value indicating whether this instance is equal to a specified object using value semantics.
 ///</summary>
 ///<param name="toObject">An object to compare to this instance.</param>
 ///<returns>true if toObject is a <see cref="EvlBehaviorBase"/> and has the same value as this instance; otherwise, false.</returns>
 public virtual bool Equals(EvlBehaviorBase toObject)
 {
     if (toObject == null)
     {
         return(false);
     }
     return(ValueEquals(this, toObject));
 }
示例#2
0
        /// <summary>
        /// Initializes a new instance of the EvlBehaviorKey class.
        /// </summary>
        public EvlBehaviorKey(EvlBehaviorBase entity)
        {
            this.Entity = entity;

            #region Init Properties

            if (entity != null)
            {
                this.Id = entity.Id;
            }

            #endregion
        }
示例#3
0
        ///<summary>
        /// Determines whether the specified <see cref="EvlBehaviorBase"/> instances are considered equal using value semantics.
        ///</summary>
        ///<param name="Object1">The first <see cref="EvlBehaviorBase"/> to compare.</param>
        ///<param name="Object2">The second <see cref="EvlBehaviorBase"/> to compare. </param>
        ///<returns>true if Object1 is the same instance as Object2 or if both are null references or if objA.Equals(objB) returns true; otherwise, false.</returns>
        public static bool ValueEquals(EvlBehaviorBase Object1, EvlBehaviorBase Object2)
        {
            // both are null
            if (Object1 == null && Object2 == null)
            {
                return(true);
            }

            // one or the other is null, but not both
            if (Object1 == null ^ Object2 == null)
            {
                return(false);
            }

            bool equal = true;

            if (Object1.Id != Object2.Id)
            {
                equal = false;
            }
            if (Object1.Subject != null && Object2.Subject != null)
            {
                if (Object1.Subject != Object2.Subject)
                {
                    equal = false;
                }
            }
            else if (Object1.Subject == null ^ Object2.Subject == null)
            {
                equal = false;
            }
            if (Object1.CatelogId != null && Object2.CatelogId != null)
            {
                if (Object1.CatelogId != Object2.CatelogId)
                {
                    equal = false;
                }
            }
            else if (Object1.CatelogId == null ^ Object2.CatelogId == null)
            {
                equal = false;
            }
            if (Object1.Weight != null && Object2.Weight != null)
            {
                if (Object1.Weight != Object2.Weight)
                {
                    equal = false;
                }
            }
            else if (Object1.Weight == null ^ Object2.Weight == null)
            {
                equal = false;
            }
            if (Object1.ModelId != null && Object2.ModelId != null)
            {
                if (Object1.ModelId != Object2.ModelId)
                {
                    equal = false;
                }
            }
            else if (Object1.ModelId == null ^ Object2.ModelId == null)
            {
                equal = false;
            }

            return(equal);
        }