/// <summary> /// Event handler koji se aktivira prilikom klika na gumb za registraciju, šalju se uneseni podaci prema serveru, čeka /// se na odgovor servera. Postoje 2 slučaja u odgovoru - postojeći korisnik - ostajemo na registracijskoj formi te /// neposotojeći korisnik (može se registrirati) - povratak na login formu /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void gumbRegistracija_Click(object sender, EventArgs e) { if (ValidateForm() == true) { Korisnik registrirani = new Korisnik(); Korisnik trenutni = new Korisnik(); PridruziPodatkeKorisniku(trenutni); TcpKlijent klijent = new TcpKlijent(); klijent.PosaljiServeru(trenutni, "REGISTRACIJA"); UspjehRegistracije uspjeh = new UspjehRegistracije(); uspjeh = (UspjehRegistracije)klijent.PrimiOdServera(); if (uspjeh.PotvrdaKorisnika == 0) { MessageBox.Show("Korisnik već postoji, odaberite drugo korisničko ime"); } else { glavnaForma.NotifyMe(registrirani); //odi na login formu } } else { MessageBox.Show("Postoje neispravni podaci na formi - provjerite ih!"); } }
/// <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> /// Funkcija registrira korisnika u bazu podataka i vraća JSON(string) o uspješnosti registracije /// </summary> /// <param name="connection"></param> /// <returns></returns> public string RegistrirajKorisnika(SqlConnection connection) { string rezultat; int tip_korisnika = 1; UspjehRegistracije uspjeh = new UspjehRegistracije(); uspjeh.PotvrdaKorisnika = 1; if (TipKorisnika == "Korisnik") { tip_korisnika = 2; } var command = new SqlCommand(); command.Connection = connection; command.CommandType = CommandType.Text; command.CommandText = "INSERT into Korisnik (Username, Password, Ime, Prezime, Email, BrojTelefona, DatumRodjenja, Status, TipKorisnika) VALUES(@Username, @Password, @Ime, @Prezime, @Email, @BrojTelefona, @DatumRodjenja, @Status, @tip_korisnika)"; command.Parameters.AddWithValue("@Username", Username); command.Parameters.AddWithValue("@Password", Password); command.Parameters.AddWithValue("@Ime", Ime); command.Parameters.AddWithValue("@Prezime", Prezime); command.Parameters.AddWithValue("@Email", Email); command.Parameters.AddWithValue("@BrojTelefona", BrojTelefona); command.Parameters.AddWithValue("@DatumRodjenja", DatumRodjenja); command.Parameters.AddWithValue("@Status", Status); command.Parameters.AddWithValue("@tip_korisnika", tip_korisnika); try { command.ExecuteNonQuery(); ZapisiKljuceveUBazu(connection); } catch (SqlException ex) { Console.WriteLine(ex); uspjeh.PotvrdaKorisnika = 0; } rezultat = JsonPretvarac.Serijalizacija(uspjeh); return(rezultat); }