public object Get(FindTestRuns request) { var userId = GetSignedInUserId(); var planId = request.TestPlanId; var testRuns = Db.Select<TestRun>(q => q.UserAuthId == userId && q.TestPlanId == planId) .OrderByDescending(x => x.Id); var testRunCounts = Db.Dictionary<int, int>( Db.From<TestResult>() .Select(x => new { x.TestRunId, count = Sql.Count("*") }) .Where(q => q.UserAuthId == userId && q.TestPlanId == planId) .GroupBy(x => x.TestRunId)); testRuns .Where(x => testRunCounts.ContainsKey(x.Id)) .Each(x => x.TestResultsCount = testRunCounts[x.Id]); return testRuns; }
public object Get(FindTestRuns request) { var userId = GetSignedInUserId(); var planId = request.TestPlanId; var testRuns = Db.Select <TestRun>(q => q.UserAuthId == userId && q.TestPlanId == planId) .OrderByDescending(x => x.Id); var testRunCounts = Db.Dictionary <int, int>( Db.From <TestResult>() .Select(x => new { x.TestRunId, count = Sql.Count("*") }) .Where(q => q.UserAuthId == userId && q.TestPlanId == planId) .GroupBy(x => x.TestRunId)); testRuns .Where(x => testRunCounts.ContainsKey(x.Id)) .Each(x => x.TestResultsCount = testRunCounts[x.Id]); return(testRuns); }