Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
 public AcimaAbaixo(EClassificacaoTipo tipo)
 {
     Tipo  = tipo;
     Overs = new List <Over>();
 }
Ejemplo n.º 9
0
        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);
                }
            }
        }
Ejemplo n.º 10
0
        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);
            }
        }
Ejemplo n.º 11
0
        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;
                }
            }
        }