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

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

            return(obj is OrderFulfillmentUpdatedUpdate other &&
                   ((FulfillmentUid == null && other.FulfillmentUid == null) || (FulfillmentUid?.Equals(other.FulfillmentUid) == true)) &&
                   ((OldState == null && other.OldState == null) || (OldState?.Equals(other.OldState) == true)) &&
                   ((NewState == null && other.NewState == null) || (NewState?.Equals(other.NewState) == true)));
        }
        public override int GetHashCode()
        {
            int hashCode = 1020384167;

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

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

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

            return(hashCode);
        }