/// <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); }
/// <summary> /// Metoda koja šalje svim korisnicima aplikacije adminski mail - mail vezan uz aplikaciju. Prvo se dohvaćaju /// svi mailovi iz baze podataka te se zatim salje mail svim korisnicima /// </summary> /// <param name="connection"></param> /// <param name="adminMail"></param> /// <returns></returns> public static string PosaljiAdminMail(SqlConnection connection, AdminMail adminMail) { List <string> emailovi = new List <string>(); string rezultat = ""; var command = new SqlCommand(); command.Connection = connection; command.CommandType = CommandType.Text; command.CommandText = "SELECT Email from Korisnik"; using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { emailovi.Add(reader["Email"].ToString()); } } var client = new SmtpClient("smtp.gmail.com", 587) { Credentials = new NetworkCredential("*****@*****.**", "crypto2101pi#"), EnableSsl = true }; MailMessage msg = new MailMessage(); msg.Subject = "Admin Poruka - Crypto Aplikacija"; msg.Body = adminMail.Sadrzaj; msg.From = new MailAddress("*****@*****.**"); foreach (var item in emailovi) { msg.To.Add(item); } try { client.Send(msg); adminMail.Status = 1; } catch { adminMail.Status = 0; } rezultat = JsonPretvarac.Serijalizacija(adminMail); return(rezultat); }
/// <summary> /// Event Handler koji se aktivira kada se klikne na gumb Pošalji, tj. kada se posalje adminska poruka na server /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void gumbPosalji_Click(object sender, EventArgs e) { mail = new AdminMail(); mail.Sadrzaj = unosPoruka.Text; try { klijent = new TcpKlijent(); klijent.PosaljiServeru(mail, "AdminMail"); mail = (AdminMail)klijent.PrimiOdServera(); if (mail.Status == 1) { prikazLog.Text += "Vrijeme: " + DateTime.Now + " -> Poruka poslana!" + Environment.NewLine; } else { prikazLog.Text += "Vrijeme: " + DateTime.Now + " -> Poruka nije poslana. Pokušajte kasnije!" + Environment.NewLine; } } catch { return; } }