/// <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);
        }