/*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" }); } }