public string ListSubmissions(int[] submissionIds, int[] workflowIds, string inputFileName, string status, string retrieved, int limit = 1000)
        {
            SubmissionStatus?parsedStatus    = null;
            bool?            parsedRetrieved = null;

            if (string.IsNullOrWhiteSpace(inputFileName))
            {
                inputFileName = null;
            }

            if (!string.IsNullOrEmpty(status))
            {
                if (!Enum.TryParse(status, out SubmissionStatus statusValue))
                {
                    throw new ArgumentException("Wrong status value provided. Please provide one of the valid submission statuses.");
                }
                else
                {
                    parsedStatus = statusValue;
                }
            }

            if (!string.IsNullOrEmpty(retrieved))
            {
                if (!bool.TryParse(retrieved, out bool retrievedValue))
                {
                    throw new ArgumentException("Wrong retreived value provided. Please provide \"True\" or \"False\" as a value.");
                }
                else
                {
                    parsedRetrieved = retrievedValue;
                }
            }

            var submissionFilter = new SubmissionFilter
            {
                InputFilename = inputFileName,
                Status        = parsedStatus,
                Retrieved     = parsedRetrieved
            };

            try
            {
                var submissions = Task.Run(async() => await _submissionsClient.ListAsync(submissionIds, workflowIds, submissionFilter, limit)).GetAwaiter().GetResult();

                return(JsonConvert.SerializeObject(submissions, new StringEnumConverter()));
            }
            catch (System.Exception ex)
            {
                //AA doesn't understand custom exception types and the only important thing is message, so method catches all exceptions and throw new generic one with the correct message.
                throw new System.Exception(ex.Message);
            }
        }
Exemple #2
0
 private void GetTestSubmissionFilters(out SubmissionFilter v2SubmissionFilter1, out SubmissionFilter v2SubmissionFilter2)
 {
     // Arrange
     v2SubmissionFilter1 = new SubmissionFilter
     {
         InputFilename = "testvalue",
         Retrieved     = true,
         Status        = SubmissionStatus.COMPLETE
     };
     v2SubmissionFilter2 = new SubmissionFilter
     {
         InputFilename = "testvalue2",
         Retrieved     = false,
         Status        = SubmissionStatus.FAILED
     };
 }
Exemple #3
0
        public void SubmissionFilter_ShouldCorrectlyMapV1SubmissionFilter()
        {
            // Arrange
            var v2SubmissionFilter = new SubmissionFilter
            {
                InputFilename = "testvalue",
                Retrieved     = true,
                Status        = SubmissionStatus.COMPLETE
            };

            var v1ExpectedStatus = SubmissionStatusConverters.ConvertToLegacy(v2SubmissionFilter.Status);

            // Act
            var v1SubmissionFilter = SubmissionFilterConverters.ConvertToLegacy(v2SubmissionFilter);

            // Assert
            v1SubmissionFilter.InputFilename.Should().Be(v2SubmissionFilter.InputFilename);
            v1SubmissionFilter.Retrieved.Should().Be(v2SubmissionFilter.Retrieved);
            v1SubmissionFilter.Status.Should().Be(v1ExpectedStatus);
            v1SubmissionFilter.AND.Should().BeNull();
            v1SubmissionFilter.OR.Should().BeNull();
        }