Exemplo n.º 1
0
        /// <summary>
        /// Metoda koja zapisuje poruku u bazu podataka - potreno je izvršiti 2 upita - jedan na tablici EnkriptiraniPaket, a drugi
        /// na tablici Poruka - tada je poruka usješno zapisana u bazu podataka.
        /// </summary>
        /// <param name="connection"></param>
        /// <returns></returns>
        public string ZapisiPorukuUBazu(SqlConnection connection)
        {
            string rezultat = "";
            int    idEnkriptiraniPaket;

            var command = new SqlCommand();

            command.Connection  = connection;
            command.CommandType = CommandType.Text;
            command.CommandText = "INSERT INTO EnkriptiraniPaket(EnkriptiraniKljuc,EnkriptiraniPodaci,Iv) OUTPUT INSERTED.Id VALUES (@EnkriptiraniKljuc,@EnkriptiraniPodaci,@Iv)";
            command.Parameters.AddWithValue("@EnkriptiraniKljuc", Paket.EnkriptiraniKljuc);
            command.Parameters.AddWithValue("@EnkriptiraniPodaci", Paket.EnkriptiraniPodaci);
            command.Parameters.AddWithValue("@Iv", Paket.Iv);
            idEnkriptiraniPaket = (int)command.ExecuteScalar();

            command             = new SqlCommand();
            command.Connection  = connection;
            command.CommandType = CommandType.Text;
            command.CommandText = "INSERT INTO Poruka(Posiljatelj,Primatelj,DatumSlanja,IdPaketa) VALUES (@Posiljatelj,@Primatelj,@DatumSlanja,@IdPaketa)";
            command.Parameters.AddWithValue("@Posiljatelj", Posiljatelj);
            command.Parameters.AddWithValue("@Primatelj", Primatelj);
            command.Parameters.AddWithValue("@DatumSlanja", DatumSlanja);
            command.Parameters.AddWithValue("@IdPaketa", idEnkriptiraniPaket);
            command.ExecuteNonQuery();

            UspjehSlanjaPoruke uspjeh = new UspjehSlanjaPoruke("DA");

            rezultat = JsonPretvarac.Serijalizacija(uspjeh);
            return(rezultat);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Event handler koji se aktivira prilikom klika na gumb Enkriptiraj i Pošalji. Poruci se pridružuje primatelj, pošiljatelj
        /// te datum slanja zajedno sa sadrzajem. Sa pomoću javnoga ključa formira se enkripcijski paket poruke te se takva poruka šalje
        /// prema serveru. Čeka se odgovor servera koji predstavlja Uspjeh Slanja Poruke - je li poruka poslana ili nije.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gumbPosalji_Click(object sender, EventArgs e)
        {
            string sadrzaj;
            string javniKljuc;

            klijent = new TcpKlijent();
            Poruka novaPoruka = new Poruka();

            novaPoruka.Posiljatelj = prijavljeniKorisnik.Username;
            novaPoruka.Primatelj   = odabirUsername.Text;
            novaPoruka.DatumSlanja = DateTime.Now;
            sadrzaj    = unosSadrzaj.Text;
            javniKljuc = novaLista.Korisnici.Where(i => i.Username == novaPoruka.Primatelj).Select(p => p.JavniKljuc).First();
            novaPoruka.FormirajEnkripcijskiPaket(sadrzaj, javniKljuc);

            klijent.PosaljiServeru(novaPoruka, "PosaljiPoruku");
            uspjeh = (UspjehSlanjaPoruke)klijent.PrimiOdServera();
            if (uspjeh.PorukaPoslana == "DA")
            {
                prikazLog.Text += "Vrijeme: " + DateTime.Now.ToString() + " - Poruka poslana" + Environment.NewLine;
            }
            else
            {
                prikazLog.Text += "Vrijeme: " + DateTime.Now.ToString() + " - Poruka nije poslana" + Environment.NewLine;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Deserijalizacija json stringa u pripadajući objekt klase
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public static object Deserijalizacija(string json)
        {
            object izlaz    = 0;
            string noviJson = IzbaciTipPoruke(json);
            string tipKlase = Parsiranje(noviJson, "Tip");

            if (tipKlase == "Korisnik")
            {
                Korisnik osoba = JsonConvert.DeserializeObject <Korisnik>(noviJson);
                izlaz = osoba;
            }

            if (tipKlase == "UspjehRegistracije")
            {
                UspjehRegistracije uspjeh = JsonConvert.DeserializeObject <UspjehRegistracije>(noviJson);
                izlaz = uspjeh;
            }

            if (tipKlase == "ListaKorisnika")
            {
                ListaKorisnika lista = JsonConvert.DeserializeObject <ListaKorisnika>(noviJson);
                izlaz = lista;
            }

            if (tipKlase == "Poruka")
            {
                Poruka poruka = JsonConvert.DeserializeObject <Poruka>(noviJson);
                izlaz = poruka;
            }

            if (tipKlase == "UspjehSlanjaPoruke")
            {
                UspjehSlanjaPoruke uspjeh = JsonConvert.DeserializeObject <UspjehSlanjaPoruke>(noviJson);
                izlaz = uspjeh;
            }

            if (tipKlase == "ListaPoruka")
            {
                ListaPoruka poruke = JsonConvert.DeserializeObject <ListaPoruka>(noviJson);
                izlaz = poruke;
            }

            if (tipKlase == "AdminMail")
            {
                AdminMail mail = JsonConvert.DeserializeObject <AdminMail>(noviJson);
                izlaz = mail;
            }

            return(izlaz);
        }