/// <summary> /// Sets the appropriate multi-part flags and settings on the specified message header. /// </summary> /// <param name="header">The message header to update.</param> /// <param name="correlatedHeader">The header the specified header is correlated with, if any.</param> /// <param name="isMultiPart">Whether the message is part of a multi-part message or not.</param> /// <param name="isFinalPart">Whether the message is the final part of a message.</param> public static void PrepareHeader(this IMessageHeader header, IMessageHeader correlatedHeader, bool isMultiPart, bool isFinalPart) { if (isMultiPart) { if (header.EtpVersion == EtpVersion.v11) { header.SetMultiPart(); } if (isFinalPart) { header.SetFinalPart(); } } else { header.SetFinalPart(); } header.CorrelationId = correlatedHeader?.MessageId ?? 0; }