public void SendCMoveResponse(byte presentationID, ushort messageID, DicomMessage message, DicomStatus status,
ushort numberOfCompletedSubOperations, ushort numberOfRemainingSubOperations,
ushort numberOfFailedSubOperations, ushort numberOfWarningSubOperations,
string errorComment)
{
message.CommandField = DicomCommandField.CMoveResponse;
message.Status = status;
message.MessageIdBeingRespondedTo = messageID;
message.AffectedSopClassUid = _assoc.GetAbstractSyntax(presentationID).UID;
message.NumberOfCompletedSubOperations = numberOfCompletedSubOperations;
message.NumberOfRemainingSubOperations = numberOfRemainingSubOperations;
message.NumberOfFailedSubOperations = numberOfFailedSubOperations;
message.NumberOfWarningSubOperations = numberOfWarningSubOperations;
message.DataSetType = message.DataSet.IsEmpty() ? (ushort)0x0101 : (ushort)0x0202;
if (!string.IsNullOrEmpty(errorComment))
message.ErrorComment = errorComment.Substring(0, (int)Math.Min(DicomVr.LOvr.MaximumLength, errorComment.Length));
SendDimse(presentationID, message.CommandSet, message.DataSet);
}