Esempio n. 1
0
        static float OutputSimResults(string machineName, int simulationCount, BettingResult resultsAvg)
        {
            var totalBet         = resultsAvg.InitialStake;
            var totalWinnings    = resultsAvg.Returns;
            var profitPercentage = 1.0f - (totalWinnings / totalBet);

            Console.WriteLine($"{machineName}: {simulationCount:n0} tests were run; Profit: £{totalBet - totalWinnings}; Profit Percentage: {profitPercentage:P2}");

            return(profitPercentage);
        }
Esempio n. 2
0
        public static List <MatchesResult> GetBetResult(int database)
        {
            var redis        = new Redis(database);
            var keys         = redis.GetAllKeys();
            var participants = new List <Participant>();

            keys.Sort();
            var ordered = keys.OrderBy(x => x.Length);

            foreach (var key in ordered)
            {
                var p = redis.GetRedisValue <Participant>(key);
                participants.Add(p);
            }
            var firstPart     = participants.First();
            var orderdMatches = firstPart.Matches
                                .Where(x => x.MatchStart > DateTime.Now.AddHours(-5))
                                .OrderBy(x => x.MatchStart < DateTime.Now).ToList();

            var matches = new List <MatchesResult>();

            foreach (var match in orderdMatches)
            {
                var matchesResult = new MatchesResult
                {
                    MatchStart     = match.MatchStart,
                    HomeTeam       = match.HomeTeam,
                    AwayTeam       = match.AwayTeam,
                    BettingResults = new List <BettingResult>()
                };
                participants.ForEach(x =>
                {
                    var bet = new BettingResult
                    {
                        Name   = x.Name,
                        Points = x.Points
                    };

                    var partMatch = x.Matches.First(u => u.HomeTeam.Equals(match.HomeTeam) &&
                                                    u.AwayTeam.Equals(match.AwayTeam) &&
                                                    u.MatchStart == match.MatchStart);
                    bet.Bet = partMatch.Result;

                    matchesResult.BettingResults.Add(bet);
                });
                matches.Add(matchesResult);
            }

            return(matches.ToList());
        }