Пример #1
0
        /// <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));
        }
Пример #2
0
        /// <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 );
        }