Ejemplo n.º 1
0
        public override void OnReceiveResponseMessage(DicomClient client, ClientAssociationParameters association, byte presentationID, ClearCanvas.Dicom.DicomMessage message)
        {
            base.OnReceiveResponseMessage(client, association, presentationID, message);

            if (message.Status.Status == DicomState.Warning)
            {
                DicomStatus status = DicomStatuses.LookupQueryRetrieve(message.Status.Code);
                _errorDescriptionDetails = String.Format("Remote server returned a warning status ({0}: {1}).",
                                                         RemoteAE, status.Description);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Build a path from a strategy and a message.
        /// </summary>
        /// <param name="root"></param>
        /// <param name="storageStrategy"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public static string CreatePath(string root, Configuration.StorageStrategy storageStrategy, ClearCanvas.Dicom.DicomMessage message)
        {
            string path = root.TrimEnd(Path.DirectorySeparatorChar) +
                          Path.DirectorySeparatorChar;

            if (storageStrategy.UseDateSubDirectories)
            {
                path += DateTime.Now.ToString("yyyyMMdd");
                path += Path.DirectorySeparatorChar;
            }

            var componentList = storageStrategy.Directories.ConvertAll(
                d => message.DataSet[d.Tag].GetString(0, d.Default));

            path += string.Join(Path.DirectorySeparatorChar.ToString(), componentList);

            // use a GUID for the filename
            var filename = Guid.NewGuid().ToString();

            if (storageStrategy.File.Tag > 0)
            {
                filename = message.DataSet[storageStrategy.File.Tag].GetString(0, filename);
            }

            path = path + Path.DirectorySeparatorChar + filename + storageStrategy.File.Extension;
            return(path);
        }