public async Task <TestRecord> GetLatestThroughputResultsForPlatform([FromBody] ThroughputRequest requestData) { return(await _context.Platforms.Where(x => x.PlatformName == requestData.PlatformName) .SelectMany(x => x.ThroughputTests) .Where(x => x.Loopback == requestData.Loopback && x.Encryption == requestData.Encryption && x.SendBuffering == requestData.SendBuffering && x.NumberOfStreams == requestData.NumberOfStreams && x.ServerToClient == requestData.ServerToClient) .OrderByDescending(x => x.TestDate) .Select(x => new TestRecord { CommitHash = x.CommitHash, IndividualRunResults = x.TestResults.Select(x => x.Result), PlatformName = requestData.PlatformName, TestName = "Throughput", 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] ThroughputRequest requestData, [FromQuery] int numResults) { return(await _context.Platforms.Where(x => x.PlatformName == requestData.PlatformName) .SelectMany(x => x.ThroughputTests) .Where(x => x.Loopback == requestData.Loopback && x.Encryption == requestData.Encryption && x.SendBuffering == requestData.SendBuffering && x.NumberOfStreams == requestData.NumberOfStreams && x.ServerToClient == requestData.ServerToClient) .Select(x => new TestRecord { CommitHash = x.CommitHash, IndividualRunResults = x.TestResults.Select(x => x.Result), PlatformName = requestData.PlatformName, TestName = "Throughput", ResultDate = x.TestDate }) .Take(numResults) .ToListAsync()); }