public void SendImage(ImageResult ir, DICOMSCP reciever) { AutoResetEvent ar = new AutoResetEvent(false); var query = new CMoveIOD() { QueryLevel = QueryLevel.IMAGE, PatientId = ir.PatientId, SOPInstanceUID = ir.SopInstanceUid }; if (ir.SeriesUid != null) { query.SeriesInstanceUID = ir.SeriesUid; } if (!reciever.IsListening) { reciever.ListenForIncomingAssociations(true); } ManualResetEvent mr = new ManualResetEvent(false); var cr = new EvilDICOM.Network.Services.DIMSEService.DIMSEResponseHandler <CMoveResponse>((res, asc) => { if (!(res.Status == (ushort)Status.PENDING)) { mr.Set(); } }); _scu.DIMSEService.CMoveResponseReceived += cr; _scu.SendMessage(new CMoveRequest(query, reciever.ApplicationEntity.AeTitle), _scp); mr.WaitOne(); _scu.DIMSEService.CMoveResponseReceived -= cr; }
public void SendImage(ImageResult ir, DICOMSCP reciever) { AutoResetEvent ar = new AutoResetEvent(false); var query = new CMoveIOD() { QueryLevel = QueryLevel.IMAGE, PatientId = ir.PatientId, SOPInstanceUID = ir.SopInstanceUid }; if (ir.SeriesUid != null) { query.SeriesInstanceUID = ir.SeriesUid; } if (!reciever.IsListening) { reciever.ListenForIncomingAssociations(true); } ManualResetEvent mr = new ManualResetEvent(false); var cr = new EvilDICOM.Network.Services.DIMSEService.DIMSEResponseHandler<CMoveResponse>((res, asc) => { if (!(res.Status == (ushort)Status.PENDING)) { mr.Set(); } }); _scu.DIMSEService.CMoveResponseReceived += cr; _scu.SendMessage(new CMoveRequest(query, reciever.ApplicationEntity.AeTitle), _scp); mr.WaitOne(); _scu.DIMSEService.CMoveResponseReceived -= cr; }