public async Task <ActionResult <int> > GetDriversRacePositionTotalById(int id, int position) { var result = await _dataReader.GetDriversRaceResults(id); var mappedData = result.Select(x => RaceResults.MapFromDb(x)).ToList(); return(_calculate.RacePositionCount(mappedData, position)); }
public async Task <List <RaceResults> > GetAllDriversRaceResultsForASeason(int season) { var raceData = await _driverReader.GetDriversSeasonRaceResults(season); var orderedData = raceData.OrderBy(x => x.StartDate); return(raceData.Select(x => RaceResults.MapFromDb(x)).ToList()); }
public async Task <ActionResult <decimal> > GetDriverTotalPointsById(int id) { var result = await _dataReader.GetDriversRaceResults(id); var points = result.Select(x => RaceResults.MapFromDb(x)).ToList(); return(_calculate.TotalDriverPoints(points)); }
public async Task <List <DriverStats> > BuildDriversSeasonStats(int season) { List <DriverStats> driverStats = new List <DriverStats>(); var raceData = await _driverReader.GetDriversSeasonRaceResults(season); var driverData = raceData.GroupBy(x => x.DriverId); foreach (var driver in driverData) { var result = driver.Select(x => RaceResults.MapFromDb(x)).ToList(); var calcData = CalculateDriverData(result); driverStats.Add(DriverStats.Mapper(driver.Key, calcData)); } return(driverStats); }