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);
        }
Пример #2
0
        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);
        }
Пример #4
0
        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;
        }
Пример #5
0
        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;
        }
Пример #6
0
        private async Task CreateFile(string studyInstanceUid, string seriesInstanceUid, string sopInstanceUid)
        {
            DicomFile dicomFile1 = Samples.CreateRandomDicomFile(studyInstanceUid, seriesInstanceUid, sopInstanceUid);

            await _client.StoreAsync(new[] { dicomFile1 }, studyInstanceUid);
        }