double TempoDiferencaJogo(IdJogo i) { var diferenca = DateTime.Now.Date > i.DataInicio.Date ? (DateTime.Now - i.DataInicio.AddDays(1)).TotalMinutes : (DateTime.Now - i.DataInicio).TotalMinutes; diferenca = diferenca > 60 ? diferenca - 18 : diferenca; return(diferenca); }
public async Task <IdContainer> SalvaIdsLive2() { Console.WriteLine($"Salvando Ids Live as {DateTime.Now}"); var idContainerHoje = _idContainerRepository.TrazerIdContainerHoje(); if (idContainerHoje == null) { return(null); } _driver.Navigate().GoToUrl(_configuration.Sites.Resultado.Principal); await Task.Delay(2000); _driver.FindElement(By.ClassName("ifmenu-live")).Click(); await Task.Delay(2000); ExpandiTodasTabelas(); RemoveTodasTabelasTabela(); var jogosAceitos = ListaDeJogos(); var trsJogos = _driver.FindElements(By.ClassName("stage-live")).ToList(); if (!trsJogos.Any()) { return(idContainerHoje); } idContainerHoje.IdsLive.Clear(); foreach (var tr in trsJogos) { string id = tr.GetAttribute("id").Substring(4); if (jogosAceitos.Exists(j => j.Id == id)) { if (ApostaBet(tr)) { var jogo = _jogoRepository.TrazerJogoPorIdBet(id); string minutos = tr.FindElement(By.ClassName("cell_aa")) .FindElement(By.TagName("span")).Text; string score = tr.FindElement(By.ClassName("cell_sa")).Text; string status = tr.FindElement(By.ClassName("cell_aa")).Text; if (status != "Encerrado" && status != "Adiado") { string horaInicio = tr.FindElement(By.ClassName("cell_ad")).Text; IdJogo idJogo = new IdJogo(id, DateTime.Parse(horaInicio)); idContainerHoje.IdsLive.Add(idJogo); } } } } _idContainerRepository.Salvar(idContainerHoje); return(idContainerHoje); }
public async Task <IdContainer> SalvaProximosJogos() { var idContainerHoje = _idContainerRepository.TrazerIdContainerHoje(); if (idContainerHoje == null) { return(null); } _driver.Navigate().GoToUrl(_configuration.Sites.Resultado.Principal); await Task.Delay(2000); _driver.FindElement(By.ClassName("ifmenu-odds")).Click(); await Task.Delay(2000); ExpandiTodasTabelas(); RemoveTodasTabelasTabela(); var trsJogos = _driver.FindElements(By.ClassName("stage-scheduled")).ToList(); if (!trsJogos.Any()) { return(idContainerHoje); } foreach (var tr in trsJogos) { string classInfo = tr.GetAttribute("class"); string id = tr.GetAttribute("id").Substring(4); if (!Srf(classInfo) && !JogoCanceladoAdiadoOuEncerrado(classInfo)) { string horaInicio = tr.FindElement(By.ClassName("cell_ad")).Text; IdJogo idJogo = new IdJogo(id, DateTime.Parse(horaInicio)); idContainerHoje.Ids.Add(idJogo); } _idContainerRepository.Salvar(idContainerHoje); } return(idContainerHoje); }
public async Task <IdContainer> SalvaJogosIds(bool amanha = false) { NavegarParaSite(_configuration.Sites.Resultado.Principal); if (amanha) { _driver.FindElement(By.ClassName("tomorrow")).Click(); } await Task.Delay(5000); try { ExpandiTodasTabelas(); } catch { } List <IdJogo> idJogos = new List <IdJogo> { }; var trsJogos = _driver.FindElements(By.ClassName("stage-scheduled")).ToList(); var trsJogosLive = _driver.FindElements(By.ClassName("stage-live")).ToList(); if (trsJogosLive.Any()) { trsJogosLive.ForEach(j => trsJogos.Add(j)); } var idContainer = _idContainerRepository.TrazerIdContainerHoje(); if (amanha) { idContainer = new IdContainer(idJogos, DateTime.Now.Date.AddDays(1)); } else { if (idContainer != null) { idContainer.Ids = idJogos; } else { idContainer = new IdContainer(idJogos, DateTime.Now.Date); } } _idContainerRepository.Salvar(idContainer); foreach (var tr in trsJogos) { string id = tr.GetAttribute("id").Substring(4); string classInfo = tr.GetAttribute("class"); if (!Srf(classInfo) && !JogoCanceladoAdiadoOuEncerrado(classInfo)) { DateTime dataInicio = DateTime.Parse(tr.FindElement(By.ClassName("cell_ad")).Text); if (amanha) { dataInicio = dataInicio.AddDays(1); } IdJogo idJogo = new IdJogo(id, dataInicio); idContainer.Ids.Add(idJogo); } } _idContainerRepository.Salvar(idContainer); await VerificaJogosNãoCarregados(amanha); idContainer = amanha ? _idContainerRepository.TrazerIdContainerAmanha() : _idContainerRepository.TrazerIdContainerHoje(); return(idContainer); }