Using the Events OnStatus, OnPrinterReport, and OnPrintJobReport Example for C#
private LTDICPRNSCULib.LEADDicomPrintSCU objPrintSCU;
private void objPrintSCU_OnStatus(LTDICPRNSCULib.PrintScuStatusEnum
Status, int OperationStatus)
{
string sStatusCodeType = null;
string sOpStatus = null;
switch (Status)
{
case LTDICPRNSCULib.PrintScuStatusEnum.PRNSCU_STATUS_RECEIVE_ABORT:
MessageBox.Show("Source
= " + objPrintSCU.AbortSource
+ ", " + "Reason = " + objPrintSCU.AbortReason,
"Print SCP Aborted the Association");
break;
case LTDICPRNSCULib.PrintScuStatusEnum.PRNSCU_STATUS_RECEIVE_PRINT_FILM_SESSION_RSP:
{
if (OperationStatus
== (int)LTDNCLib.DicomCommandStatusConstants.COMMAND_STATUS_SUCCESS)
{
if
(objPrintSCU.LastOperationStatus
== (int)LTDNCLib.DicomCommandStatusConstants.COMMAND_STATUS_SUCCESS)
sStatusCodeType
= "Success";
else
sStatusCodeType
= "Warning";
}
else sStatusCodeType
= "Failure";
sOpStatus
= System.Convert.ToString(objPrintSCU.LastOperationStatus, 16).ToUpper();
while (sOpStatus.Length
< 4)
{
sOpStatus
= "0" + sOpStatus;
}
sOpStatus = "0x"
+ sOpStatus;
MessageBox.Show("Status:
" + sOpStatus + " (" + sStatusCodeType + ")",
"Received N-ACTION-RSP (Basic Film Session SOP Class)");
}
break;
}
}
private void objPrintSCU_OnPrinterReport(short
EventTypeID, string PrinterStatusInfo, string FilmDestination, string
PrinterName)
{
string sEventTypeName = null;
sEventTypeName = "Normal";
switch (EventTypeID)
{
case 2:
sEventTypeName = "Warning";
break;
case 3:
sEventTypeName = "Failure";
break;
}
string sMsg = null;
sMsg = "Event Type Name: " + sEventTypeName;
if (EventTypeID != 1)
sMsg = sMsg + System.Environment.NewLine + "Printer Status Info: "
+ PrinterStatusInfo + System.Environment.NewLine + "Film Destination:
" + FilmDestination + System.Environment.NewLine + "Printer
Name: " + PrinterName;
MessageBox.Show(sMsg, "Printer Status Report");
}
private void objPrintSCU_OnPrintJobReport(string
PrintJobSOPInstanceUID, short EventTypeID, string ExecutionStatusInfo,
string PrintJobID, string FilmSessionLabel, string PrinterName)
{
string sEventTypeName = null;
sEventTypeName = "Pending";
switch (EventTypeID)
{
case 2:
sEventTypeName = "Printing";
break;
case 3:
sEventTypeName = "Done";
break;
case 4:
sEventTypeName = "Failure";
break;
}
MessageBox.Show("Print Job SOP Instance UID: " + PrintJobSOPInstanceUID
+ System.Environment.NewLine + "Event Type Name: " + sEventTypeName
+ System.Environment.NewLine + "Execution Status Info: " + ExecutionStatusInfo
+ System.Environment.NewLine + "Film Session Label: " + FilmSessionLabel
+ System.Environment.NewLine + "Printer Name: " + PrinterName,
"Print Job Status Report");
}