/// <summary> /// Returns a list of the services supported by this plugin. /// </summary> /// <returns></returns> public override IList <SupportedSop> GetSupportedSopClasses() { if (_list == null) { _list = new List <SupportedSop>(); // Get the SOP Classes using (IReadContext read = _store.OpenReadContext()) { // Set the input parameters for query PartitionSopClassQueryParameters inputParms = new PartitionSopClassQueryParameters(); inputParms.ServerPartitionKey = Partition.GetKey(); IQueryServerPartitionSopClasses broker = read.GetBroker <IQueryServerPartitionSopClasses>(); IList <PartitionSopClass> sopClasses = broker.Find(inputParms); // Now process the SOP Class List foreach (PartitionSopClass partitionSopClass in sopClasses) { if (partitionSopClass.Enabled && !partitionSopClass.NonImage) { SupportedSop sop = new SupportedSop(); sop.SopClass = SopClass.GetSopClass(partitionSopClass.SopClassUid); sop.SyntaxList.Add(TransferSyntax.ExplicitVrLittleEndian); sop.SyntaxList.Add(TransferSyntax.ImplicitVrLittleEndian); _list.Add(sop); } } } } return(_list); }
/// <summary> /// Returns a list of the services supported by this plugin. /// </summary> /// <returns></returns> public override IList <SupportedSop> GetSupportedSopClasses() { if (_sopList == null) { _sopList = new List <SupportedSop>(); // Get the SOP Classes using (IReadContext read = _store.OpenReadContext()) { // Get the transfer syntaxes _syntaxList = LoadTransferSyntaxes(read, Partition.GetKey(), true); // Set the input parameters for query PartitionSopClassQueryParameters inputParms = new PartitionSopClassQueryParameters(); inputParms.ServerPartitionKey = Partition.GetKey(); IQueryServerPartitionSopClasses broker = read.GetBroker <IQueryServerPartitionSopClasses>(); IList <PartitionSopClass> sopClasses = broker.Find(inputParms); // Now process the SOP Class List foreach (PartitionSopClass partitionSopClass in sopClasses) { if (partitionSopClass.Enabled && !partitionSopClass.NonImage) { SupportedSop sop = new SupportedSop(); sop.SopClass = SopClass.GetSopClass(partitionSopClass.SopClassUid); foreach (PartitionTransferSyntax syntax in _syntaxList) { sop.SyntaxList.Add(TransferSyntax.GetTransferSyntax(syntax.Uid)); } _sopList.Add(sop); } } } } return(_sopList); }
/// <summary> /// Returns a list of the DICOM services supported by this plugin. /// </summary> /// <returns></returns> public override IList <SupportedSop> GetSupportedSopClasses() { if (_list == null) { // Load from the database the non-image sops that are current configured for this server partition. _list = new List <SupportedSop>(); // Input parameters PartitionSopClassQueryParameters inputParms = new PartitionSopClassQueryParameters(); inputParms.ServerPartitionKey = Partition.GetKey(); // Do the query using (IReadContext read = _store.OpenReadContext()) { IQueryServerPartitionSopClasses broker = read.GetBroker <IQueryServerPartitionSopClasses>(); IList <PartitionSopClass> sopClasses = broker.Find(inputParms); read.Dispose(); // Now process the SOP Class list foreach (PartitionSopClass partitionSopClass in sopClasses) { if (partitionSopClass.Enabled && partitionSopClass.NonImage) { SupportedSop sop = new SupportedSop(); sop.SopClass = SopClass.GetSopClass(partitionSopClass.SopClassUid); sop.SyntaxList.Add(TransferSyntax.ExplicitVrLittleEndian); sop.SyntaxList.Add(TransferSyntax.ImplicitVrLittleEndian); _list.Add(sop); } } } } return(_list); }