private async Task <DicomDataset> PostDicomFileAsync(ResourceType resourceType, string studyInstanceUid, string seriesInstanceUid = null, string sopInstanceUid = null, DicomDataset dataSet = null) { DicomFile dicomFile = null; switch (resourceType) { case ResourceType.Study: dicomFile = Samples.CreateRandomDicomFile(studyInstanceUid); break; case ResourceType.Series: dicomFile = Samples.CreateRandomDicomFile(studyInstanceUid, seriesInstanceUid); break; case ResourceType.Instance: dicomFile = Samples.CreateRandomDicomFile(studyInstanceUid, seriesInstanceUid, sopInstanceUid); break; } if (dataSet != null) { dicomFile.Dataset.AddOrUpdate(dataSet); } DicomWebResponse <DicomDataset> response = await _client.StoreAsync(new[] { dicomFile }); Assert.Equal(HttpStatusCode.OK, response.StatusCode); return(dicomFile.Dataset); }
public async Task GivenRandomContent_WhenStoring_TheServerShouldReturnConflict() { await using (MemoryStream stream = _recyclableMemoryStreamManager.GetStream()) { DicomWebException <DicomDataset> exception = await Assert.ThrowsAsync <DicomWebException <DicomDataset> >(() => _client.StoreAsync(new[] { stream })); Assert.Equal(HttpStatusCode.Conflict, exception.StatusCode); } }
private async Task <DicomDataset> PostDicomFileAsync(DicomDataset metadataItems = null) { DicomFile dicomFile1 = CreateDicomFile(); if (metadataItems != null) { dicomFile1.Dataset.AddOrUpdate(metadataItems); } await _client.StoreAsync(new[] { dicomFile1 }); _createdDicomStudies.Add(dicomFile1.Dataset.GetSingleValue <string>(DicomTag.StudyInstanceUID)); return(dicomFile1.Dataset); }
private static void StoreRetrievedData(DicomFile dicomFile) { DicomWebResponse <DicomDataset> response = client.StoreAsync(new List <DicomFile>() { dicomFile }).Result; int statusCode = (int)response.StatusCode; if (statusCode != 409 && statusCode < 200 && statusCode > 299) { throw new Exception(); } return; }
private static async Task Stow(Message message, CancellationToken token) { PatientInstance pI = JsonSerializer.Deserialize <PatientInstance>(Encoding.UTF8.GetString(message.Body)); // 400, 400, 100 - 16MB // 100, 100, 100 - 1MB // 100, 100, 50 - 0.5MB DicomFile dicomFile = Samples.CreateRandomDicomFileWithPixelData( pI, rows: 100, columns: 100, frames: 50); DicomWebResponse <DicomDataset> response = await client.StoreAsync(new List <DicomFile>() { dicomFile }, cancellationToken : token); int statusCode = (int)response.StatusCode; if (statusCode != 409 && statusCode < 200 && statusCode > 299) { throw new Exception(); } return; }
private async Task CreateFile(string studyInstanceUid, string seriesInstanceUid, string sopInstanceUid) { DicomFile dicomFile1 = Samples.CreateRandomDicomFile(studyInstanceUid, seriesInstanceUid, sopInstanceUid); await _client.StoreAsync(new[] { dicomFile1 }, studyInstanceUid); }