Esempio n. 1
0
        private int GetProximaProgramacion(Sentido sentido)
        {
            IDictionary <int, bool> programacion = sentido == Sentido.IDA ? ProgramacionIda : ProgramacionVuelta;
            int minHoraProgramada = int.MinValue;

            foreach (KeyValuePair <int, bool> kvp in programacion)
            {
                if (!kvp.Value)
                {
                    minHoraProgramada = kvp.Key;
                    break;
                }
            }

            if (minHoraProgramada == int.MinValue)
            {
                LimpiarProgramacion(programacion);
                minHoraProgramada = programacion.Keys.First();
                if (sentido == Sentido.IDA)
                {
                    AcumDiasIda++;
                }
                else
                {
                    AcumDiasVuelta++;
                }
            }

            return(minHoraProgramada + (sentido == Sentido.IDA ? AcumDiasIda : AcumDiasVuelta) * 1440);
        }
Esempio n. 2
0
    // Update is called once per frame
    void Update()
    {
        if (ManoIzq.position.y > ManoDer.position.y)
        {
            DirAct     = Sentido.Der;
            Diferencia = ManoIzq.position.y - ManoDer.position.y;
        }
        else
        {
            DirAct     = Sentido.Izq;
            Diferencia = ManoDer.position.y - ManoIzq.position.y;
        }

        if (Diferencia > DifMin && Diferencia < DifMax)
        {
            switch (DirAct)
            {
            case Sentido.Der:
                Camion.rotation       *= Quaternion.AngleAxis(Diferencia * Sensibilidad * Time.deltaTime, Camion.up);
                Volante.localRotation *= Quaternion.AngleAxis(Diferencia * Sensibilidad * Time.deltaTime, Vector3.up);
                //Aux = Volante.localEulerAngles;
                //Aux.x += Diferencia * Sensibilidad;
                //Volante.localEulerAngles = Aux;
                break;

            case Sentido.Izq:
                Camion.rotation       *= Quaternion.AngleAxis((-1) * Diferencia * Sensibilidad * Time.deltaTime, Camion.up);
                Volante.localRotation *= Quaternion.AngleAxis((-1) * Diferencia * Sensibilidad * Time.deltaTime, Vector3.up);
                //Aux = Volante.localEulerAngles;
                //Aux.x -= Diferencia * Sensibilidad;
                //Volante.localEulerAngles = Aux;
                break;
            }
        }
    }
Esempio n. 3
0
        private void CalculaSentido()
        {
            Sentido sentidoX, sentidoY;

            if (FinX == InicioX)
            {
                sentidoX = Sentido.Centro;
            }
            else
            {
                sentidoX = FinX > InicioX ? Sentido.Derecha : Sentido.Izquierda;
            }

            if (FinY == InicioY)
            {
                sentidoY = Sentido.Centro;
            }
            else
            {
                sentidoY = FinY > InicioY ? Sentido.Arriba : Sentido.Abajo;
            }
            //miro el sentido
            if (sentidoX == Sentido.Centro)
            {
                sentido = sentidoY;
            }
            else if (sentidoY == Sentido.Centro)
            {
                sentido = sentidoX;
            }
            else
            {
                sentido = (Sentido)(int)sentidoX + (int)sentidoY;
            }
        }
Esempio n. 4
0
        static bool AdicionaSondas(int numeroSondas, out string xMsg)
        {
            if (!ValidarNumeroSondas(numeroSondas, out xMsg))
            {
                return(false);
            }

            for (int i = 0; i < numeroSondas; i++)
            {
                Console.WriteLine(string.Format("Digite o nome da {0}º Sonda", new object[] { (i + 1) }));
                string nomeSonda = Console.ReadLine();

                if (string.IsNullOrEmpty(nomeSonda))
                {
                    Console.WriteLine("*** AVISO DEVIDO NOMES INVÁLIDOS ESTA SONDA SERÁ IGNORADA ");
                    continue;
                }

                Console.WriteLine("Digite o eixo X do Planalto");
                int xPlanalto = Convert.ToInt32(Console.ReadLine());

                Console.WriteLine("Digite o eixo Y do Planalto");
                int yPlanalto = Convert.ToInt32(Console.ReadLine());

                Console.WriteLine("Digite o eixo X da Localização da Sonda");
                int xSonda = Convert.ToInt32(Console.ReadLine());

                Console.WriteLine("Digite o eixo Y da Localização da Sonda ");
                int ySonda = Convert.ToInt32(Console.ReadLine());

                Console.WriteLine("Qual a Direção da Sonda ? (N Para norte, S para SUL, L para LESTE , O para Oeste) ");
                string  direcao = Console.ReadLine();
                Sentido sentido = Sentido.Norte;

                switch (direcao.ToUpper())
                {
                case "N":
                    sentido = Sentido.Norte;
                    break;

                case "S":
                    sentido = Sentido.Sul;
                    break;

                case "L":
                    sentido = Sentido.Leste;
                    break;

                case "O":
                    sentido = Sentido.Oeste;
                    break;
                }

                Sonda sonda = Sonda.EfetuarLancamento(nomeSonda, new Coordenadas(xPlanalto, yPlanalto), new Localizacao(new Coordenadas(xSonda, ySonda), sentido));
                sondas.Add(sonda);
            }

            return(true);
        }
Esempio n. 5
0
        public Vector(int inicioX = 0, int inicioY = 0, int finX = 0, int finY = 0, Sentido sentido = Sentido.Centro)
        {
            this.inicioY = inicioY;
            this.inicioX = inicioX;

            this.finX    = finX;
            this.finY    = finY;
            this.sentido = sentido;
        }
Esempio n. 6
0
 public ActionResult Edit([Bind(Include = "Id,Descripcion,Estado,FechaDeInicio,FechaDeFin")] Sentido sentido)
 {
     if (ModelState.IsValid)
     {
         db.Entry(sentido).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(sentido));
 }
Esempio n. 7
0
 // TODO esto iniciaría todas las formaciones con sentiodo IDA
 public Formacion(Servicio servicio)
 {
     this.Pasajeros            = 0;
     this.EstacionActual       = servicio.Desde;
     this.EstacionDestino      = servicio.Hasta;
     this.SentidoActual        = Sentido.IDA;
     this.Servicio             = servicio;
     this.PasoPorMantenimiento = false;
     this.EstaEnMantenimiento  = false;
 }
Esempio n. 8
0
        public ActionResult RealDeleteConfirmed(string id)
        {
            Sentido sentido = db.SENTIDO.Find(id);

            db.SENTIDO.Remove(sentido);
            db.SaveChanges();
            TempData["Type"]    = "error";
            TempData["Message"] = "El registro se eliminó correctamente";
            return(RedirectToAction("Index"));
        }
Esempio n. 9
0
 public virtual void AddTiempoComprometido(Sentido sentido, int tiempoComprometido)
 {
     if (sentido == Formacion.Sentido.IDA)
     {
         TiempoComprometidoSentidoIda += tiempoComprometido;
     }
     else
     {
         TiempoComprometidoSentidoVuelta += tiempoComprometido;
     }
 }
Esempio n. 10
0
 public virtual void SetTiempoComprometido(Sentido sentido, long tiempoComprometido)
 {
     if (sentido == Formacion.Sentido.IDA)
     {
         TiempoComprometidoSentidoIda = tiempoComprometido;
     }
     else
     {
         TiempoComprometidoSentidoVuelta = tiempoComprometido;
     }
 }
Esempio n. 11
0
 public virtual long SetTiempoComprometido(Sentido sentido, long t, int tiempoDeViaje, int tiempoAtencion)
 {
     if (this.GetTiempoComprometido(sentido) < t + tiempoDeViaje)
     {
         this.SetTiempoComprometido(sentido, t + tiempoDeViaje + tiempoAtencion);
         return(t + tiempoDeViaje + tiempoAtencion);
     }
     else
     {
         this.AddTiempoComprometido(sentido, tiempoAtencion);
         return(this.GetTiempoComprometido(sentido));
     }
 }
Esempio n. 12
0
        // GET: Sentidoes/Edit/5
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Sentido sentido = db.SENTIDO.Find(id);

            if (sentido == null)
            {
                return(HttpNotFound());
            }
            return(View(sentido));
        }
Esempio n. 13
0
        public virtual void InvertirSentido()
        {
            if (SentidoActual == Sentido.IDA)
            {
                this.EstacionDestino = this.Servicio.Desde;
                this.SentidoActual   = Sentido.VUELTA;
            }
            else
            {
                this.EstacionDestino = this.Servicio.Hasta;
                this.SentidoActual   = Sentido.IDA;
            }

            this.InvertirSentidoFlag = false;
        }
Esempio n. 14
0
        public ActionResult DeleteConfirmed(string id)
        {
            Sentido sentido = db.SENTIDO.Find(id);

            if (sentido.Estado == "I")
            {
                sentido.Estado = "A";
            }
            else
            {
                sentido.Estado = "I";
            }
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 15
0
        // retorna o proximo node em alguma direção
        private Node GetNextNode(Node ANode, Axis nextAxis, Sentido sentido)
        {
            List <Node> LNodes = new List <Node>();

            if (nextAxis == Axis.X) // se quiser pegar na mesma linha
            {
                // pega os nodes da msm linha
                LNodes = Nodes.Where(t => ((Pixel)t.Info).Position.Y == ((Pixel)ANode.Info).Position.Y).ToList();

                // se quiser o proximo da direita
                if (sentido == Sentido.Maior)
                {
                    // pega os de X maior que o atual e ordena
                    LNodes = LNodes.Where(t => ((Pixel)t.Info).Position.X > ((Pixel)ANode.Info).Position.X)
                             .OrderBy(t => ((Pixel)t.Info).Position.X).ToList();
                }
                else // se quiser o da esquerda
                {
                    // pega os de X menor e coloca na ordem inversa (pq quero o ultimo)
                    LNodes = LNodes.Where(t => ((Pixel)t.Info).Position.X < ((Pixel)ANode.Info).Position.X)
                             .OrderByDescending(t => ((Pixel)t.Info).Position.X).ToList();
                }
            }
            else // se quiser pegar na mesma coluna
            {
                // pego os nodes da msm coluna
                LNodes = Nodes.Where(t => ((Pixel)t.Info).Position.X == ((Pixel)ANode.Info).Position.X).ToList();

                // se quiser o de baixo
                if (sentido == Sentido.Maior)
                {
                    // pego os de Y maior e ordeno
                    LNodes = LNodes.Where(t => ((Pixel)t.Info).Position.Y > ((Pixel)ANode.Info).Position.Y)
                             .OrderBy(t => ((Pixel)t.Info).Position.Y).ToList();
                }
                else // se quiser o de cima
                {
                    // pego o de Y menor e ordeno ao contrario, quero o ultimo da lista
                    LNodes = LNodes.Where(t => ((Pixel)t.Info).Position.Y < ((Pixel)ANode.Info).Position.Y)
                             .OrderByDescending(t => ((Pixel)t.Info).Position.Y).ToList();
                }
            }

            return(LNodes.FirstOrDefault());
        }
Esempio n. 16
0
        public static Localizacao ProcessarComando(Coordenadas Planalto, Localizacao LocalicaoAtual, List <Comando> ComandosExecutados)
        {
            int     x       = LocalicaoAtual.Coordenadas.x;
            int     y       = LocalicaoAtual.Coordenadas.y;
            Sentido sentido = LocalicaoAtual.Direcao;

            foreach (Comando comando in ComandosExecutados)
            {
                switch (comando)
                {
                case Comando.Avancar:
                    switch (sentido)
                    {
                    case Sentido.Sul:
                        y--;
                        break;

                    case Sentido.Norte:
                        y++;
                        break;

                    case Sentido.Leste:
                        x++;
                        break;

                    case Sentido.Oeste:
                        x--;
                        break;
                    }
                    break;

                default:
                    sentido = MudarDirecao(sentido, comando);
                    break;
                }

                y = ValidarValores(y, Planalto.y, 0);
                x = ValidarValores(x, Planalto.x, 0);
            }

            return(new Localizacao(new Coordenadas(x, y), sentido));
        }
Esempio n. 17
0
        public static Bitmap AplicarEfeito(Bitmap bitmap, object parameter)
        {
            Sentido sentido = (Sentido)Enum.Parse(typeof(Sentido), parameter.ToString());

            switch (sentido)
            {
            case Sentido.Direita:
                return(GirarDireita(bitmap));

            case Sentido.Esquerda:
                return(GirarEsquerda(bitmap));

            case Sentido.Vertical:
                return(Inverter(bitmap));

            case Sentido.Horizontal:
                return(EspelharImagem(bitmap));
            }
            return(bitmap);
        }
Esempio n. 18
0
        public virtual Tramo GetTramo(Estacion estacionActual, Sentido sentido)
        {
            Tramo proximoTramo;

            if (sentido == Sentido.IDA)
            {
                proximoTramo = Tramos.First(x => x.EstacionOrigen == estacionActual);
            }
            else
            {
                proximoTramo = Tramos.First(x => x.EstacionDestino == estacionActual);
                Tramo tramoInvertido = new Tramo
                {
                    Distancia       = proximoTramo.Distancia,
                    TiempoViaje     = proximoTramo.TiempoViaje,
                    EstacionOrigen  = proximoTramo.EstacionDestino,
                    EstacionDestino = proximoTramo.EstacionOrigen
                };
                proximoTramo = tramoInvertido;
            }
            return(proximoTramo);
        }
Esempio n. 19
0
        private static Sentido MudarDirecao(Sentido DirecaoAtual, Comando ComandoAtual)
        {
            int valormaximo = Enum.GetValues(typeof(Sentido)).Cast <int>().Max();
            int valoratual  = (int)DirecaoAtual;

            switch (ComandoAtual)
            {
            case Comando.Esquerda:

                if (valoratual <= 0)
                {
                    valoratual = valormaximo;
                }
                else
                {
                    valoratual--;
                }

                break;

            case Comando.Direita:

                if (valoratual >= valormaximo)
                {
                    valoratual = 0;
                }
                else
                {
                    valoratual++;
                }

                break;
            }

            Sentido retorno = (Sentido)Enum.ToObject(typeof(Sentido), valoratual);

            return(retorno);
        }
Esempio n. 20
0
        public ActionResult Create([Bind(Include = "Id,Descripcion,Estado,FechaDeInicio,FechaDeFin")] Sentido sentido)
        {
            if (ModelState.IsValid)
            {
                db.SENTIDO.Add(sentido);
                string mensaje = Verificar(sentido.Id);
                if (mensaje == "")
                {
                    db.SaveChanges();
                    TempData["Type"]    = "success";
                    TempData["Message"] = "El registro se realizó correctamente";
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewBag.Type    = "warning";
                    ViewBag.Message = mensaje;
                    return(View(sentido));
                }
            }

            return(View(sentido));
        }
Esempio n. 21
0
    // Update is called once per frame
    void Update()
    {
        switch (InputAct)
        {
        case TipoInput.Mouse:
            if (Habilitado)
            {
                gameObject.SendMessage("SetGiro", MousePos.Relation(MousePos.AxisRelation.Horizontal));                //debe ser reemplanado
            }
            break;

        case TipoInput.Kinect:

            //print("Angulo: "+Angulo());

            /*
             * if(ManoIzq.position.y > ManoDer.position.y)
             * {
             *      DirAct = Sentido.Der;
             *      Diferencia = ManoIzq.position.y - ManoDer.position.y;
             * }
             * else
             * {
             *      DirAct = Sentido.Izq;
             *      Diferencia = ManoDer.position.y - ManoIzq.position.y;
             * }
             */

            if (ManoIzq.position.y > ManoDer.position.y)
            {
                DirAct = Sentido.Der;
            }
            else
            {
                DirAct = Sentido.Izq;
            }

            switch (DirAct)
            {
            case Sentido.Der:
                if (Angulo() <= MaxAng)
                {
                    Giro = Angulo() / (MaxAng + DesSencibilidad);
                }
                else
                {
                    Giro = 1;
                }

                if (Habilitado)
                {
                    gameObject.SendMessage("SetGiro", Giro);                    //debe ser reemplanado
                }
                break;

            case Sentido.Izq:
                if (Angulo() <= MaxAng)
                {
                    Giro = (Angulo() / (MaxAng + DesSencibilidad)) * (-1);
                }
                else
                {
                    Giro = (-1);
                }

                if (Habilitado)
                {
                    gameObject.SendMessage("SetGiro", Giro);                    //debe ser reemplanado
                }
                break;
            }
            break;

        case TipoInput.AWSD:
            if (Habilitado)
            {
                if (Input.GetKey(KeyCode.A))
                {
                    gameObject.SendMessage("SetGiro", -1);
                }
                if (Input.GetKey(KeyCode.D))
                {
                    gameObject.SendMessage("SetGiro", 1);
                }
            }
            break;

        case TipoInput.Arrows:
            if (Habilitado)
            {
                if (Input.GetKey(KeyCode.LeftArrow))
                {
                    gameObject.SendMessage("SetGiro", -1);
                }
                if (Input.GetKey(KeyCode.RightArrow))
                {
                    gameObject.SendMessage("SetGiro", 1);
                }
            }
            break;
        }
    }
Esempio n. 22
0
 public Sensor(int IncreaseTimePerMinute, Sentido sentido)
 {
     ClockAddTime = IncreaseTimePerMinute;
     _sentido     = sentido;
 }
Esempio n. 23
0
 public virtual long GetTiempoComprometido(Sentido sentido)
 {
     return(sentido == Formacion.Sentido.IDA ? TiempoComprometidoSentidoIda : TiempoComprometidoSentidoVuelta);
 }
Esempio n. 24
0
 public Localizacao(Coordenadas Coordenadas, Sentido Direcao)
 {
     this.Coordenadas = Coordenadas;
     this.Direcao     = Direcao;
 }
        private void MonitoraJoystick()
        {
            while (true)
            {
                if (DateTime.Now - captTime > TimeSpan.FromSeconds(3))
                {
                    // Obtemos os IDs dos joysticks conectados (DRIX_GetConnectedJoystickIDs retorna uma string contendo os IDs separados pelo caracter espaço).
                    string strIDs = Marshal.PtrToStringAnsi(DRIX_GetConnectedJoystickIDs());

                    if (string.IsNullOrEmpty(strIDs))
                    {
                        // TODO: Exibir mensagem alertando que não há joystick conectado ao computador.
                        Dispatcher.Invoke(new Action(() =>
                        {
                            dTmr.IsEnabled                  = false;
                            txtbStatus.Foreground           = new SolidColorBrush(Colors.Red);
                            txtbStatus.Text                 = "Joystick não detectado";
                            txtbSentidoDescricao.Visibility = Visibility.Collapsed;
                            txtbSentido.Visibility          = Visibility.Collapsed;
                            recImagemDisp.Visibility        = Visibility.Collapsed;
                            txtbTempo.Visibility            = Visibility.Collapsed;
                            txtbToques.Visibility           = Visibility.Collapsed;
                            txtbPosicao.Visibility          = Visibility.Collapsed;
                            txtbMsgInicial.Visibility       = Visibility.Collapsed;
                            gridCen.Background              = new SolidColorBrush(Colors.Transparent);
                        }));
                        if (JoyID != null)
                        {
                            DRIX_ReleaseJoystick(JoyID);
                        }
                        JoyID = null;
                        continue;
                    }

                    string[] IDs = strIDs.Split(' ');

                    if (IDs.Length > 1)
                    {
                        // TODO: Exibir mensagem alertando que há mais de 1 joystick conectado ao computador.
                        Dispatcher.Invoke(new Action(() =>
                        {
                            dTmr.IsEnabled                  = false;
                            txtbStatus.Foreground           = new SolidColorBrush(Colors.Red);
                            txtbStatus.Text                 = "Conflito: Múltiplos joysticks detectados";
                            txtbSentidoDescricao.Visibility = Visibility.Collapsed;
                            txtbSentido.Visibility          = Visibility.Collapsed;
                            recImagemDisp.Visibility        = Visibility.Collapsed;
                            txtbTempo.Visibility            = Visibility.Collapsed;
                            txtbToques.Visibility           = Visibility.Collapsed;
                            txtbPosicao.Visibility          = Visibility.Collapsed;
                            txtbMsgInicial.Visibility       = Visibility.Collapsed;
                            gridCen.Background              = new SolidColorBrush(Colors.Transparent);
                        }));
                        if (JoyID != null)
                        {
                            DRIX_ReleaseJoystick(JoyID);
                        }
                        JoyID = null;
                        continue;
                    }

                    Dispatcher.Invoke(new Action(() =>
                    {
                        txtbStatus.Foreground = new SolidColorBrush(Colors.Green);
                        txtbStatus.Text       = "Joystick detectado";

                        if (txtbTempo.Visibility == Visibility.Collapsed)
                        {
                            txtbMsgInicial.Visibility = Visibility.Visible;
                            //txtbMsgInicial.Text = "Pressione um dos botões para iniciar";
                        }
                    }));

                    if (JoyID == null)
                    {
                        if (DRIX_CreateJoystickDevice(IDs[0]))
                        {
                        }

                        JoyID = IDs[0];
                    }
                    else
                    {
                        if (IDs[0] != JoyID)
                        {
                            DRIX_ReleaseJoystick(JoyID);

                            if (DRIX_CreateJoystickDevice(IDs[0]))
                            {
                            }

                            JoyID = IDs[0];
                        }
                    }

                    captTime = DateTime.Now;
                }

                if (JoyID != null)
                {
                    bool B1   = DRIX_ReadJoystickState(JoyID, 1) > 0 ? true : false;
                    bool B2   = DRIX_ReadJoystickState(JoyID, 2) > 0 ? true : false;
                    bool B3   = DRIX_ReadJoystickState(JoyID, 3) > 0 ? true : false;
                    bool B4   = DRIX_ReadJoystickState(JoyID, 4) > 0 ? true : false;
                    int  h    = DRIX_ReadJoystickState(JoyID, 101);
                    bool dEsq = h == -1000 ? true : false;

                    if (B2)
                    {
                        sentido = Sentido.AB;
                        PrepararSentido();
                    }
                    else if (B4)
                    {
                        sentido = Sentido.BA;
                        PrepararSentido();
                    }
                    else if (dEsq)
                    {
                        if (sentido == Sentido.AB)
                        {
                            IniciarJogo();
                        }
                        else
                        {
                            FinalizarJogo();
                        }
                    }
                    else if (B1)
                    {
                        if (sentido == Sentido.BA)
                        {
                            IniciarJogo();
                        }
                        else
                        {
                            FinalizarJogo();
                        }
                    }
                    else if (B3)
                    {
                        Toque();
                    }
                    else
                    {
                        Dispatcher.Invoke(new Action(() =>
                        {
                            gridCen.Background              = new SolidColorBrush(Colors.Transparent);
                            txtbTempo.Foreground            = new SolidColorBrush(Colors.Gray);
                            txtbToques.Foreground           = txtbTempo.Foreground;
                            txtbSentido.Foreground          = txtbTempo.Foreground;
                            txtbSentidoDescricao.Foreground = txtbTempo.Foreground;
                            recImagemDisp.Fill              = txtbTempo.Foreground;
                        }));
                    }
                }

                Thread.Sleep(20);
            }
        }
Esempio n. 26
0
        private void SalvarDados()
        {
            if (webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_lblNomeLinha") == null)
            {
                ClickBotao();
                return;
            }
            string nomeSentido = webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_lblNomeDestino").InnerHtml;

            Sentido sentido=null;

            foreach (Sentido sentido1 in rotaAtual.Sentidos.Where(sentido1 => sentido1.Nome == nomeSentido))
            {
                sentido = sentido1;
            }
            if(sentido == null)
            {
                sentido = new Sentido();
                rotaAtual.Sentidos.Add(sentido);

            }
            sentido.Nome = nomeSentido;
            Dia dia = null;
            string nomeDia = webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_lblDia").InnerHtml;
            foreach ( Dia d in sentido.Dias.Where(d2=>d2.Nome == nomeDia))
            {
                dia = d;
            }
            if(dia == null)
            {
                dia = new Dia();
                sentido.Dias.Add(dia);
            }

            dia.Nome = nomeDia;

            string valorBase = string.Format("");
            listBox2.Items.Add(webBrowser1.Document.GetElementById(
                                               "ctl00_ContentPlaceHolder3_lblNomeLinha").InnerHtml);
            listBox3.Items.Add(webBrowser1.Document.GetElementById(
                "ctl00_ContentPlaceHolder3_lblNomeDestino").InnerHtml);
            listBox4.Items.Add(webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_lblDia").
                                   InnerHtml);
            listBox2.SelectedIndex = listBox2.Items.Count - 1;
            listBox3.SelectedIndex = listBox3.Items.Count - 1;
            listBox4.SelectedIndex = listBox4.Items.Count - 1;

            if (webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_GridView1") != null)
            {
                int x = 0;

                string valor = "";

                Horario horario = new Horario();
                foreach (
                    HtmlElement VARIABLE in
                        webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_GridView1").
                            GetElementsByTagName("td"))
                {

                    switch (x)
                    {
                        case 0: //partida
                            valor += VARIABLE.InnerHtml;
                            horario.Partida = VARIABLE.InnerHtml;
                            break;
                        case 1: //chegada
                            valor += " - " + VARIABLE.InnerHtml;
                            horario.Chegada = VARIABLE.InnerHtml;
                            break;
                        case 2: // obs
                            if (VARIABLE.InnerHtml != "&nbsp;")
                            {
                                valor += " - " + VARIABLE.InnerHtml;
                                horario.Observacao = VARIABLE.InnerHtml;
                            }

                            listBox1.Items.Add(valor);
                            valor = valorBase;
                            break;
                    }
                    if (x == 2)
                    {
                        dia.Horarios.Add(new Horario()
                                                 {
                                                     Chegada = horario.Chegada,
                                                     Partida = horario.Partida,
                                                     Observacao = horario.Observacao
                                                 });
                        horario = new Horario();
                        x = 0;
                    }
                    else x++;
                }

            }

            if (webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_GridView2") != null)
            {
                listBox2.Items.Add(valorBase);
                if (sentido.Etinerario.Count == 0)
                {
                    foreach (
                        HtmlElement VARIABLE in
                            webBrowser1.Document.GetElementById("ctl00_ContentPlaceHolder3_GridView2").
                                GetElementsByTagName("td"))
                    {
                        sentido.Etinerario.Add(VARIABLE.InnerHtml);
                        listBox2.Items.Add(VARIABLE.InnerHtml);
                    }
                }
            }
            if (origemAtual < rotaAtual.Origens.Count)
            {
                origemAtual++;
                situacao = SELECT_ORIGEM;
            }
            else
            {
                origemAtual = 0;
                JSONSerialize(rotaAtual);
                listBox1.Refresh();
                listBox2.Refresh();
                situacao = SELECT_ROTA;
            }
            return;
        }
Esempio n. 27
0
        private void CalculaSentido()
        {

            Sentido sentidoX, sentidoY;
            if (FinX == InicioX)
                sentidoX = Sentido.Centro;
            else
                sentidoX = FinX > InicioX ? Sentido.Derecha : Sentido.Izquierda;

            if (FinY == InicioY)
                sentidoY = Sentido.Centro;
            else
                sentidoY = FinY > InicioY ? Sentido.Arriba : Sentido.Abajo;
            //miro el sentido
            if (sentidoX == Sentido.Centro)
                sentido = sentidoY;
            else if (sentidoY == Sentido.Centro)
                sentido = sentidoX;
            else
                sentido = (Sentido)(int)sentidoX + (int)sentidoY;
        }