Exemple #1
0
        public void TestRegistraEvento()
        {
            Stazione stazione = new Stazione
            {
                Nome                   = "BolognaA1",
                Locazione              = "Bologna",
                IndirizzoDiRete        = IPAddress.Parse("10.56.77.233"),
                Porta                  = 5555,
                ImprontaChiavePubblica = "aksjdada8s7d8a6da78sdEEeewrR"
            };

            Assert.IsTrue(gestioneStazioniController.Registra(stazione));

            EventoSismico evento = new EventoSismico
            {
                Messaggio = "Magnitudo superata",
                Priorita  = Priorita.Fatal,
                Stazione  = stazione,
                Tag       = "Magnitudo",
                Timestamp = 1234
            };

            Assert.IsTrue(storicoController.RegistraEvento(evento));

            // Verifico che sia stato salvato correttamente
            IEventoSismico evnt = storicoController.ListaEventi()[0];

            Assert.AreEqual(evento, evnt);
            Assert.AreEqual(evnt.Stazione, stazione);
        }
Exemple #2
0
        private void btnCrea_Click(object sender, EventArgs e)
        {
            String error = validation();

            if (error != null)
            {
                MessageBox.Show("Il campo " + error + " non è corretto", "Inserimento dati non valido",
                                MessageBoxButtons.OK);
                return;
            }

            Stazione stazione;

            stazione = new Stazione
            {
                Nome                   = inputNome.Text,
                Locazione              = inputLocazione.Text,
                IndirizzoDiRete        = IPAddress.Parse(inputIP.Text),
                Porta                  = Int32.Parse(inputPorta.Text),
                ImprontaChiavePubblica = "E2C9153221FE658AFDCEBE095EE5D2392AF8C4AE"  // TODO: andrebbe richiesta al server dinamicamente, versione 2.0
            };

            bool res = Controller.Registra(stazione);

            if (res)
            {
                this.ParentForm.DialogResult = DialogResult.Abort;
            }
            else
            {
                this.ParentForm.DialogResult = DialogResult.OK;
            }
        }
        public async Task <IActionResult> Put([FromRoute] int id, [FromBody] Stazione stazione)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != stazione.IdNomeStazione)
            {
                return(BadRequest());
            }

            _context.Entry(stazione).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!StazioneExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <IActionResult> Edit(int id, [Bind("IdNomeStazione,NomeStazione,IdLinea")] Stazione stazione)
        {
            if (id != stazione.IdNomeStazione)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(stazione);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!StazioneExists(stazione.IdNomeStazione))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdLinea"] = new SelectList(_context.Linee, "IdLinea", "NomeLinea", stazione.IdLinea);
            return(View(stazione));
        }
Exemple #5
0
        public void TestListaTutti()
        {
            Stazione stazione = new Stazione
            {
                Nome                   = "BolognaA1",
                Locazione              = "Bologna",
                IndirizzoDiRete        = IPAddress.Parse("10.56.77.233"),
                Porta                  = 5555,
                ImprontaChiavePubblica = "aksjdada8s7d8a6da78sdEEeewrR"
            };

            // Lo registro, e verifico che adesso esiste
            Assert.IsTrue(gestioneStazioniController.Registra(stazione));
            Assert.AreEqual(gestioneStazioniController.Cerca("bolognaA1").Count, 1);

            Stazione stazione2 = new Stazione
            {
                Nome                   = "BolognaA2",
                Locazione              = "Bologna",
                IndirizzoDiRete        = IPAddress.Parse("10.223.23.3"),
                Porta                  = 5555,
                ImprontaChiavePubblica = "aksjdada8s7d8a6da78sdEEeewrR"
            };

            Assert.IsTrue(gestioneStazioniController.Registra(stazione2));
            Assert.AreEqual(gestioneStazioniController.Cerca("bolognaA2").Count, 1);

            IList <IStazione> stazioni = gestioneStazioniController.ListaTutti();

            Assert.AreEqual(stazioni[0].Nome, "BolognaA1");
            Assert.AreEqual(stazioni[1].Nome, "BolognaA2");
        }
Exemple #6
0
 public void PulsanteAnnulla()
 {
     giocatoreDiturno.controller.AttivaPulsantiFineTurno();
     this.giocatoreDiturno = null;
     this.Terreno          = null;
     this.Societa          = null;
     this.Stazione         = null;
     schermata.SetActive(false);
 }
        public async Task <IActionResult> Create([Bind("IdNomeStazione,NomeStazione,IdLinea")] Stazione stazione)
        {
            if (ModelState.IsValid)
            {
                _context.Add(stazione);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdLinea"] = new SelectList(_context.Linee, "IdLinea", "NomeLinea", stazione.IdLinea);
            return(View(stazione));
        }
        public async Task <IActionResult> Post([FromBody]  Stazione stazione)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            stazione.IdNomeStazione = 0;
            _context.Stazioni.Add(stazione);
            await _context.SaveChangesAsync();

            return(Ok(stazione));
        }
Exemple #9
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (Tag != null ? Tag.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (int)Priorita;
         hashCode = (hashCode * 397) ^ (Messaggio != null ? Messaggio.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ Timestamp.GetHashCode();
         hashCode = (hashCode * 397) ^ (Stazione != null ? Stazione.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ Id.GetHashCode();
         return(hashCode);
     }
 }
Exemple #10
0
        public void TestLeggiEventiConFiltra()
        {
            Stazione stazione = new Stazione
            {
                Nome                   = "BolognaA1",
                Locazione              = "Bologna",
                IndirizzoDiRete        = IPAddress.Parse("10.56.77.233"),
                Porta                  = 5555,
                ImprontaChiavePubblica = "aksjdada8s7d8a6da78sdEEeewrR"
            };

            Assert.IsTrue(gestioneStazioniController.Registra(stazione));

            EventoSismico evento = new EventoSismico
            {
                Messaggio = "Magnitudo superata",
                Priorita  = Priorita.Fatal,
                Stazione  = stazione,
                Tag       = "Magnitudo",
                Timestamp = 1234
            };

            Assert.IsTrue(storicoController.RegistraEvento(evento));

            EventoSismico evento2 = new EventoSismico
            {
                Messaggio = "Frequenza superata",
                Priorita  = Priorita.Info,
                Stazione  = stazione,
                Tag       = "Frequenza",
                Timestamp = 1235
            };

            Assert.IsTrue(storicoController.RegistraEvento(evento2));

            Assert.AreEqual(storicoController.ListaEventi(new List <IFiltroEvento> {
                new FiltroCerca("quenza")
            }).Count, 1);
            Assert.AreEqual(storicoController.ListaEventi(new List <IFiltroEvento> {
                new FiltroCerca("superata")
            }).Count, 2);
            Assert.AreEqual(storicoController.ListaEventi(new List <IFiltroEvento> {
                new FiltroCerca("superata"), new FiltroPriorita(Priorita.Fatal)
            }).Count, 1);
            Assert.AreEqual(storicoController.ListaEventi(new List <IFiltroEvento> {
                new FiltroIntervalloDiTempo(10, 1300)
            }).Count, 2);
            Assert.AreEqual(storicoController.ListaEventi(new List <IFiltroEvento> {
                new FiltroTag("Magnitudo")
            }).Count, 1);
        }
Exemple #11
0
        public void TestValidaCertificato()
        {
            Stazione stazione = new Stazione
            {
                Nome                   = "BolognaA1",
                Locazione              = "Bologna",
                IndirizzoDiRete        = IPAddress.Parse("10.56.77.233"),
                Porta                  = 5555,
                ImprontaChiavePubblica = "aksjdada8s7d8a6da78sdEEeewrR"
            };

            // Lo registro, e verifico che adesso esiste
            Assert.IsTrue(gestioneStazioniController.Registra(stazione));
            Assert.AreEqual(gestioneStazioniController.Cerca("bolognaA1").Count, 1);

            Assert.IsFalse(gestioneStazioniController.ValidaCertificato("sbagliato"));
            Assert.IsTrue(gestioneStazioniController.ValidaCertificato("aksjdada8s7d8a6da78sdEEeewrR"));
        }
Exemple #12
0
        public void TestEliminaStazione()
        {
            Stazione stazione = new Stazione
            {
                Nome                   = "BolognaA1",
                Locazione              = "Bologna",
                IndirizzoDiRete        = IPAddress.Parse("10.56.77.233"),
                Porta                  = 5555,
                ImprontaChiavePubblica = "aksjdada8s7d8a6da78sdEEeewrR"
            };

            // Lo registro, e verifico che adesso esiste
            Assert.IsTrue(gestioneStazioniController.Registra(stazione));
            Assert.AreEqual(gestioneStazioniController.Cerca("bolognaA1").Count, 1);

            // Lo elimino
            Assert.IsTrue(gestioneStazioniController.Elimina(stazione));

            // Verifico che sia stata eliminato
            Assert.AreEqual(gestioneStazioniController.Cerca("bolognaA1").Count, 0);
        }
Exemple #13
0
        public void TestListaEventi()
        {
            Stazione stazione = new Stazione
            {
                Nome                   = "BolognaA1",
                Locazione              = "Bologna",
                IndirizzoDiRete        = IPAddress.Parse("10.56.77.233"),
                Porta                  = 5555,
                ImprontaChiavePubblica = "aksjdada8s7d8a6da78sdEEeewrR"
            };

            Assert.IsTrue(gestioneStazioniController.Registra(stazione));

            EventoSismico evento = new EventoSismico
            {
                Messaggio = "Magnitudo superata",
                Priorita  = Priorita.Fatal,
                Stazione  = stazione,
                Tag       = "Magnitudo",
                Timestamp = 1234
            };

            Assert.IsTrue(storicoController.RegistraEvento(evento));

            EventoSismico evento2 = new EventoSismico
            {
                Messaggio = "Frequenza superata",
                Priorita  = Priorita.Info,
                Stazione  = stazione,
                Tag       = "Frequenza",
                Timestamp = 1235
            };

            Assert.IsTrue(storicoController.RegistraEvento(evento2));

            IList <IEventoSismico> eventi = storicoController.ListaEventi();

            Assert.AreEqual(eventi[0], evento);
            Assert.AreEqual(eventi[1], evento2);
        }
Exemple #14
0
        static void Main(string[] args)
        {
            Stazione stazione = new Stazione
            {
                Nome                   = "BolognaA1",
                Locazione              = "Bologna",
                IndirizzoDiRete        = IPAddress.Parse("127.0.0.1"),
                Porta                  = 8001,
                ImprontaChiavePubblica = "E2C9153221FE658AFDCEBE095EE5D2392AF8C4AE"
            };

            if (File.Exists("test_client.db"))
            {
                File.Delete("test_client.db");
            }

            GestioneStazioniController stazioni = new GestioneStazioniController("test_client.db");

            stazioni.Registra(stazione);

            CreatoreConnessioni creatore       = new CreatoreConnessioni(stazioni);
            SorgenteFactory     factory        = new SorgenteFactory(creatore, null, null);
            ISorgente           sorgenteRemota = factory.NuovaSorgenteRemota(stazione, "tizio", "password");

            Thread threadSorgente = new Thread(() => sorgenteRemota.CicloPrincipale());

            threadSorgente.Start();

            //IAnalisi analisi = new AnalisiGrezza();
            //sorgenteRemota.AggiungiAnalisi(analisi);

            //IAnalisi magnitudo = new AnalisiMagnitudine();
            //sorgenteRemota.AggiungiAnalisi(magnitudo);

            //magnitudo.RicevitoriRisultato += valore => Console.WriteLine(valore);

            threadSorgente.Join();
        }
Exemple #15
0
        static void Main()
        {
            // Inizializzo il sensore
            ISensore sensore = new MockSensore();
            //ISensore sensore = new SensoreSeriale("COM10", 74880);
            //sensore.RicevitoriDatiSensore += dati => Console.WriteLine(String.Join(",", dati));

            // Creo il thread del sensore e lo avvio
            Thread threadSensore = new Thread(() => sensore.CicloPrincipale());

            threadSensore.Name = "Thread Sensore";
            threadSensore.Start();

            IGestioneStazioniController stazioniController = new GestioneStazioniController(PERCORSO_DATABASE);

            Stazione stazione = new Stazione
            {
                Nome                   = "BolognaA1",
                Locazione              = "Bologna",
                IndirizzoDiRete        = IPAddress.Parse("127.0.0.1"),
                Porta                  = 8001,
                ImprontaChiavePubblica = "E2C9153221FE658AFDCEBE095EE5D2392AF8C4AE"
            };

            /*
             * // Inizializzo il gestore delle stazioni
             *
             * IGestioneStazioniController stazioniController = new GestioneStazioniController(PERCORSO_DATABASE);
             * stazioniController.Registra(stazione);
             *
             * stazione.Nome = "ReggioEmiliaA1";
             * stazione.Locazione = "Reggio Emilia";
             * stazione.IndirizzoDiRete = IPAddress.Parse("10.1.45.230");
             * stazione.Porta = 5555;
             *
             * stazioniController.Registra(stazione);*/

            // Inizializzo il gestore utenti

            IGestioneUtentiController gestioneUtentiController = new GestioneUtentiController(PERCORSO_DATABASE);
            AutenticazioneController  autenticazioneController = new AutenticazioneController(gestioneUtentiController);

            // Aggiungo l'utente tizio
            Utente utente = new UtenteNormale
            {
                Nome        = "tizio",
                Cognome     = "caio",
                Email       = "*****@*****.**",
                LoginRemoto = true,
                Username    = "******"
            };

            utente.ImpostaPasswordDaOriginale("password");
            if (gestioneUtentiController.ValidaCredenziali("tizio", "password") == null)
            {
                gestioneUtentiController.Registra(utente);
            }

            EventoSismico evento = new EventoSismico
            {
                Messaggio = "Frequenza",
                Priorita  = Priorita.Fatal,
                Stazione  = stazione,
                Tag       = "Frequenza",
                Timestamp = 1234
            };
            IStoricoController storicoController = new StoricoController(PERCORSO_DATABASE);

            storicoController.RegistraEvento(evento);

            GestoreEventi gestoreEventi = new GestoreEventi(storicoController);

            gestoreEventi.RicevitoriEventoSismico += sismico => Console.WriteLine(sismico);

            // Avvio il server della stazione
            ServerStazione server = new ServerStazione(sensore, gestioneUtentiController, Sismio.CertificatoResource.certificato, "passwordsismio");

            server.IndirizzoServer = "127.0.0.1";  // TODO: cambiare con il proprio locale ( tipo 192.168.1.105 )
            server.Avvia();

            CreatoreConnessioni creatore = new CreatoreConnessioni(stazioniController);
            SorgenteFactory     factory  = new SorgenteFactory(creatore, sensore, gestoreEventi);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            Form loginForm = new Login(autenticazioneController, gestioneUtentiController, stazioniController, storicoController, factory, gestoreEventi);

            Application.Run(loginForm);
        }