Dicom.Data.DcmDataset.SetDateTime C# (CSharp) Method

SetDateTime() public method

public SetDateTime ( Dicom.Data.DicomTag dtag, Dicom.Data.DicomTag ttag, System.DateTime value ) : void
dtag Dicom.Data.DicomTag
ttag Dicom.Data.DicomTag
value System.DateTime
return void
        public void SetDateTime(DicomTag dtag, DicomTag ttag, DateTime value)
        {
            DcmDate da = new DcmDate(dtag);
            da.SetDateTime(value);
            AddItem(da);

            DcmTime tm = new DcmTime(ttag);
            tm.SetDateTime(value);
            AddItem(tm);
        }

Usage Example

Example #1
0
        protected override void OnReceiveNGetRequest(byte presentationID, ushort messageID,
            DicomUID requestedClass, DicomUID requestedInstance, DicomTag[] attributes)
        {
            if (requestedClass == DicomUID.PrinterSOPClass && requestedInstance == DicomUID.PrinterSOPInstance) {
                DcmDataset ds = new DcmDataset(DicomTransferSyntax.ImplicitVRLittleEndian);
                ds.AddElementWithValue(DicomTags.PrinterStatus, "NORMAL");
                ds.AddElementWithValue(DicomTags.PrinterStatus, "NORMAL");
                ds.AddElementWithValue(DicomTags.PrinterName, _config.PrinterName);
                ds.AddElementWithValue(DicomTags.Manufacturer, "N/A");
                ds.AddElementWithValue(DicomTags.ManufacturersModelName, "N/A");
                ds.AddElementWithValue(DicomTags.DeviceSerialNumber, "N/A");
                ds.AddElementWithValue(DicomTags.SoftwareVersions, "N/A");
                ds.SetDateTime(DicomTags.DateOfLastCalibration, DicomTags.TimeOfLastCalibration, DateTime.Now);

                SendNGetResponse(presentationID, messageID, requestedClass, requestedInstance, ds, DcmStatus.Success);
                return;
            }

            if (requestedClass == DicomUID.PrintJobSOPClass) {
                DcmPrintJob job = null;

                foreach (DcmPrintJob pj in _jobs) {
                    if (pj.SOPInstanceUID == requestedInstance) {
                        job = pj;
                        break;
                    }
                }

                if (job == null) {
                    job = new DcmPrintJob(requestedInstance);
                    job.ExecutionStatus = "DONE";
                    job.CreationDateTime = DateTime.Today;
                    job.PrintPriority = _session.PrintPriority;
                    job.PrinterName = _config.PrinterName;
                    job.Originator = Associate.CallingAE;
                }

                SendNGetResponse(presentationID, messageID, requestedClass, requestedInstance, job.Dataset, DcmStatus.Success);
                return;
            }

            if (requestedClass == DicomUID.PrinterConfigurationRetrievalSOPClass && requestedInstance == DicomUID.PrinterConfigurationRetrievalSOPInstance) {
                DcmDataset ds = new DcmDataset(DicomTransferSyntax.ImplicitVRLittleEndian);
                DcmDataset config = new DcmDataset(DicomTransferSyntax.ImplicitVRLittleEndian);

                DcmItemSequence sq = new DcmItemSequence(DicomTags.PrinterConfigurationSequence);
                sq.AddSequenceItem(config);
                ds.AddItem(sq);

                SendNGetResponse(presentationID, messageID, requestedClass, requestedInstance, ds, DcmStatus.Success);
                return;
            }

            SendAbort(DcmAbortSource.ServiceProvider, DcmAbortReason.NotSpecified);
        }