예제 #1
0
        public void UpdateEvents()
        {
            BookmakerAccess   bmax = new BookmakerAccess();
            SportEventsAccess seax = new SportEventsAccess();

            List <BE.Sport> dep = seax.GetActiveSports();

            List <BE.SportEvent> eventosNuevos = bmax.PullEvents(dep);

            List <BE.SportEvent> eventosGuardados = seax.GetCurrentEvents();

            foreach (var newEvent in eventosNuevos)
            {
                if (eventosGuardados.Any(p => p.Code.Equals(newEvent.Code)))
                {
                    var evento = eventosGuardados.Where(p => p.Code.Equals(newEvent.Code)).First();
                    evento.Init      = newEvent.Init;
                    evento.SportBets = newEvent.SportBets.ToList();
                }
                else
                {
                    eventosGuardados.Add(newEvent);
                }
            }

            seax.StoreEvents(eventosGuardados);
        }
예제 #2
0
        public void CheckResults(string sportCode)
        {
            BookmakerAccess        bma     = new BookmakerAccess();
            List <BE.MatchResults> results = bma.PullResults(sportCode);

            if (results.Count > 0)
            {
                UserBetAccess uba      = new UserBetAccess();
                var           userbets = uba.GetPendings(results.Select(p => p.MatchID).ToArray());
                if (userbets.Count > 0)
                {
                    foreach (var result in results)
                    {
                        foreach (var userbet in userbets.Where(p => p.Item1.Equals(result.MatchID)))
                        {
                            var oddProvider = userbet.Item2.GetOddProvider();
                            var betStatus   = oddProvider.ValidateUserBet(result, userbet.Item2);
                            uba.UpdateUserBetStatus(userbet.Item2.ID, betStatus);
                        }
                    }
                }
            }
        }