Exemple #1
0
        public virtual IEnumerable <ObjectRetrieveResult> GetTransformedSopInstances
        (
            IObjectId query,
            string fromMediaType,
            string fromTransferSyntax,
            string toMediaType,
            string toTransferSyntax
        )
        {
            IMediaId fromMediaID = GetFromMediaId(query, fromMediaType, fromTransferSyntax);
            var      frameList   = (null != query.Frame) ? new int[] { query.Frame.Value } : null;


            if (StorageService.Exists(fromMediaID))
            {
                foreach (IStorageLocation location in StorageService.EnumerateLocation(fromMediaID))
                {
                    DicomFile defaultFile = DicomFile.Open(location.GetReadStream());

                    foreach (var transformedLocation in TransformDataset(defaultFile.Dataset, toMediaType, toTransferSyntax, frameList))
                    {
                        yield return(new ObjectRetrieveResult(transformedLocation, toTransferSyntax));
                    }
                }
            }
        }
Exemple #2
0
        public MemoryStorageLocation(string id, IMediaId mediaID, MemoryStream stream)
        {
            ID      = id;
            MediaId = mediaID;
            EnableUploadHardCopy = true;

            _location = stream;
        }
 public LocalStorageLocation(string fileName, IMediaId id = null)
 {
     ID                 = fileName;
     MediaId            = id;
     Name               = Path.GetFileName(fileName);
     __MetadataFileName = Path.Combine(fileName, "meta");
     Refresh( );
 }
Exemple #4
0
        public virtual IStorageLocation GetLocation(IMediaId id)
        {
            string            key       = KeyProvider.GetStorageKey(id);
            IStorageContainer container = GetContainer(KeyProvider.GetContainerName(key));
            var location = container.GetLocation(KeyProvider.GetLocationName(key), id);


            return(location);
        }
Exemple #5
0
        public IStorageLocation GetLocation(string name = null, IMediaId id = null)
        {
            if (string.IsNullOrWhiteSpace(name))
            {
                name = Guid.NewGuid( ).ToString( );
            }

            return(new LocalStorageLocation(GetLocationPath(name), id));
        }
Exemple #6
0
        public IEnumerable <IStorageLocation> EnumerateLocation(IMediaId id)
        {
            string key           = KeyProvider.GetStorageKey(id);
            string containerName = KeyProvider.GetContainerName(key);


            foreach (IStorageContainer container in GetContainers(containerName))
            {
                foreach (IStorageLocation location in container.GetLocations(KeyProvider.GetLocationName(key)))
                {
                    yield return(location);
                }
            }
        }
Exemple #7
0
        public bool Exists(IMediaId id)
        {
            string            key           = KeyProvider.GetStorageKey(id);
            string            containerName = KeyProvider.GetContainerName(key);
            IStorageContainer container;


            if (ContainerExists(containerName))
            {
                container = GetContainer(containerName);

                return(container.LocationExists(KeyProvider.GetLocationName(key)));
            }

            return(false);
        }
Exemple #8
0
        public void DeleteLocations(IMediaId id)
        {
            string key           = KeyProvider.GetStorageKey(id);
            string containerName = KeyProvider.GetContainerName(key);


            if (ContainerExists(key))
            {
                var container = GetContainer(key);

                container.Delete( );
            }
            else
            {
                var location = GetLocation(id);

                location.Delete( );
            }
        }
Exemple #9
0
        public virtual void Write(Stream stream, IMediaId id)
        {
            var location = GetLocation(id);

            location.Upload(stream);
        }
Exemple #10
0
        public virtual Stream Read(IMediaId key)
        {
            var location = GetLocation(key);

            return(location.Download( ));
        }
Exemple #11
0
 public AzureLocation(ICloudBlob blob, IMediaId id = null)
 {
     Blob     = blob;
     _mediaId = id;
 }
Exemple #12
0
 public virtual string GetStorageKey(IMediaId id)
 {
     return(Path.Combine(id.GetIdParts( )));
 }
 public override string GetStorageKey(IMediaId id)
 {
     return(Path.Combine(id.GetIdParts( ).Select(GetPartKey).ToArray( )));
 }
Exemple #14
0
        public IStorageLocation GetLocation(string key = null, IMediaId id = null)
        {
            var blob = __Container.GetBlockBlobReference((key == null) ? Guid.NewGuid().ToString() : key);

            return(new AzureLocation(blob, id));
        }
Exemple #15
0
 public IStorageLocation GetLocation(IMediaId key)
 {
     return(new MemoryStorageLocation(Path.Combine(key.GetIdParts( )), key));
 }
Exemple #16
0
 public string GetStorageKey(IMediaId key)
 {
     return(string.Join(GetLogicalSeparator( ), key.GetIdParts( )));
 }
Exemple #17
0
 public MemoryStorageLocation(string id, IMediaId mediaID)
     : this(id, mediaID, new MemoryStream( ))
 {
 }
Exemple #18
0
        public virtual void Write(Stream stream, IMediaId id, string contentType)
        {
            var location = GetLocation(id);

            location.Upload(stream, contentType);
        }