public void UpdatePacman(int generation) { var oneGenerationPacman = _sqLiteConnection.GetOneGenerationPacmans(generation); foreach (var pacman in oneGenerationPacman) { var pointsArr = IntHelper.GetPointsArr(pacman.PointsString); // pacman.MaxPoints= pointsArr.OrderByDescending(x => x).First(); pacman.PositivePointsCount = pointsArr.Where(x => x > 0).Count(); _sqLiteConnection.UpdatePacmansMaxPoints(pacman); } }
private Pacman[] GetLastGenerationPacmans() { var lastGeneration = _sqLiteConnection.GetLastGeneration(); var last = _sqLiteConnection.GetOneGenerationPacmans(lastGeneration).ToArray(); return(last); }
public Report CalculateReport(int i) { var oneGenerationPacman = _sqLiteConnection.GetOneGenerationPacmans(i); var report = new Report { Generation = i, MaxPoints = 0, MaxCountPositivePoints = 0, MinAveragePoints = oneGenerationPacman.OrderBy(x => x.AveragePoints).First().AveragePoints }; var theFirst = oneGenerationPacman.OrderByDescending(x => x.AveragePoints).First(); var theFirstPoints = IntHelper.GetPointsArr(theFirst.PointsString); report.MaxAveragePoints = theFirst.AveragePoints; report.MaxPointsOfFirst = theFirstPoints.OrderByDescending(x => x).First(); report.CountPositivePointsOfFirst = theFirstPoints.Count(x => x > 0); foreach (var pacman in oneGenerationPacman) { var pointsArr = IntHelper.GetPointsArr(pacman.PointsString); var maxPoints = pointsArr.OrderByDescending(x => x).First(); var countPositivePoints = pointsArr.Count(x => x > 0); if (maxPoints > report.MaxPoints) { report.MaxPoints = maxPoints; report.MaxPointsAveragePoints = pacman.AveragePoints; } if (countPositivePoints > report.MaxCountPositivePoints) { report.MaxCountPositivePoints = countPositivePoints; report.MaxCountPositivePointsAveragePoints = pacman.AveragePoints; } } return(report); }