public override int GetHashCode()
        {
            int hashCode = 2075174143;

            if (Uid != null)
            {
                hashCode += Uid.GetHashCode();
            }

            if (SourceOrderId != null)
            {
                hashCode += SourceOrderId.GetHashCode();
            }

            if (ReturnLineItems != null)
            {
                hashCode += ReturnLineItems.GetHashCode();
            }

            if (ReturnServiceCharges != null)
            {
                hashCode += ReturnServiceCharges.GetHashCode();
            }

            if (ReturnTaxes != null)
            {
                hashCode += ReturnTaxes.GetHashCode();
            }

            if (ReturnDiscounts != null)
            {
                hashCode += ReturnDiscounts.GetHashCode();
            }

            if (RoundingAdjustment != null)
            {
                hashCode += RoundingAdjustment.GetHashCode();
            }

            if (ReturnAmounts != null)
            {
                hashCode += ReturnAmounts.GetHashCode();
            }

            return(hashCode);
        }
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            if (obj == this)
            {
                return(true);
            }

            return(obj is OrderReturn other &&
                   ((Uid == null && other.Uid == null) || (Uid?.Equals(other.Uid) == true)) &&
                   ((SourceOrderId == null && other.SourceOrderId == null) || (SourceOrderId?.Equals(other.SourceOrderId) == true)) &&
                   ((ReturnLineItems == null && other.ReturnLineItems == null) || (ReturnLineItems?.Equals(other.ReturnLineItems) == true)) &&
                   ((ReturnServiceCharges == null && other.ReturnServiceCharges == null) || (ReturnServiceCharges?.Equals(other.ReturnServiceCharges) == true)) &&
                   ((ReturnTaxes == null && other.ReturnTaxes == null) || (ReturnTaxes?.Equals(other.ReturnTaxes) == true)) &&
                   ((ReturnDiscounts == null && other.ReturnDiscounts == null) || (ReturnDiscounts?.Equals(other.ReturnDiscounts) == true)) &&
                   ((RoundingAdjustment == null && other.RoundingAdjustment == null) || (RoundingAdjustment?.Equals(other.RoundingAdjustment) == true)) &&
                   ((ReturnAmounts == null && other.ReturnAmounts == null) || (ReturnAmounts?.Equals(other.ReturnAmounts) == true)));
        }