/// <summary> /// Do the actual verification if an association is acceptable. /// </summary> /// <remarks> /// This method primarily checks the remote AE title to see if it is a valid device that can /// connect to the destAe. /// </remarks> /// <param name="context">Generic parameter passed in, is a DicomScpParameters instance.</param> /// <param name="assocParms">The association parameters.</param> /// <param name="result">Output parameter with the DicomRejectResult for rejecting the association.</param> /// <param name="reason">Output parameter with the DicomRejectReason for rejecting the association.</param> /// <returns>true if the association should be accepted, false if it should be rejected.</returns> public static bool Verify(DicomScpContext context, ServerAssociationParameters assocParms, out DicomRejectResult result, out DicomRejectReason reason) { bool isNew; IDevice device = IoC.Get <IDeviceManager>().LookupDevice(context.Partition, assocParms, out isNew); if (device == null) { if (context.Partition.AcceptAnyDevice) { reason = DicomRejectReason.NoReasonGiven; result = DicomRejectResult.Permanent; return(true); } reason = DicomRejectReason.CallingAENotRecognized; result = DicomRejectResult.Permanent; return(false); } if (device.Enabled == false) { Log.Logger.Error("Rejecting association from {0} to {1}. IDevice is disabled.", assocParms.CallingAE, assocParms.CalledAE); reason = DicomRejectReason.CallingAENotRecognized; result = DicomRejectResult.Permanent; return(false); } reason = DicomRejectReason.NoReasonGiven; result = DicomRejectResult.Permanent; return(true); }
public StorageFilestreamHandler(DicomScpContext context, ServerAssociationParameters assoc) { _context = context; //_remoteDevice = remoteDevice; _importContext = new SopInstanceImporterContext( String.Format("{0}_{1}", assoc.CallingAE, assoc.TimeStamp.ToString("yyyyMMddhhmmss")), assoc.CallingAE, assoc.CalledAE); //if (_remoteDevice != null && _remoteDevice.DeviceTypeEnum.Equals(DeviceTypeEnum.PrimaryPacs)) //{ // _importContext.DuplicateProcessing = DuplicateProcessingEnum.OverwriteSopAndUpdateDatabase; //} }