public static int GetOvers(Time time, double valor, EClassificacaoTipo tipo) { var time_05_15_25_Overs = time.AcimaAbaixo.Where(a => a.Tipo == tipo) .SelectMany(a => a.Overs) .ToList(); var time_05_15_25_OversTotal = time.AcimaAbaixo .Where(a => a.Tipo == EClassificacaoTipo.Total) .SelectMany(a => a.Overs).ToList(); int time_overs = time_05_15_25_Overs.FirstOrDefault(o => o.Valor == valor)?.Overs ?? 0; int time_oversTotal = time_05_15_25_OversTotal.FirstOrDefault(o => o.Valor == valor)?.Overs ?? 0; if (time_oversTotal == 0) { return(time_overs); } time.UsouOversTotal = TimeValidations.UsarTotal(time, valor, tipo); time_overs = time.UsouOversTotal ? time_oversTotal : time_overs; return(time_overs); }
private bool CriaClassificacao(IWebElement tabelaClassificacao, EClassificacaoTipo tipo, List <Time> times) { var trsTotal = tabelaClassificacao.FindElements(By.ClassName("col_rank")); var trTimes = tabelaClassificacao.FindElements(By.ClassName("highlight")); foreach (var tr in trTimes) { var empates = tr.FindElements(By.ClassName("form-d")); var derrotas = tr.FindElements(By.ClassName("form-l")); var vitorias = tr.FindElements(By.ClassName("form-w")); var qtdJogos = empates.Count + derrotas.Count + vitorias.Count; if (qtdJogos < 4) { return(false); } var nomeTime = tr.FindElement(By.ClassName("team_name_span")) .FindElement(By.TagName("a")).Text; var lugar = int.Parse(tr.FindElement(By.ClassName("col_rank")).Text.Replace(".", "")); var gols = tr.FindElements(By.ClassName("col_goals"))[0].Text; var asTag = tr.FindElement(By.ClassName("form")) .FindElements(By.TagName("a")); Classificacao classif = new Classificacao(tipo, vitorias.Count, empates.Count, derrotas.Count, qtdJogos, lugar, trsTotal.Count - 1, gols); times.FirstOrDefault(t => t.Nome == nomeTime).Classificacoes.Add(classif); } return(true); }
public static double MediaGols(Time time, EClassificacaoTipo tipo) { var time_05_15_25_Overs = time.AcimaAbaixo.Where(a => a.Tipo == tipo) .SelectMany(a => a.Overs) .ToList(); var time_05_15_25_OversTotal = time.AcimaAbaixo .Where(a => a.Tipo == EClassificacaoTipo.Total) .SelectMany(a => a.Overs).ToList(); var time_mediaGols = double.Parse(time_05_15_25_Overs[0]?.GJ?.Replace(".", ",")); time.QtdJogos = time_05_15_25_Overs[0].J; if (time_05_15_25_OversTotal.Count == 0) { return(time_mediaGols); } var time_mediaGolsTotal = double.Parse(time.AcimaAbaixo.FirstOrDefault(aa => aa.Tipo == EClassificacaoTipo.Total) ?.Overs[0]?.GJ?.Replace(".", ",")); time.UsouOversTotal = time_05_15_25_Overs[0].TotalUltimosJogos < 4 && time_05_15_25_OversTotal[0]?.TotalUltimosJogos > 4; if (time.UsouOversTotal) { time.QtdJogos = time_05_15_25_OversTotal[0].J; } return(time_05_15_25_Overs[0].TotalUltimosJogos < 4 && time_05_15_25_OversTotal[0]?.TotalUltimosJogos > 4 ? time_mediaGolsTotal : time_mediaGols); }
public static int GetQtdJogos(Time time, EClassificacaoTipo tipo) { int?qtdJogosTime = time.UsouOversTotal ? time.AcimaAbaixo.FirstOrDefault(t => t.Tipo == EClassificacaoTipo.Total)?.Overs[0]? .TotalUltimosJogos : time.AcimaAbaixo.FirstOrDefault(t => t.Tipo == tipo)?.Overs[0]?.TotalUltimosJogos; return(qtdJogosTime.HasValue ? qtdJogosTime.Value : time.AcimaAbaixo.FirstOrDefault(t => t.Tipo == tipo).Overs[0].TotalUltimosJogos); }
public Classificacao(EClassificacaoTipo tipo, int totalVitorias, int totalEmpates, int totalDerrotas, int qtdJogos, int lugar, int totalLugares, string gols) { Tipo = tipo; TotalVitorias = totalVitorias; TotalEmpates = totalEmpates; TotalDerrotas = totalDerrotas; QtdJogos = qtdJogos; Lugar = lugar; TotalLugares = totalLugares; Gols = gols; }
public static bool UsarTotal(Time time, double valor, EClassificacaoTipo tipo) { var time_05_15_25_Overs = time.AcimaAbaixo.Where(a => a.Tipo == tipo) .SelectMany(a => a.Overs) .ToList(); var time_05_15_25_OversTotal = time.AcimaAbaixo .Where(a => a.Tipo == EClassificacaoTipo.Total) .SelectMany(a => a.Overs).ToList(); int time_overs = time_05_15_25_Overs.FirstOrDefault(o => o.Valor == valor)?.Overs ?? 0; int time_oversTotal = time_05_15_25_OversTotal.FirstOrDefault(o => o.Valor == valor)?.Overs ?? 0; if (time_oversTotal == 0) { return(false); } time.UsouOversTotal = time_05_15_25_Overs[0].TotalUltimosJogos < 4 && time_05_15_25_OversTotal[0]?.TotalUltimosJogos > 4; return(time_05_15_25_Overs[0].TotalUltimosJogos < 4 && time_05_15_25_OversTotal[0]?.TotalUltimosJogos > 4); }
public static bool PoucosJogosTime(Time time, EClassificacaoTipo tipo) { var time_05_15_25_Overs = time.AcimaAbaixo .Where(a => a.Tipo == tipo) .SelectMany(a => a.Overs) .ToList(); var time_05_15_25_OversTotal = time.AcimaAbaixo .Where(a => a.Tipo == EClassificacaoTipo.Total) .SelectMany(a => a.Overs).ToList(); if (!time_05_15_25_OversTotal.Any()) { return(time_05_15_25_Overs.FirstOrDefault().TotalUltimosJogos < 4); } var time1qtdJogosTotal = time.AcimaAbaixo.FirstOrDefault(aa => aa.Tipo == EClassificacaoTipo.Total).Overs[0].TotalUltimosJogos; var time1qtdJogos = time_05_15_25_Overs.FirstOrDefault().TotalUltimosJogos < 4 ? time1qtdJogosTotal : time_05_15_25_Overs.FirstOrDefault().TotalUltimosJogos; return(time1qtdJogos < 4); }
public AcimaAbaixo(EClassificacaoTipo tipo) { Tipo = tipo; Overs = new List <Over>(); }
private void CriaAcimaAbaixo(double overValor, IWebElement tabelaClassificacao, EClassificacaoTipo tipo, Time time) { var trTimes = tabelaClassificacao.FindElements(By.ClassName("highlight")); foreach (var tr in trTimes) { var nomeTime = tr.FindElement(By.ClassName("team_name_span")) .FindElement(By.TagName("a")).Text; if (time.Nome == nomeTime) { var qtdJogos = tr.FindElement(By.ClassName("col_matches_played")).Text; var gols = tr.FindElement(By.ClassName("col_goals")).Text; var gj = tr.FindElement(By.ClassName("col_avg_goals_match")).Text; var asTag = tr.FindElement(By.ClassName("col_last_5")) .FindElements(By.TagName("a")); var overs = tr.FindElements(By.ClassName("form-over")).Count; var unders = tr.FindElements(By.ClassName("form-under")).Count; Over o = new Over(overValor, gols, gj, overs, unders, overs + unders, TimeHelper.GolsRealizadosConvert(gols), TimeHelper.GolsSofridosConvert(gols)); o.J = int.Parse(qtdJogos); var aa = new AcimaAbaixo(tipo); aa.Overs.Add(o); time.AcimaAbaixo.Add(aa); } } }
public void CriaAcimaAbaixoTotal(double overValor, IWebElement tabelaClassificacao, EClassificacaoTipo tipo, List <Time> times) { var trTimes = tabelaClassificacao.FindElements(By.ClassName("highlight")); foreach (var tr in trTimes) { var nomeTime = tr.FindElement(By.ClassName("team_name_span")) .FindElement(By.TagName("a")).Text; var qtdJogos = tr.FindElement(By.ClassName("col_matches_played")).Text; var gols = tr.FindElement(By.ClassName("col_goals")).Text; var gj = tr.FindElement(By.ClassName("col_avg_goals_match")).Text; var asTag = tr.FindElement(By.ClassName("col_last_5")) .FindElements(By.TagName("a")); bool?ultimoOverPositivo; var underovers = tr.FindElement(By.ClassName("matches-5")).FindElements(By.TagName("a")); if (underovers.Count > 1) { string classInfo = underovers[1].GetAttribute("class"); ultimoOverPositivo = classInfo.Contains("form-under") ? false : true; times.FirstOrDefault(t => t.Nome == nomeTime).UltimoOverPositivo = ultimoOverPositivo; } var overs = tr.FindElements(By.ClassName("form-over")).Count; var unders = tr.FindElements(By.ClassName("form-under")).Count; Over o = new Over(overValor, gols, gj, overs, unders, overs + unders, TimeHelper.GolsRealizadosConvert(gols), TimeHelper.GolsSofridosConvert(gols)); o.J = int.Parse(qtdJogos); var aa = new AcimaAbaixo(tipo); aa.Overs.Add(o); times.FirstOrDefault(t => t.Nome == nomeTime).AcimaAbaixo.Add(aa); } }
public void PegaUltimoOver(double overValor, IWebElement tabelaClassificacao, EClassificacaoTipo tipo, List <Time> times) { var trTimes = tabelaClassificacao.FindElements(By.ClassName("highlight")); foreach (var tr in trTimes) { var nomeTime = tr.FindElement(By.ClassName("team_name_span")) .FindElement(By.TagName("a")).Text; bool?ultimoOverPositivo; var underovers = tr.FindElement(By.ClassName("matches-5")).FindElements(By.TagName("a")); if (underovers.Count > 2) { string classInfo = underovers[2].GetAttribute("class"); ultimoOverPositivo = classInfo.Contains("form-under") ? false : true; times.FirstOrDefault(t => t.Nome == nomeTime).UltimoOverPositivo = ultimoOverPositivo; } } }