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); }
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); } } } } }