Exemplo n.º 1
0
        public static List <PlayerBetSummary> GetPlayerBetSummariesForEvents(int seasonID)
        {
            var summaries = new List <PlayerBetSummary>();
            // get all bets for the given season
            var seasonBets = BetService.GetAllBetsForSeason(seasonID);

            // group bets by eventid
            var eventBets = seasonBets.GroupBy(x => x.EventID);

            foreach (var evt in eventBets)
            {
                // group by playername
                var groupedBets = evt.GroupBy(x => x.PlayerName);
                // assemble summaries
                foreach (var group in groupedBets)
                {
                    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 = currentProfit - currentLoss;
                    summary.EventID    = evt.Key;
                    summaries.Add(summary);
                }
            }

            return(summaries);
        }
Exemplo n.º 2
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);
        }
Exemplo n.º 3
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);
        }