public async Task <TestRecord> GetLatestThroughputResultsForPlatform([FromBody] RpsRequest requestData) { return(await _context.Platforms.Where(x => x.PlatformName == requestData.PlatformName) .SelectMany(x => x.RpsTests) .Where(x => x.ConnectionCount == requestData.ConnectionCount && x.RequestSize == requestData.RequestSize && x.ResponseSize == requestData.ResponseSize && x.ParallelRequests == requestData.ParallelRequests) .OrderByDescending(x => x.TestDate) .Select(x => new TestRecord { CommitHash = x.CommitHash, IndividualRunResults = x.TestResults.Select(x => x.Result), PlatformName = requestData.PlatformName, TestName = "RPS", ResultDate = x.TestDate, MachineName = _context.Machines.Where(y => y.DbMachineId == x.DbMachineId).Select(y => y.MachineName).First() }) .FirstOrDefaultAsync()); }
public async Task <IEnumerable <TestRecord> > GetThroughputTestResultsForPlatform([FromBody] RpsRequest requestData, [FromQuery] int numResults) { return(await _context.Platforms.Where(x => x.PlatformName == requestData.PlatformName) .SelectMany(x => x.RpsTests) .Where(x => x.ConnectionCount == requestData.ConnectionCount && x.RequestSize == requestData.RequestSize && x.ResponseSize == requestData.ResponseSize && x.ParallelRequests == requestData.ParallelRequests) .Select(x => new TestRecord { CommitHash = x.CommitHash, IndividualRunResults = x.TestResults.Select(x => x.Result), PlatformName = requestData.PlatformName, TestName = "RPS", ResultDate = x.TestDate }) .Take(numResults) .ToListAsync()); }