public object Any(SearchTestResults request) { var testRun = request.TestRunId != null ? Db.SingleById<TestRun>(request.TestRunId.Value) : Db.Select<TestRun>(q => q .Where(x => x.TestPlanId == request.TestPlanId) .OrderByDescending(x => x.Id)) .FirstOrDefault(); if (testRun == null) return new List<TestResult>(); var query = Db.From<TestResult>() .Where(q => q.TestPlanId == request.TestPlanId && q.TestRunId == testRun.Id); if (request.Host != null) query.Where(q => q.Hostname.Contains(request.Host)); if (request.Port != null) query.Where(q => q.Port == request.Port); if (request.RequestPath != null) query.Where(q => q.RequestPath.Contains(request.RequestPath)); var results = Db.Select(query.Limit(request.Skip, request.Take)); var total = Db.Count(query); var response = request.ConvertTo<SearchTestResultsResponse>(); response.Total = (int)total; response.Results = results.ConvertAll(x => x.ToDisplayResult()); return response; }
public object Any(SearchTestResults request) { var testRun = request.TestRunId != null ? Db.SingleById <TestRun>(request.TestRunId.Value) : Db.Select <TestRun>(q => q .Where(x => x.TestPlanId == request.TestPlanId) .OrderByDescending(x => x.Id)) .FirstOrDefault(); if (testRun == null) { return(new List <TestResult>()); } var query = Db.From <TestResult>() .Where(q => q.TestPlanId == request.TestPlanId && q.TestRunId == testRun.Id); if (request.Host != null) { query.Where(q => q.Hostname.Contains(request.Host)); } if (request.Port != null) { query.Where(q => q.Port == request.Port); } if (request.RequestPath != null) { query.Where(q => q.RequestPath.Contains(request.RequestPath)); } var results = Db.Select(query.Limit(request.Skip, request.Take)); var total = Db.Count(query); var response = request.ConvertTo <SearchTestResultsResponse>(); response.Total = (int)total; response.Results = results.ConvertAll(x => x.ToDisplayResult()); return(response); }