/// <summary> /// Initializes a new instance of the <see cref="QueryTag"/> class. /// </summary> /// <remarks>Used for constuctoring from extended query tags.</remarks> /// <param name="entry">The extended query tag store entry.</param> public QueryTag(ExtendedQueryTagStoreEntry entry) { EnsureArg.IsNotNull(entry, nameof(entry)); string fullPath = string.IsNullOrEmpty(entry.PrivateCreator) ? entry.Path : $"{entry.Path}:{entry.PrivateCreator}"; Tag = DicomTag.Parse(fullPath); VR = DicomVR.Parse(entry.VR); Level = entry.Level; ExtendedQueryTagStoreEntry = entry; }
public ExtendedQueryTagStoreJoinEntry(ExtendedQueryTagStoreEntry storeEntry, Guid?operationId = null) : base( EnsureArg.IsNotNull(storeEntry, nameof(storeEntry)).Key, storeEntry.Path, storeEntry.VR, storeEntry.PrivateCreator, storeEntry.Level, storeEntry.Status, storeEntry.QueryStatus, storeEntry.ErrorCount) { OperationId = operationId; }
public async Task DeleteExtendedQueryTagAsync(string tagPath, CancellationToken cancellationToken) { DicomTag[] tags; if (!_dicomTagParser.TryParse(tagPath, out tags, supportMultiple: false)) { throw new InvalidExtendedQueryTagPathException( string.Format(CultureInfo.InvariantCulture, DicomCoreResource.InvalidExtendedQueryTag, tagPath ?? string.Empty)); } string normalizedPath = tags[0].GetPath(); ExtendedQueryTagStoreEntry extendedQueryTagEntry = await _extendedQueryTagStore.GetExtendedQueryTagAsync(normalizedPath, cancellationToken); await _extendedQueryTagStore.DeleteExtendedQueryTagAsync(normalizedPath, extendedQueryTagEntry.VR, cancellationToken); }