コード例 #1
0
        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;
        }
コード例 #2
0
        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);
        }