/// <summary> /// Indexer to get game results /// </summary> /// <param name="i">row index</param> /// <param name="j">column index</param> /// <returns>Collection of game results</returns> public List <PivotGameResultViewModel> this[int i, int j] { get { var results = new List <PivotGameResultViewModel>(); if (i == j) { results.Add(PivotGameResultViewModel.GetNonPlayableCell()); SetCellValue(i, j, results); } else { if (AllGameResults[(j * TeamsStandings.Count) + i] != null) { var result = AllGameResults[(j * TeamsStandings.Count) + i]; results.AddRange(result.ConvertAll(gr => gr.ReverseTeams())); SetCellValue(i, j, results); } else { var rowTeamId = TeamsStandings[i].TeamId; var columnTeamId = TeamsStandings[j].TeamId; results = GetAllResultsForTeams(rowTeamId, columnTeamId); SetCellValue(i, j, results); } } return(results); } }
/// <summary> /// Reverse teams in game result /// </summary> /// <returns>Game results for opponent team</returns> public PivotGameResultViewModel ReverseTeams() { var result = new PivotGameResultViewModel(); result.HomeTeamId = AwayTeamId; result.AwayTeamId = HomeTeamId; result.HomeSetsScore = AwaySetsScore; result.AwaySetsScore = HomeSetsScore; result.IsTechnicalDefeat = IsTechnicalDefeat; result.CssClass = GetCssClass(result.HomeSetsScore, result.AwaySetsScore); return(result); }