public virtual bool DeleteSeries(ISeriesId series)
        {
            long seriesKey = GetSeriesKey(DataAdapter, series);


            return(DataAdapter.CreateDeleteSeriesCommand(seriesKey).Execute( ));
        }
        public virtual IEnumerable <InstanceMetadata> GetSeriesMetadata(ISeriesId series)
        {
            var command = DataAdapter.CreateGetMetadataCommand(series);

            command.Execute( );

            return(command.Result);

            //return GetInstanceMetadata ( DataAdapter, command ) ;
        }
Example #3
0
        private void DeleteMediaLocations(ISeriesId series)
        {
            var seriesMeta = DataAccess.GetSeriesMetadata(series);


            if (null != seriesMeta)
            {
                foreach (var objectMetaRaw in seriesMeta)
                {
                    DeleteMediaLocations(objectMetaRaw);
                }
            }
        }
        protected virtual long GetSeriesKey(ObjectArchieveDataAdapter adapter, ISeriesId series)
        {
            var cmd = adapter.CreateSelectSeriesKeyCommand(series);


            if (cmd.Execute( ))
            {
                return(cmd.Result);
            }
            else
            {
                throw new DCloudNotFoundException("series is not found.");
            }
        }
Example #5
0
        public virtual IDataAdapterCommand <long> CreateSelectSeriesKeyCommand(ISeriesId series)
        {
            TableKey     studyTable   = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.StudyTableName);
            TableKey     seriesTable  = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.SeriesTableName);
            QueryBuilder queryBuilder = CreateQueryBuilder( );


            ProcessSelectStudy(series, queryBuilder, studyTable, seriesTable);
            ProcessSelectSeries(series, queryBuilder, seriesTable, seriesTable);

            return(new SingleResultQueryCommand <long> (CreateCommand(queryBuilder.GetQueryText(seriesTable)),
                                                        seriesTable.Name,
                                                        seriesTable.KeyColumn.Name));
        }
Example #6
0
        public HttpResponseMessage GetInstances(IStudyId studyId, ISeriesId seriesId, IObjectId sopUid)

        {
            IEnumerable <DicomDataset> instances = QueryInstances(studyId, seriesId, sopUid);

            OHIFViewerModel result = GetOHIFModel(instances, studyId);

            HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);

            response.Content = new StringContent(result.ToJson(true));
            response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            return(response);
        }
        public virtual IDataAdapterCommand <long> CreateSelectSeriesKeyCommand(ISeriesId series)
        {
            TableKey            studyTable   = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.StudyTableName);
            TableKey            seriesTable  = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.SeriesTableName);
            QueryBuilder        queryBuilder = CreateQueryBuilder( );
            SingleValueMatching uidMatching  = new SingleValueMatching( );


            queryBuilder.ProcessColumn(seriesTable, studyTable.ModelKeyColumns  [0], uidMatching, new string[] { series.StudyInstanceUID });
            queryBuilder.ProcessColumn(seriesTable, seriesTable.ModelKeyColumns [0], uidMatching, new string[] { series.SeriesInstanceUID });

            return(new SingleResultQueryCommand <long> (CreateCommand(queryBuilder.GetQueryText(seriesTable)),
                                                        seriesTable.Name,
                                                        seriesTable.KeyColumn.Name));
        }
Example #8
0
        protected virtual void ProcessSelectSeries
        (
            ISeriesId series,
            QueryBuilder queryBuilder,
            TableKey seriesTable,
            TableKey sourceTable
        )
        {
            SingleValueMatching uidMatching = new SingleValueMatching( );


            queryBuilder.ProcessColumn(sourceTable,
                                       seriesTable.ModelKeyColumns [0],
                                       uidMatching,
                                       new string[] { series.SeriesInstanceUID });
        }
        public ResultSetQueryCommand <InstanceMetadata> CreateGetMetadataCommand(ISeriesId series)
        {
            TableKey            studyTable     = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.StudyTableName);
            TableKey            seriesTable    = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.SeriesTableName);
            TableKey            sourceTable    = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.ObjectInstanceTableName);
            QueryBuilder        queryBuilder   = CreateQueryBuilder( );
            SingleValueMatching uidMatching    = new SingleValueMatching( );
            ColumnInfo          metadataColumn = SchemaProvider.GetColumn(sourceTable.Name,
                                                                          StorageDbSchemaProvider.MetadataTable.MetadataColumn);

            queryBuilder.ProcessColumn(sourceTable, seriesTable.ModelKeyColumns[0], uidMatching, new string[] { series.SeriesInstanceUID });
            queryBuilder.ProcessColumn(sourceTable, studyTable.ModelKeyColumns[0], uidMatching, new string[] { series.StudyInstanceUID });
            queryBuilder.ProcessColumn(sourceTable, metadataColumn);

            return(new ResultSetQueryCommand <InstanceMetadata> (CreateCommand(queryBuilder.GetQueryText(sourceTable)),
                                                                 sourceTable,
                                                                 new string [] { metadataColumn.ToString( ) },
                                                                 CreateMetadata));
        }
Example #10
0
        public ResultSetQueryCommand <InstanceMetadata> CreateGetMetadataCommand(ISeriesId series)
        {
            TableKey     studyTable     = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.StudyTableName);
            TableKey     seriesTable    = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.SeriesTableName);
            TableKey     sourceTable    = SchemaProvider.GetTableInfo(StorageDbSchemaProvider.ObjectInstanceTableName);
            QueryBuilder queryBuilder   = CreateQueryBuilder( );
            ColumnInfo   metadataColumn = SchemaProvider.GetColumn(sourceTable.Name,
                                                                   StorageDbSchemaProvider.MetadataTable.MetadataColumn);

            ProcessSelectStudy(series, queryBuilder, studyTable, sourceTable);
            ProcessSelectSeries(series, queryBuilder, seriesTable, sourceTable);

            queryBuilder.ProcessColumn(sourceTable, metadataColumn);

            return(new ResultSetQueryCommand <InstanceMetadata> (CreateCommand(queryBuilder.GetQueryText(sourceTable)),
                                                                 sourceTable,
                                                                 new string [] { metadataColumn.ToString( ) },
                                                                 CreateMetadata));
        }
Example #11
0
 public ObjectId(ISeriesId series)
 {
     StudyInstanceUID  = series.StudyInstanceUID;
     SeriesInstanceUID = series.SeriesInstanceUID;
 }
Example #12
0
 protected virtual IQueryOptions GetQueryOptions(IStudyId studyId, ISeriesId seriesId, IObjectId sopId)
 {
     return(CreateNewQueryOptions());
 }
Example #13
0
        protected virtual IEnumerable <DicomDataset> QueryInstances(IStudyId studyId, ISeriesId seriesId, IObjectId sopId)
        {
            DicomDataset ds = new DicomDataset()
            {
                AutoValidate = false
            };

            ds.Add(Dicom.DicomTag.StudyInstanceUID, studyId.StudyInstanceUID);
            ds.Add(DicomTag.SeriesInstanceUID, seriesId.SeriesInstanceUID);
            ds.Add(DicomTag.PatientID, "");
            ds.Add(DicomTag.PatientName, "");
            ds.Add(DicomTag.SeriesDescription, "");
            ds.Add(DicomTag.SOPInstanceUID, sopId.SOPInstanceUID);
            ds.Add(DicomTag.NumberOfFrames, "");

            return(QueryService.FindObjectInstances(ds, GetQueryOptions(studyId, seriesId, sopId)));
        }