Beispiel #1
0
        private static string obterHTMLCompleto(HorariosViagemEnum TipoHorario, TabelaInformacoesViagemEnum TabelaInformacoesViagem, int linha)
        {
            var objTipoHorario      = HorariosViagem.ObterCamposHorariosViagem(TipoHorario);
            var objInformacoeViagem = ObterElementoHtmlInformacoesViagem(TabelaInformacoesViagem, linha);

            var htmlCompleto = objTipoHorario.Value + objInformacoeViagem.Value;

            return(htmlCompleto);
        }
Beispiel #2
0
        public static KeyValuePair <TipoElementoEnum, string> ObterCamposHorariosViagem(HorariosViagemEnum HorariosViagem)
        {
            Dictionary <TipoElementoEnum, string> dic = new Dictionary <TipoElementoEnum, string>();

            switch (HorariosViagem)
            {
            case HorariosViagemEnum.EMBARQUE:
                dic.Add(TipoElementoEnum.CssSelector, "#ida");
                break;

            case HorariosViagemEnum.DESEMBARQUE:
                dic.Add(TipoElementoEnum.CssSelector, "#volta");
                break;
            }

            return(dic.First());
        }
Beispiel #3
0
        public static KeyValuePair <TipoElementoEnum, string> ObterHtmlInformacoesViagem(HorariosViagemEnum TipoHorario, TabelaInformacoesViagemEnum TabelaInformacoesViagem, int linha)
        {
            Dictionary <TipoElementoEnum, string> dic = new Dictionary <TipoElementoEnum, string>();

            var htmlCompleto = obterHTMLCompleto(TipoHorario, TabelaInformacoesViagem, linha);

            switch (TipoHorario)
            {
            case HorariosViagemEnum.EMBARQUE:
                dic.Add(TipoElementoEnum.CssSelector, htmlCompleto);
                break;

            case HorariosViagemEnum.DESEMBARQUE:
                dic.Add(TipoElementoEnum.CssSelector, htmlCompleto);
                break;
            }

            return(dic.First());
        }
        public List <InformacoesViagem> ObterListaDoResumoDaViagem(HorariosViagemEnum Horario, int QuantidadeLinhas)
        {
            try {
                var valorInicial           = 5;
                var listaInformacoesViagem = new List <InformacoesViagem>();

                for (int i = 0; i < QuantidadeLinhas; i++)
                {
                    if (i > 0)
                    {
                        valorInicial++;
                    }

                    var objCampoHorarioIda        = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.DATA_IDA, valorInicial);
                    var objCampoOrigem            = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.ORIGEM, valorInicial);
                    var objCampoDuracao           = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.DURACAO, valorInicial);
                    var objCampoHoraVolta         = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.DATA_VOLTA, valorInicial);
                    var objCampoDestino           = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.DESTINO, valorInicial);
                    var objCampoTarifaMax         = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.VALOR_TARIFA_MAX, valorInicial);
                    var objCampoTarifaPlus        = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.VALOR_TARIFA_PLUS, valorInicial);
                    var objCampoTarifaLight       = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.VALOR_TARIFA_DOUBLE, valorInicial);
                    var objCampoTarifaPromocional = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.VALOR_TAFIFA_PROMO, valorInicial);

                    WaitAtElementsStayVisible(TipoElementoEnum.CssSelector, "table.tableTarifasSelect.infoToRemarketing");

                    WaintPresenceOfAllElementsLocatedForObject(objCampoHorarioIda.Key, objCampoHorarioIda.Value);
                    var strCampoHorarioIda = Regex.Replace(GetPropertyObject(objCampoHorarioIda.Key, objCampoHorarioIda.Value, "innerText"), @"\r\n?|\n", "").Replace("Partida", "");
                    WaintPresenceOfAllElementsLocatedForObject(objCampoOrigem.Key, objCampoOrigem.Value);
                    var strCampoOrigem = GetPropertyObject(objCampoOrigem.Key, objCampoOrigem.Value, "innerText");
                    WaintPresenceOfAllElementsLocatedForObject(objCampoDuracao.Key, objCampoDuracao.Value);
                    var strCampoDuracao = Utilitarios.SubstituirRegex(GetPropertyObject(objCampoDuracao.Key, objCampoDuracao.Value, "innerText")).Trim().Replace("Duração: ", "").Trim().Replace("Voo Direto", "").Replace("                                 0", "");
                    WaintPresenceOfAllElementsLocatedForObject(objCampoHoraVolta.Key, objCampoHoraVolta.Value);
                    var strCampoHoraVolta = Regex.Replace(GetPropertyObject(objCampoHoraVolta.Key, objCampoHoraVolta.Value, "innerText"), @"\r\n?|\n", "").Replace("Chegada", "");
                    WaintPresenceOfAllElementsLocatedForObject(objCampoDestino.Key, objCampoDestino.Value);
                    var strCampoDestino = GetPropertyObject(objCampoDestino.Key, objCampoDestino.Value, "innerText");
                    WaintPresenceOfAllElementsLocatedForObject(objCampoTarifaMax.Key, objCampoTarifaMax.Value);
                    var strCampoTarifaMax = Utilitarios.SubstituirRegex(GetPropertyObject(objCampoTarifaMax.Key, objCampoTarifaMax.Value, "innerText")).Replace("tarifa  Max", "").Replace("R$", "").Trim();
                    WaintPresenceOfAllElementsLocatedForObject(objCampoTarifaPlus.Key, objCampoTarifaPlus.Value);
                    var strCampoTarifaPlus = Utilitarios.SubstituirRegex(GetPropertyObject(objCampoTarifaPlus.Key, objCampoTarifaPlus.Value, "innerText")).Replace("tarifa  Plus", "").Replace("R$", "").Trim();
                    WaintPresenceOfAllElementsLocatedForObject(objCampoTarifaLight.Key, objCampoTarifaLight.Value);
                    var strCampoTarifaLight = Utilitarios.SubstituirRegex(GetPropertyObject(objCampoTarifaLight.Key, objCampoTarifaLight.Value, "innerText")).Replace("MENOR  PREÇO DO DIA", "").Replace("tarifa  Light", "").Replace("R$", "").Trim();;
                    var strCampoTarifaPromo = "0,00";

                    if (Horario.Equals(HorariosViagemEnum.DESEMBARQUE))
                    {
                        if (!GetPropertyObject(objCampoTarifaPromocional.Key, objCampoTarifaPromocional.Value, "innerText").Contains("Indisponível"))
                        {
                            WaintPresenceOfAllElementsLocatedForObject(objCampoTarifaPromocional.Key, objCampoTarifaPromocional.Value);
                            WaitAtElementsStayVisible(objCampoTarifaPromocional.Key, objCampoTarifaPromocional.Value);
                            strCampoTarifaPromo = Utilitarios.SubstituirRegex(GetPropertyObject(objCampoTarifaPromocional.Key, objCampoTarifaPromocional.Value, "innerText")).Replace("MENOR  PREÇO DO DIA", "").Replace("tarifa  Promo", "").Replace("R$", "").Trim();
                        }
                    }

                    var informacaoViagem = new InformacoesViagem
                    {
                        Indice            = i,
                        HorarioIda        = strCampoHorarioIda,
                        Origem            = strCampoOrigem,
                        Duracao           = strCampoDuracao,
                        HorarioVolta      = strCampoHoraVolta,
                        Destino           = strCampoDestino,
                        ValorTarifaMax    = strCampoTarifaMax,
                        ValorTarifaPlus   = strCampoTarifaPlus,
                        ValorTarifaDouble = strCampoTarifaLight,
                        ValorTarifaPromo  = strCampoTarifaPromo
                    };

                    listaInformacoesViagem.Add(informacaoViagem);
                }

                return(listaInformacoesViagem);
            } catch (Exception ex) {
                throw new Exception(ex.Message);
            }
        }