private void LoadObservableCollection(int compId, ObservableCollection <HomeAwayTeamViewModel> matchItems, List <Team> equipas)
        {
            if (!IsMatchType)
            {
                foreach (var item in equipas.OrderBy(x => x.Name))
                {
                    if (matchPeriod == MatchPeriodTypeValues.FullTime)
                    {
                        var teamResults = matchService.GetTeamResults(compId, item.TeamId, IsHomeTeam);
                        var teamGoals   = matchService.GetTeamGoals(compId, item.TeamId, IsHomeTeam);

                        if (teamResults != null && teamGoals != null)
                        {
                            matchItems.Add(new HomeAwayTeamViewModel()
                            {
                                Team      = teamService.GetTeamName(item.TeamId),
                                Matches   = teamResults.Item4.ToString(),
                                Wins      = teamResults.Item1.ToString(),
                                WinsP     = UtilsOddOperations.GetPercentage(teamResults.Item1, teamResults.Item4),
                                WinsO     = UtilsOddOperations.GetOdd(teamResults.Item1, teamResults.Item4),
                                Draws     = teamResults.Item2.ToString(),
                                DrawsP    = UtilsOddOperations.GetPercentage(teamResults.Item2, teamResults.Item4),
                                DrawsO    = UtilsOddOperations.GetOdd(teamResults.Item2, teamResults.Item4),
                                Defeats   = teamResults.Item3.ToString(),
                                DefeatsP  = UtilsOddOperations.GetPercentage(teamResults.Item3, teamResults.Item4),
                                DefeatsO  = UtilsOddOperations.GetOdd(teamResults.Item3, teamResults.Item4),
                                Forma     = matchService.GetTeamForma(compId, item.TeamId, IsHomeTeam).ToString(),
                                GM        = UtilsOddOperations.GetAverageNonPercentual(teamGoals.Item1, teamResults.Item4),
                                GS        = UtilsOddOperations.GetAverageNonPercentual(teamGoals.Item2, teamResults.Item4),
                                GmGs      = UtilsOddOperations.GetGMGS(teamGoals.Item1, teamGoals.Item2, teamResults.Item4),
                                Gm_Gs     = UtilsOddOperations.GetGM_GS(teamGoals.Item1, teamGoals.Item2, teamResults.Item4),
                                FatorCasa = UtilsOddOperations.GetFatorCasa(teamGoals.Item1, teamGoals.Item2, teamResults.Item4),
                                Over25    = matchService.GetTeamOver25(compId, item.TeamId, IsHomeTeam).ToString(),
                                Over25P   = UtilsOddOperations.GetPercentage(matchService.GetTeamOver25(compId, item.TeamId, IsHomeTeam), teamResults.Item4),
                                Over25O   = UtilsOddOperations.GetOdd(matchService.GetTeamOver25(compId, item.TeamId, IsHomeTeam), teamResults.Item4),
                                Over15    = matchService.GetTeamOver15(compId, item.TeamId, IsHomeTeam).ToString(),
                                Over15P   = UtilsOddOperations.GetPercentage(matchService.GetTeamOver15(compId, item.TeamId, IsHomeTeam), teamResults.Item4),
                                Over15O   = UtilsOddOperations.GetOdd(matchService.GetTeamOver15(compId, item.TeamId, IsHomeTeam), teamResults.Item4),
                                Btts      = matchService.GetTeamBTTS(compId, item.TeamId, IsHomeTeam).ToString(),
                                BttsP     = UtilsOddOperations.GetPercentage(matchService.GetTeamBTTS(compId, item.TeamId, IsHomeTeam), teamResults.Item4),
                                BttsO     = UtilsOddOperations.GetOdd(matchService.GetTeamBTTS(compId, item.TeamId, IsHomeTeam), teamResults.Item4),
                                P00       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 0, 0), teamResults.Item4),
                                P01       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 1, 0), teamResults.Item4),
                                P10       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 0, 1), teamResults.Item4),
                                P11       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 1, 1), teamResults.Item4),
                                P20       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 2, 0), teamResults.Item4),
                                P02       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 0, 2), teamResults.Item4),
                                P21       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 2, 1), teamResults.Item4),
                                P12       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 1, 2), teamResults.Item4),
                                P22       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 2, 2), teamResults.Item4),
                                P30       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 3, 0), teamResults.Item4),
                                P03       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 0, 3), teamResults.Item4),
                                P31       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 3, 1), teamResults.Item4),
                                P13       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 1, 3), teamResults.Item4),
                                P32       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 3, 2), teamResults.Item4),
                                P23       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 2, 3), teamResults.Item4),
                                P33       = UtilsOddOperations.GetPercentage(matchService.GetTeamResultsOccurrences(compId, item.TeamId, IsHomeTeam, 3, 3), teamResults.Item4)
                            });

                            //TODO: Remove this 4 lines (used for testing colors)
                            //matchItems[matchItems.Count() - 1].P01 = "0,3%";
                            //matchItems[matchItems.Count() - 1].P30 = "10,0%";
                            //matchItems[matchItems.Count() - 1].P13 = "64,4%";
                            //matchItems[matchItems.Count() - 1].P20 = "15,4%";
                        }
                    }
                    else if (matchPeriod == MatchPeriodTypeValues.FirstHalf)
                    {
                        var teamResults = matchService.GetTeamResults1st(compId, item.TeamId, IsHomeTeam);
                        var teamGoals   = matchService.GetTeamGoals1st(compId, item.TeamId, IsHomeTeam);

                        if (teamResults != null && teamGoals != null)
                        {
                            matchItems.Add(new HomeAwayTeamViewModel()
                            {
                                Team     = teamService.GetTeamName(item.TeamId),
                                Matches  = teamResults.Item4.ToString(),
                                Wins     = teamResults.Item1.ToString(),
                                WinsP    = UtilsOddOperations.GetPercentage(teamResults.Item1, teamResults.Item4),
                                WinsO    = UtilsOddOperations.GetOdd(teamResults.Item1, teamResults.Item4),
                                Draws    = teamResults.Item2.ToString(),
                                DrawsP   = UtilsOddOperations.GetPercentage(teamResults.Item2, teamResults.Item4),
                                DrawsO   = UtilsOddOperations.GetOdd(teamResults.Item2, teamResults.Item4),
                                Defeats  = teamResults.Item3.ToString(),
                                DefeatsP = UtilsOddOperations.GetPercentage(teamResults.Item3, teamResults.Item4),
                                DefeatsO = UtilsOddOperations.GetOdd(teamResults.Item3, teamResults.Item4),
                                Over05   = matchService.GetTeamOver05_1st(compId, item.TeamId, IsHomeTeam).ToString(),
                                Over25   = matchService.GetTeamOver25_1st(compId, item.TeamId, IsHomeTeam).ToString(),
                                Over15   = matchService.GetTeamOver15_1st(compId, item.TeamId, IsHomeTeam).ToString(),
                                Btts     = matchService.GetTeamBTTS_1st(compId, item.TeamId, IsHomeTeam).ToString(),
                            });
                        }
                    }
                    else if (matchPeriod == MatchPeriodTypeValues.SecondHalf)
                    {
                        var teamResults = matchService.GetTeamResults2nd(compId, item.TeamId, IsHomeTeam);
                        var teamGoals   = matchService.GetTeamGoals2nd(compId, item.TeamId, IsHomeTeam);

                        if (teamResults != null && teamGoals != null)
                        {
                            matchItems.Add(new HomeAwayTeamViewModel()
                            {
                                Team     = teamService.GetTeamName(item.TeamId),
                                Matches  = teamResults.Item4.ToString(),
                                Wins     = teamResults.Item1.ToString(),
                                WinsP    = UtilsOddOperations.GetPercentage(teamResults.Item1, teamResults.Item4),
                                WinsO    = UtilsOddOperations.GetOdd(teamResults.Item1, teamResults.Item4),
                                Draws    = teamResults.Item2.ToString(),
                                DrawsP   = UtilsOddOperations.GetPercentage(teamResults.Item2, teamResults.Item4),
                                DrawsO   = UtilsOddOperations.GetOdd(teamResults.Item2, teamResults.Item4),
                                Defeats  = teamResults.Item3.ToString(),
                                DefeatsP = UtilsOddOperations.GetPercentage(teamResults.Item3, teamResults.Item4),
                                DefeatsO = UtilsOddOperations.GetOdd(teamResults.Item3, teamResults.Item4),
                                Over05   = matchService.GetTeamOver05_2nd(compId, item.TeamId, IsHomeTeam).ToString(),
                                Over25   = matchService.GetTeamOver25_2nd(compId, item.TeamId, IsHomeTeam).ToString(),
                                Over15   = matchService.GetTeamOver15_2nd(compId, item.TeamId, IsHomeTeam).ToString(),
                                Btts     = matchService.GetTeamBTTS_2nd(compId, item.TeamId, IsHomeTeam).ToString(),
                            });
                        }
                    }
                }
            }
            else
            {
                //Match types
                foreach (MatchTypeValues mt in Enum.GetValues(typeof(MatchTypeValues)))
                {
                    if (matchPeriod == MatchPeriodTypeValues.FullTime)
                    {
                        var matchTypeResults = matchService.GetMatchTypeResults(compId, mt);

                        if (matchTypeResults != null)
                        {
                            matchItems.Add(new HomeAwayTeamViewModel()
                            {
                                Team     = UtilsOddOperations.GetMatchTypeString(mt),
                                Matches  = matchTypeResults.Item4.ToString(),
                                Wins     = matchTypeResults.Item1.ToString(),
                                WinsP    = UtilsOddOperations.GetPercentage(matchTypeResults.Item1, matchTypeResults.Item4),
                                WinsO    = UtilsOddOperations.GetOdd(matchTypeResults.Item1, matchTypeResults.Item4),
                                Draws    = matchTypeResults.Item2.ToString(),
                                DrawsP   = UtilsOddOperations.GetPercentage(matchTypeResults.Item2, matchTypeResults.Item4),
                                DrawsO   = UtilsOddOperations.GetOdd(matchTypeResults.Item2, matchTypeResults.Item4),
                                Defeats  = matchTypeResults.Item3.ToString(),
                                DefeatsP = UtilsOddOperations.GetPercentage(matchTypeResults.Item3, matchTypeResults.Item4),
                                DefeatsO = UtilsOddOperations.GetOdd(matchTypeResults.Item3, matchTypeResults.Item4),
                                Over25   = matchService.GetMatchTypeOver25(compId, mt).ToString(),
                                Over25P  = UtilsOddOperations.GetPercentage(matchService.GetMatchTypeOver25(compId, mt), matchTypeResults.Item4),
                                Over25O  = UtilsOddOperations.GetOdd(matchService.GetMatchTypeOver25(compId, mt), matchTypeResults.Item4),
                                Over15   = matchService.GetMatchTypeOver15(compId, mt).ToString(),
                                Over15P  = UtilsOddOperations.GetPercentage(matchService.GetMatchTypeOver15(compId, mt), matchTypeResults.Item4),
                                Over15O  = UtilsOddOperations.GetOdd(matchService.GetMatchTypeOver15(compId, mt), matchTypeResults.Item4),
                                Btts     = matchService.GetMatchTypeBTTS(compId, mt).ToString(),
                                BttsP    = UtilsOddOperations.GetPercentage(matchService.GetMatchTypeBTTS(compId, mt), matchTypeResults.Item4),
                                BttsO    = UtilsOddOperations.GetOdd(matchService.GetMatchTypeBTTS(compId, mt), matchTypeResults.Item4),
                            });
                        }
                    }
                    else if (matchPeriod == MatchPeriodTypeValues.FirstHalf)
                    {
                        var matchTypeResults = matchService.GetMatchTypeResults1st(compId, mt);

                        if (matchTypeResults != null)
                        {
                            matchItems.Add(new HomeAwayTeamViewModel()
                            {
                                Team     = UtilsOddOperations.GetMatchTypeString(mt),
                                Matches  = matchTypeResults.Item4.ToString(),
                                Wins     = matchTypeResults.Item1.ToString(),
                                WinsP    = UtilsOddOperations.GetPercentage(matchTypeResults.Item1, matchTypeResults.Item4),
                                WinsO    = UtilsOddOperations.GetOdd(matchTypeResults.Item1, matchTypeResults.Item4),
                                Draws    = matchTypeResults.Item2.ToString(),
                                DrawsP   = UtilsOddOperations.GetPercentage(matchTypeResults.Item2, matchTypeResults.Item4),
                                DrawsO   = UtilsOddOperations.GetOdd(matchTypeResults.Item2, matchTypeResults.Item4),
                                Defeats  = matchTypeResults.Item3.ToString(),
                                DefeatsP = UtilsOddOperations.GetPercentage(matchTypeResults.Item3, matchTypeResults.Item4),
                                DefeatsO = UtilsOddOperations.GetOdd(matchTypeResults.Item3, matchTypeResults.Item4),
                                Over25   = matchService.GetMatchTypeOver25_1st(compId, mt).ToString(),
                                Over25P  = UtilsOddOperations.GetPercentage(matchService.GetMatchTypeOver25_1st(compId, mt), matchTypeResults.Item4),
                                Over25O  = UtilsOddOperations.GetOdd(matchService.GetMatchTypeOver25_1st(compId, mt), matchTypeResults.Item4),
                                Over15   = matchService.GetMatchTypeOver15_1st(compId, mt).ToString(),
                                Over15P  = UtilsOddOperations.GetPercentage(matchService.GetMatchTypeOver15_1st(compId, mt), matchTypeResults.Item4),
                                Over15O  = UtilsOddOperations.GetOdd(matchService.GetMatchTypeOver15_1st(compId, mt), matchTypeResults.Item4),
                                Btts     = matchService.GetMatchTypeBTTS_1st(compId, mt).ToString(),
                                BttsP    = UtilsOddOperations.GetPercentage(matchService.GetMatchTypeBTTS_1st(compId, mt), matchTypeResults.Item4),
                                BttsO    = UtilsOddOperations.GetOdd(matchService.GetMatchTypeBTTS_1st(compId, mt), matchTypeResults.Item4),
                            });
                        }
                    }
                    else if (matchPeriod == MatchPeriodTypeValues.SecondHalf)
                    {
                        var matchTypeResults = matchService.GetMatchTypeResults2nd(compId, mt);

                        if (matchTypeResults != null)
                        {
                            matchItems.Add(new HomeAwayTeamViewModel()
                            {
                                Team     = UtilsOddOperations.GetMatchTypeString(mt),
                                Matches  = matchTypeResults.Item4.ToString(),
                                Wins     = matchTypeResults.Item1.ToString(),
                                WinsP    = UtilsOddOperations.GetPercentage(matchTypeResults.Item1, matchTypeResults.Item4),
                                WinsO    = UtilsOddOperations.GetOdd(matchTypeResults.Item1, matchTypeResults.Item4),
                                Draws    = matchTypeResults.Item2.ToString(),
                                DrawsP   = UtilsOddOperations.GetPercentage(matchTypeResults.Item2, matchTypeResults.Item4),
                                DrawsO   = UtilsOddOperations.GetOdd(matchTypeResults.Item2, matchTypeResults.Item4),
                                Defeats  = matchTypeResults.Item3.ToString(),
                                DefeatsP = UtilsOddOperations.GetPercentage(matchTypeResults.Item3, matchTypeResults.Item4),
                                DefeatsO = UtilsOddOperations.GetOdd(matchTypeResults.Item3, matchTypeResults.Item4),
                                Over25   = matchService.GetMatchTypeOver25_2nd(compId, mt).ToString(),
                                Over25P  = UtilsOddOperations.GetPercentage(matchService.GetMatchTypeOver25_2nd(compId, mt), matchTypeResults.Item4),
                                Over25O  = UtilsOddOperations.GetOdd(matchService.GetMatchTypeOver25_2nd(compId, mt), matchTypeResults.Item4),
                                Over15   = matchService.GetMatchTypeOver15_2nd(compId, mt).ToString(),
                                Over15P  = UtilsOddOperations.GetPercentage(matchService.GetMatchTypeOver15_2nd(compId, mt), matchTypeResults.Item4),
                                Over15O  = UtilsOddOperations.GetOdd(matchService.GetMatchTypeOver15_2nd(compId, mt), matchTypeResults.Item4),
                                Btts     = matchService.GetMatchTypeBTTS_2nd(compId, mt).ToString(),
                                BttsP    = UtilsOddOperations.GetPercentage(matchService.GetMatchTypeBTTS_2nd(compId, mt), matchTypeResults.Item4),
                                BttsO    = UtilsOddOperations.GetOdd(matchService.GetMatchTypeBTTS_2nd(compId, mt), matchTypeResults.Item4),
                            });
                        }
                    }
                }
            }
        }
 //PRIVATE
 private void LoadObservableCollection(ObservableCollection <MatchViewModel> matchItems, List <Match> jogos)
 {
     if (typeMatchView == MatchViewTypeValues.AttackDefense)
     {
         foreach (var item in jogos.OrderBy(x => x.Order))
         {
             matchItems.Add(new MatchViewModel()
             {
                 MatchId         = item.MatchId,
                 Order           = item.Order,
                 HomeTeam        = teamService.GetTeamName(item.HomeTeamId),
                 HomeGoals       = item.HomeGoals.ToString(),
                 AwayTeam        = teamService.GetTeamName(item.AwayTeamId),
                 AwayGoals       = item.AwayGoals.ToString(),
                 MatchResult     = UtilsOddOperations.GetResultado(item.HomeGoals, item.AwayGoals),
                 MatchResultCSFT = item.HomeGoals.ToString() + " - " + item.AwayGoals.ToString(),
                 OddsHome        = item.HomeOdd.ToString("#0.00").Replace(',', '.'),
                 OddsAway        = item.AwayOdd.ToString("#0.00").Replace(',', '.'),
                 OddsDraw        = item.DrawOdd.ToString("#0.00").Replace(',', '.'),
                 MatchType       = UtilsOddOperations.GetTipoJogo(item.HomeOdd, item.AwayOdd),
                 Over15          = UtilsOddOperations.GetOverUnder15(item.HomeGoals, item.AwayGoals),
                 Over25          = UtilsOddOperations.GetOverUnder25(item.HomeGoals, item.AwayGoals),
                 Btts            = UtilsOddOperations.GetBTTS(item.HomeGoals, item.AwayGoals)
             });
         }
     }
     else if (typeMatchView == MatchViewTypeValues.HalfTime)
     {
         foreach (var item in jogos.OrderBy(x => x.Order))
         {
             matchItems.Add(new MatchViewModel()
             {
                 MatchId     = item.MatchId,
                 Order       = item.Order,
                 HomeTeam    = teamService.GetTeamName(item.HomeTeamId),
                 HomeGoals   = item.HomeGoals.ToString(),
                 AwayTeam    = teamService.GetTeamName(item.AwayTeamId),
                 AwayGoals   = item.AwayGoals.ToString(),
                 MatchResult = UtilsOddOperations.GetResultado(item.HalfHomeGoals.Value, item.HalfAwayGoals.Value),
                 MatchType   = UtilsOddOperations.GetTipoJogo(item.HomeOdd, item.AwayOdd),
                 Over05      = UtilsOddOperations.GetOverUnder05(item.HalfHomeGoals.Value, item.HalfAwayGoals.Value),
                 Over15      = UtilsOddOperations.GetOverUnder15(item.HalfHomeGoals.Value, item.HalfAwayGoals.Value),
                 Btts        = UtilsOddOperations.GetBTTS(item.HalfHomeGoals.Value, item.HalfAwayGoals.Value)
             });
         }
     }
     else if (typeMatchView == MatchViewTypeValues.SecondTime)
     {
         foreach (var item in jogos.OrderBy(x => x.Order))
         {
             matchItems.Add(new MatchViewModel()
             {
                 MatchId     = item.MatchId,
                 Order       = item.Order,
                 HomeTeam    = teamService.GetTeamName(item.HomeTeamId),
                 AwayTeam    = teamService.GetTeamName(item.AwayTeamId),
                 HomeGoals   = (item.HomeGoals - item.HalfHomeGoals.Value).ToString(),
                 AwayGoals   = (item.AwayGoals - item.HalfAwayGoals.Value).ToString(),
                 MatchResult = UtilsOddOperations.GetResultado((item.HomeGoals - item.HalfHomeGoals.Value), (item.AwayGoals - item.HalfAwayGoals.Value)),
                 MatchType   = UtilsOddOperations.GetTipoJogo(item.HomeOdd, item.AwayOdd),
                 Over05      = UtilsOddOperations.GetOverUnder05((item.HomeGoals - item.HalfHomeGoals.Value), (item.AwayGoals - item.HalfAwayGoals.Value)),
                 Over15      = UtilsOddOperations.GetOverUnder15((item.HomeGoals - item.HalfHomeGoals.Value), (item.AwayGoals - item.HalfAwayGoals.Value)),
                 Over25      = UtilsOddOperations.GetOverUnder25((item.HomeGoals - item.HalfHomeGoals.Value), (item.AwayGoals - item.HalfAwayGoals.Value)),
                 Btts        = UtilsOddOperations.GetBTTS((item.HomeGoals - item.HalfHomeGoals.Value), (item.AwayGoals - item.HalfAwayGoals.Value))
             });
         }
     }
 }