/// <summary> /// Metoda koja prihvaća username i status korisnika kojem se želi promijeniti status u otključani ili zaključani račun. /// Šalje odgovarajuće podatke prema serveru te će se na serveru izvršiti sama promjena statusa. /// </summary> /// <param name="username"></param> /// <param name="status"></param> private void PromijeniStatus(string username, string status) { korisnik = new Korisnik(); korisnik.Username = username; if (status == "Otključan") { korisnik.Status = 0; } else { korisnik.Status = 1; } klijent = new TcpKlijent(); klijent.PosaljiServeru(korisnik, "OtkljucajZakljucaj"); listaKorisnika = (ListaKorisnika)klijent.PrimiOdServera(); tablicaKorisnici.Rows.Clear(); tablicaKorisnici.Refresh(); for (int i = 0; i < listaKorisnika.Korisnici.Count; i++) { korisnik = listaKorisnika.Korisnici[i]; int rowIndex = tablicaKorisnici.Rows.Add(korisnik.Username, korisnik.Ime, korisnik.Prezime, korisnik.DohvatiStatus()); } }
/// <summary> /// Metoda koja dohvaća korisnike aplikacije kako bi im se mogla poslati datoteka /// </summary> private void DohvatiKorisnike() { listaKorisnika = new ListaKorisnika(); klijent = new TcpKlijent(); klijent.PosaljiServeru(listaKorisnika, "DohvatiKorisnike"); listaKorisnika = (ListaKorisnika)klijent.PrimiOdServera(); odabirKorisnik.DataSource = listaKorisnika.IzdvojiKorisnickaImena(); odabirKorisnik.AutoCompleteSource = AutoCompleteSource.ListItems; }
/// <summary> /// Konstruktor forme SlanjePoruka - prilikom inicijalizacije forme dohvaća se lista korisnika aplikacije /// </summary> /// <param name="glavna"></param> /// <param name="korisnik"></param> public SlanjePoruka(Form1 glavna, Korisnik korisnik) { InitializeComponent(); Dizajner.FormaBezOkna(this); glavnaForma = glavna; prijavljeniKorisnik = korisnik; klijent = new TcpKlijent(); novaLista = new ListaKorisnika(); klijent.PosaljiServeru(novaLista, "DohvatiKorisnike"); novaLista = (ListaKorisnika)klijent.PrimiOdServera(); odabirUsername.DataSource = novaLista.IzdvojiKorisnickaImena(); }
/// <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 dohvaća korisnike i prikazuje ih u tablicki korisnika te admin može mijenjati status računa pojedinog korisnika /// </summary> private void DohvatiKorisnike() { klijent = new TcpKlijent(); listaKorisnika = new ListaKorisnika(); klijent.PosaljiServeru(listaKorisnika, "DohvatiKorisnike"); listaKorisnika = (ListaKorisnika)klijent.PrimiOdServera(); tablicaKorisnici.Rows.Clear(); tablicaKorisnici.Refresh(); for (int i = 0; i < listaKorisnika.Korisnici.Count; i++) { korisnik = listaKorisnika.Korisnici[i]; int rowIndex = tablicaKorisnici.Rows.Add(korisnik.Username, korisnik.Ime, korisnik.Prezime, korisnik.DohvatiStatus()); } }
/// <summary> /// Metoda koja ažurira status korisnika u bazi podataka na temelju poslanih podataka od strane klijenta /// </summary> /// <param name="connection"></param> /// <param name="korisnik"></param> /// <returns></returns> public static string PromijeniStatusKorisnika(SqlConnection connection, Korisnik korisnik) { string rezultat = ""; var command = new SqlCommand(); command.Connection = connection; command.CommandType = CommandType.Text; command.CommandText = "UPDATE Korisnik SET Status = @Status WHERE Username=@Username"; command.Parameters.AddWithValue("@Status", korisnik.Status); command.Parameters.AddWithValue("@Username", korisnik.Username); command.ExecuteNonQuery(); listaKorisnika = new ListaKorisnika(); rezultat = listaKorisnika.DohvatiKorisnike(connection); return(rezultat); }