///<summary> /// Returns a value indicating whether this instance is equal to a specified object. ///</summary> ///<param name="toObject">An object to compare to this instance.</param> ///<returns>true if toObject is a <see cref="OrderDetailsExtendedBase"/> and has the same value as this instance; otherwise, false.</returns> public virtual bool Equals(OrderDetailsExtendedBase toObject) { if (toObject == null) return false; return Equals(this, toObject); }
///<summary> /// Determines whether the specified <see cref="OrderDetailsExtendedBase"/> instances are considered equal. ///</summary> ///<param name="Object1">The first <see cref="OrderDetailsExtendedBase"/> to compare.</param> ///<param name="Object2">The second <see cref="OrderDetailsExtendedBase"/> 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 Equals(OrderDetailsExtendedBase Object1, OrderDetailsExtendedBase 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.OrderId != Object2.OrderId) equal = false; if (Object1.ProductId != Object2.ProductId) equal = false; if (Object1.ProductName != Object2.ProductName) equal = false; if (Object1.UnitPrice != Object2.UnitPrice) equal = false; if (Object1.Quantity != Object2.Quantity) equal = false; if (Object1.Discount != Object2.Discount) equal = false; if (Object1.ExtendedPrice != null && Object2.ExtendedPrice != null ) { if (Object1.ExtendedPrice != Object2.ExtendedPrice) equal = false; } else if (Object1.ExtendedPrice == null ^ Object1.ExtendedPrice == null ) { equal = false; } return equal; }