public async Task <IActionResult> GetTestScenarioCountsForProvider(string providerId) { if (string.IsNullOrWhiteSpace(providerId)) { _logger.Error($"No providerId was provided to {nameof(GetTestScenarioCountsForProvider)}"); return(new BadRequestObjectResult("Null or empty providerId provided")); } ProviderTestScenarioResultCounts result = await _testResultsRepository.GetProviderCounts(providerId); return(new OkObjectResult(result)); }
public async Task <IActionResult> GetTestScenarioCountsForProvider(HttpRequest request) { request.Query.TryGetValue("providerId", out var providerIdParse); var providerId = providerIdParse.FirstOrDefault(); if (string.IsNullOrWhiteSpace(providerId)) { _logger.Error($"No providerId was provided to {nameof(GetTestScenarioCountsForProvider)}"); return(new BadRequestObjectResult("Null or empty providerId provided")); } ProviderTestScenarioResultCounts result = await _testResultsRepository.GetProviderCounts(providerId); return(new OkObjectResult(result)); }
public async Task <ProviderTestScenarioResultCounts> GetProviderCounts(string providerId) { Task <int> passedTask = Task.Run(async() => (await _cosmosRepository.Query <TestScenarioResult>(c => c.Content.Provider.Id == providerId && c.Content.TestResult == TestResult.Passed)).Count()); Task <int> failedTask = Task.Run(async() => (await _cosmosRepository.Query <TestScenarioResult>(c => c.Content.Provider.Id == providerId && c.Content.TestResult == TestResult.Failed)).Count()); Task <int> ignoredTask = Task.Run(async() => (await _cosmosRepository.Query <TestScenarioResult>(c => c.Content.Provider.Id == providerId && c.Content.TestResult == TestResult.Ignored)).Count()); await TaskHelper.WhenAllAndThrow(passedTask, failedTask, ignoredTask); ProviderTestScenarioResultCounts result = new ProviderTestScenarioResultCounts() { Passed = passedTask.Result, Failed = failedTask.Result, Ignored = ignoredTask.Result, ProviderId = providerId, }; return(result); }