public List <IResultDataRow> populateResultsGrid(ITournament tournament, List <IMatchup> matchups, List <IPrize> prizes) { List <IResultDataRow> dataRows = new List <IResultDataRow>(); foreach (var matchup in matchups) { for (int i = 0; i < matchup.MatchupEntries.Count; i++) //var matchupEntry in matchup.MatchupEntries) { IResultDataRow row = new ResultDataRow(); StringBuilder playerBuilder = new StringBuilder(); int numTeamMembers = matchup.MatchupEntries[i].TheTeam.Members.Count; for (int j = 0; j < numTeamMembers; j++) //var player in matchup.TheTeam.Members) { IPerson player = matchup.MatchupEntries[i].TheTeam.Members[j]; playerBuilder.Append(player.FirstName).Append(" ").Append(player.LastName); if (j != numTeamMembers - 1) { playerBuilder.Append(" + "); } } ITeam thisTeam = tournament.Teams.Find(x => x.TeamId == matchup.MatchupEntries[i].TheTeam.TeamId); row.Players = playerBuilder.ToString(); row.TeamName = thisTeam.TeamName; var te = tournament.TournamentEntries.Find(x => x.TeamId == thisTeam.TeamId); row.Placing = tournament.TournamentEntries.IndexOf(te) + 1; row.Wins = matchup.MatchupEntries[i].TheTeam.Wins; row.Losses = matchup.MatchupEntries[i].TheTeam.Losses; row.WinLoss = Math.Round(calculateWinPercentage(row.Wins, row.Losses), 3); row.CareerWins = thisTeam.Wins + matchup.MatchupEntries[i].TheTeam.Wins; row.CareerLosses = thisTeam.Losses + matchup.MatchupEntries[i].TheTeam.Losses; row.CareerWinLoss = Math.Round(calculateWinPercentage(row.CareerWins, row.CareerLosses), 3); var prize = tournament.TournamentPrizes.Find(y => y.PlaceId == row.Placing); row.Winnings = prize != null?prizes.Find(x => x.PrizeId == prize.PrizeId).PrizeAmount : 0; dataRows.Add(row); } } return(dataRows); }
public ResultDataRowChangeEvent(ResultDataRow row, global::System.Data.DataRowAction action) { this.eventRow = row; this.eventAction = action; }