static public List <teamResult> sumTeamsPoints(List <result> allResults) { var aggregatedPoints = new List <teamResult>(); foreach (var result in allResults) { foreach (var id in result.teamIds) { if (!aggregatedPoints.Any(c => c.teamId == id)) { aggregatedPoints.Add(new teamResult { teamId = id, points = result.points, competitionName = result.competitionName, place = 0, raceName = result.raceName }); } else { var index = aggregatedPoints.FindIndex(c => c.teamId == id); aggregatedPoints[index] = new teamResult { teamId = id, points = aggregatedPoints[index].points + result.points, competitionName = result.competitionName, place = 0, raceName = result.raceName }; } } } return(aggregatedPoints); }
static public void addToCompetitionTeamStandings(List <teamResult> raceResults, ref List <teamResult> competitionResults) { foreach (var raceResult in raceResults) // dodaję punkty do klasyfikacji generalnej { if (!competitionResults.Any(c => c.teamId == raceResult.teamId)) { competitionResults.Add(raceResult); } else { var index = competitionResults.FindIndex(c => c.teamId == raceResult.teamId); competitionResults[index] = new teamResult { teamId = competitionResults[index].teamId, points = competitionResults[index].points + raceResult.points, competitionName = raceResult.competitionName, place = 0 }; } } }
// GET: api/teamResult public string Get([FromUri] teamResult input) { squadHealthEntities db = new squadHealthEntities(); int qNumber = Convert.ToInt16(input.questionNumber); var result = (from r in db.tbl_squadHealth where r.questionNumber == qNumber group r by r.colour into g let gCount = g.Count() orderby gCount select new { colour = g.Key, colourCount = g.Count() }).FirstOrDefault(); if (result != null) { return(result.colour); } else { return("green"); } }