Example #1
0
        /// <inheritdoc />
        public async Task <StoreResponse> ProcessAsync(
            IReadOnlyList <IDicomInstanceEntry> instanceEntries,
            string requiredStudyInstanceUid,
            CancellationToken cancellationToken)
        {
            if (instanceEntries != null)
            {
                _dicomInstanceEntries     = instanceEntries;
                _requiredStudyInstanceUid = requiredStudyInstanceUid;

                for (int index = 0; index < instanceEntries.Count; index++)
                {
                    try
                    {
                        await ProcessDicomInstanceEntryAsync(index, cancellationToken);
                    }
                    finally
                    {
                        // Fire and forget.
                        int capturedIndex = index;

                        _ = Task.Run(() => DisposeResourceAsync(capturedIndex), CancellationToken.None);
                    }
                }
            }

            return(_storeResponseBuilder.BuildResponse(requiredStudyInstanceUid));
        }
        public DicomStoreServiceTests()
        {
            _storeResponseBuilder.BuildResponse(Arg.Any <string>()).Returns(DefaultResponse);

            _storeService = new StoreService(
                _storeResponseBuilder,
                _dicomDatasetValidator,
                _storeOrchestrator,
                NullLogger <StoreService> .Instance);
        }