private ProgResult getMatchPercent(decimal homePercent, decimal awayPercent, int matchsPlayed) { decimal shared = 0; var result = ((homePercent + awayPercent) / 2); var p = result / 100; decimal n = 10; if (p != 0) { n = 10 / p; shared = n / 10; } ProgResult prog = new ProgResult { MatchsPlayed = matchsPlayed, HomePercent = homePercent, AwayPercent = awayPercent, TotalPercent = result, Share = decimal.Round(shared, 1, MidpointRounding.AwayFromZero), sShare = decimal.Round(shared, 2, MidpointRounding.ToEven).ToString() }; return(prog); }
public ProgResult calculateShare(Prognostic prognostic, int lastMatchs) { ProgResult proRes = new ProgResult(); switch (prognostic.result) { case "1": cPartido = new cPartido(prognostic.HomeTeam); var HomeStatistic = cPartido.HomeTeamStatistics(lastMatchs); cPartido = new cPartido(prognostic.AwayTeam); var AwayStatistics = cPartido.AwayTeamStatistics(lastMatchs); proRes = getMatchPercent(HomeStatistic.PercentWins, AwayStatistics.PercentLoses, lastMatchs); break; case "2": cPartido = new cPartido(prognostic.HomeTeam); var a = cPartido.HomeTeamStatistics(lastMatchs); cPartido = new cPartido(prognostic.AwayTeam); var b = cPartido.AwayTeamStatistics(lastMatchs); proRes = getMatchPercent(a.PercentLoses, b.PercentWins, lastMatchs); break; case "X": cPartido = new cPartido(prognostic.HomeTeam); var c = cPartido.HomeTeamStatistics(lastMatchs); cPartido = new cPartido(prognostic.AwayTeam); var d = cPartido.AwayTeamStatistics(lastMatchs); proRes = getMatchPercent(c.PercentDraws, d.PercentDraws, lastMatchs); break; } return(proRes); }