Esempio n. 1
0
        public static List <PlayerBetSummary> GetPlayerStandingsForSeason(int seasonID)
        {
            var season    = SeasonService.GetSeason(seasonID);
            var summaries = new List <PlayerBetSummary>();

            if (season == null)
            {
                return(summaries);
            }
            var seasonBets   = BetService.GetAllBetsForSeason(seasonID);
            var playerGroups = seasonBets.GroupBy(x => x.PlayerName);

            foreach (var group in playerGroups)
            {
                var summary       = new PlayerBetSummary();
                var wins          = group.Where(x => x.Result == Result.Win);
                var notWins       = group.Where(x => x.Result != Result.Win);
                var currentLoss   = notWins.Sum(x => x.Stake);
                var currentProfit = wins.Sum(x => (x.Stake * x.Odds) - x.Stake);
                summary.PlayerName = group.Key;
                summary.TotalBets  = group.Count();
                summary.BetsWon    = wins.Count();
                summary.CashResult = GetCurrentCash(season.StartingCash, season.MinimumCash, currentProfit, currentLoss);
                summaries.Add(summary);
            }
            return(summaries);
        }
Esempio n. 2
0
        public static PlayerBetSummary GetCurrentPlayerStats(int seasonID, string playerName)
        {
            var summary = new PlayerBetSummary();
            var season  = SeasonService.GetSeason(seasonID);
            var myBets  = BetService.GetAllBetsForSeason(seasonID)
                          .Where(x => x.PlayerName == playerName);
            var wins          = myBets.Where(x => x.Result == Result.Win);
            var notWins       = myBets.Where(x => x.Result != Result.Win);
            var currentLoss   = notWins.Sum(x => x.Stake);
            var currentProfit = wins.Sum(x => (x.Stake * x.Odds) - x.Stake);

            summary.PlayerName = playerName;
            summary.TotalBets  = myBets.Count();
            summary.BetsWon    = wins.Count();
            summary.CashResult = GetCurrentCash(season.StartingCash, season.MinimumCash, currentProfit, currentLoss);
            return(summary);
        }