Esempio n. 1
0
        /*Función que comprueba las firmas y si son correctas agrega el mensaje en BD*/
        public void MensajeAgregado(string msje)
        {
            BD AccesoBD = new BD(Formulario);
            Utiles utiles = new Utiles();
            string evento, posibleevento;
            /* Cripto criputiles = new Cripto();
             DetectaIncidente incidente = new DetectaIncidente(Formulario);*/

            //Se comprueba si ya existe el incidente en las coordenadas X,Y aprox.la Base de datos
            evento = AccesoBD.ExisteEvento("T1", NombreVia, SentidoMarcha, CoodX, CoordY);
            Formulario.Invoke(Formulario.myDelegate, new Object[] { "¿Tengo el evento en BD? " });
            if (evento.Equals(""))
            {
                Formulario.Invoke(Formulario.myDelegate, new Object[] { "¿Tengo el posible evento en BD? " });
                posibleevento = AccesoBD.ExistePosibleEvento("T1", NombreVia, SentidoMarcha, CoodX, CoordY);
                //Si lo tengo es porque ya lo firmé, ahora lo borro de posible evento y lo inserto en Evento
                if (!posibleevento.Equals(""))
                {
                    string[] info = msje.Split('.');
                    string[] inf_firma = info[1].Split('|');

                    AccesoBD.insertarEvento("T1", NombreVia, SentidoMarcha, CoodX, CoordY, CoordZ, HoraGeneracionPaquete, inf_firma[0]);
                    //utiles.anadePoi("Atasco", "Atasco", (int)(CoodX * 100000), (int)(CoordY * 100000), 100);
                    utiles.anadePoi("Atasco", "Atasco", (int)(CoodX), (int)(CoordY), 100);
                    AccesoBD.EliminaPosibleEvento("T1", HoraGeneracionPaquete);
                }
                else
                {
                    //Compruebo las firmas contenidas en el mensaje
                    Formulario.Invoke(Formulario.myDelegate, new Object[] { "This packet contains incident information" });
                    Formulario.Invoke(Formulario.myDelegate, new Object[] { "Check Signatures" });
                    if (CompruebaFirmas(msje))
                    {
                        Formulario.Invoke(Formulario.myDelegate, new Object[] { "Las Firmas son buenas" });
                        string[] info = msje.Split('.');
                        string mensaje = info[0];
                        AccesoBD.insertarEvento("T1", NombreVia, SentidoMarcha, CoodX, CoordY, CoordZ, HoraGeneracionPaquete, info[1]);
                        //utiles.anadePoi("Atasco", "Atasco", (int)(CoodX * 100000), (int)(CoordY * 100000), 100);
                        utiles.anadePoi("Atasco", "Atasco", (int)(CoodX), (int)(CoordY), 100);

                        Formulario.Invoke(Formulario.myDelegate4, new Object[] { mensaje + "in " + CoodX + "," + CoordY + ". Recalculating route" });

                    }
                    //Informo de que podría tratarse de un ataque
                    else
                    {
                        Formulario.Invoke(Formulario.myDelegate, new Object[] { "Attempted Attack on the network" });
                    }
                }//end else existePosibleEvento

            }//EndIF Existeevento
            else
            {
                Formulario.Invoke(Formulario.myDelegate, new Object[] { "Ya tengo el Evento en mi BD no hago nada" });
            }
        }