/// <inheritdoc /> public StoreResponse BuildResponse(string studyInstanceUid) { bool hasSuccess = _dataset?.TryGetSequence(DicomTag.ReferencedSOPSequence, out _) ?? false; bool hasFailure = _dataset?.TryGetSequence(DicomTag.FailedSOPSequence, out _) ?? false; StoreResponseStatus status = StoreResponseStatus.None; if (hasSuccess && hasFailure) { // There are both successes and failures. status = StoreResponseStatus.PartialSuccess; } else if (hasSuccess) { // There are only success. status = StoreResponseStatus.Success; } else if (hasFailure) { // There are only failures. status = StoreResponseStatus.Failure; } if (hasSuccess && studyInstanceUid != null) { _dataset.Add(DicomTag.RetrieveURL, _urlResolver.ResolveRetrieveStudyUri(studyInstanceUid).ToString()); } return(new StoreResponse(status, _dataset)); }
public StoreResponse(StoreResponseStatus status, DicomDataset responseDataset) { Status = status; Dataset = responseDataset; }
/// <summary> /// Converts from <see cref="StoreResponseStatus"/> to <see cref="HttpStatusCode"/>. /// </summary> /// <param name="status">The status to convert.</param> /// <returns>The converted <see cref="HttpStatusCode"/>.</returns> public static HttpStatusCode ToHttpStatusCode(this StoreResponseStatus status) => StoreResponseStatusToHttpStatusCodeMapping[status];
public void GivenStatus_WhenConvertedToHttpStatusCode_ThenCorrectStatusCodeShouldBeReturned(StoreResponseStatus status, HttpStatusCode expectedStatusCode) { Assert.Equal(expectedStatusCode, status.ToHttpStatusCode()); }