/// <summary> /// Determines whether the specified <see cref="System.Object"/> is equal to this instance. /// </summary> /// <param name="obj">The <see cref="System.Object"/> to compare with this instance.</param> /// <returns> /// <c>true</c> if the specified <see cref="System.Object"/> is equal to this instance; otherwise, <c>false</c>. /// </returns> public virtual bool Equals(T obj) { if (obj == null) { return(false); } if (ReferenceEquals(this, obj)) { return(true); } return (Id == obj.Id && CreatedDate.ApproximatelyEqual(obj.CreatedDate) && ModifiedDate.ApproximatelyEqual(obj.ModifiedDate)); }