/// <summary> /// Checks if this dto is equal to . /// </summary> /// <param name="keyedDto"> /// The keyed dto. /// </param> /// <returns> /// Returns true if this dto is equal to /// </returns> public virtual bool Equals(KeyedDataTransferObject keyedDto) { if (ReferenceEquals(null, keyedDto)) { return(false); } if (ReferenceEquals(this, keyedDto)) { return(true); } if (GetType() != keyedDto.GetType()) { return(false); } var otherIsTransient = Equals(keyedDto.Key, ( long )0); var thisIsTransient = Equals(Key, ( long )0); if (otherIsTransient && thisIsTransient) { return(ReferenceEquals(keyedDto, this)); } return(keyedDto.Key.Equals(Key)); }
/// <summary> /// Checks if this dto is equal to . /// </summary> /// <param name="keyedDto"> /// The keyed dto. /// </param> /// <returns> /// Returns true if this dto is equal to /// </returns> public virtual bool Equals( KeyedDataTransferObject keyedDto ) { if ( ReferenceEquals ( null, keyedDto ) ) { return false; } if ( ReferenceEquals ( this, keyedDto ) ) { return true; } if ( GetType () != keyedDto.GetType () ) { return false; } var otherIsTransient = Equals ( keyedDto.Key, ( long )0 ); var thisIsTransient = Equals ( Key, ( long )0 ); if ( otherIsTransient && thisIsTransient ) { return ReferenceEquals ( keyedDto, this ); } return keyedDto.Key.Equals ( Key ); }