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