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;
        }
Example #2
0
        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);
        }