Example #1
0
        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);
        }
Example #2
0
 public ResultDataRowChangeEvent(ResultDataRow row, global::System.Data.DataRowAction action)
 {
     this.eventRow    = row;
     this.eventAction = action;
 }