/// <summary> /// Spremanje podataka iz polja, ako je novi korisnik kreira se objekt podacima iz polja, /// lozinka se pretvara u hash oblika pomoću metode Hash iz HashKlase dll-a Hash, /// kreira se zapis lozinke u čitljivom obliku u xml datoteci /// Ako je izmjena nova lozinka se hash-ira i sprema se izmjenjena lozinka u čitljivom obliku u xml /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void spremiButton_Click(object sender, EventArgs e) { if (odabraniKorisnik == null) { using (var db = new UpravljanjeKorisnicimaEntities()) { Korisnik noviKorisnik = new Korisnik { ime = tboxIme.Text, prezime = tboxPrezime.Text, korisnicko_ime = tboxKorime.Text, lozinka = HashKlasa.Hash(tboxLozinka.Text), tip_korisnikaId = int.Parse(cboxTip.SelectedValue.ToString()) }; db.Korisnik.Add(noviKorisnik); db.SaveChanges(); } kreirajZapis(tboxKorime.Text, tboxLozinka.Text); } else { using (var db = new UpravljanjeKorisnicimaEntities()) { db.Korisnik.Attach(odabraniKorisnik); odabraniKorisnik.ime = tboxIme.Text; odabraniKorisnik.prezime = tboxPrezime.Text; odabraniKorisnik.lozinka = HashKlasa.Hash(tboxLozinka.Text); odabraniKorisnik.korisnicko_ime = tboxKorime.Text; odabraniKorisnik.tip_korisnikaId = int.Parse(cboxTip.SelectedValue.ToString()); db.SaveChanges(); } spremiLozinku(staroKorime, tboxLozinka.Text, tboxKorime.Text); } MessageBox.Show("Uspješno dodan korisnik"); }
/// <summary> /// Provjerava se ako je označen korisnik, javlja se poruka upozorenja, briše se korisnik /// ako referencijalni integritet baze to dopušta /// uz try catch hvata se iznimka baze ako se ne može brisati /// osvježava se datagridview /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void obrisiButton_Click(object sender, EventArgs e) { Korisnik selektiraniKorisnik = korisnikBindingSource.Current as Korisnik; if (selektiraniKorisnik != null) { if (MessageBox.Show("Da li ste sigurni?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { using (var db = new UpravljanjeKorisnicimaEntities()) { db.Korisnik.Attach(selektiraniKorisnik); db.Korisnik.Remove(selektiraniKorisnik); try { db.SaveChanges(); } catch (Exception) { MessageBox.Show("Nije moguće obrisati korisnika koji se koristi"); } } PrikaziKorisnike(); MessageBox.Show("Uspješno obrisan korisnik"); } } }
/// <summary> /// Metoda za prikazivanje korisnika, dohvaća i tipove korisnika za prikazivanje imena umjesto id-a /// </summary> private void PrikaziKorisnike() { BindingList <Korisnik> listaKorisnika = null; BindingList <Tip_korisnika> listaTipova = new BindingList <Tip_korisnika>(); using (var db = new UpravljanjeKorisnicimaEntities()) { listaKorisnika = new BindingList <Korisnik>(db.Korisnik.ToList()); foreach (Korisnik kor in listaKorisnika) { listaTipova.Add(kor.Tip_korisnika); } } korisnikBindingSource.DataSource = listaKorisnika; tipkorisnikaBindingSource.DataSource = listaTipova; }
/// <summary> /// Ako se radi o izmjeni, polja se pune podacima označenog korisnika, /// lozinka se dohvaća pomoću metode dohvatiLozinku, sprema se staro korisničko ime, /// za ažuriranje xml datoteke /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void NoviKorisnikForm_Load(object sender, EventArgs e) { BindingList <Tip_korisnika> listaTipova = null; using (var db = new UpravljanjeKorisnicimaEntities()) { listaTipova = new BindingList <Tip_korisnika>(db.Tip_korisnika.ToList()); } tipkorisnikaBindingSource.DataSource = listaTipova; if (odabraniKorisnik != null) { tboxIme.Text = odabraniKorisnik.ime; tboxKorime.Text = odabraniKorisnik.korisnicko_ime; tboxPrezime.Text = odabraniKorisnik.prezime; tboxLozinka.Text = dohvatiLozinku(odabraniKorisnik.korisnicko_ime); cboxTip.Text = odabraniKorisnik.Tip_korisnika.naziv; staroKorime = odabraniKorisnik.korisnicko_ime; } }
/// <summary> /// Izmjenom teksta u polju za pretraživanje prikazuju se samo korisnici /// čiji naziv paše pretrazi /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tboxPretrazi_TextChanged(object sender, EventArgs e) { BindingList <Korisnik> listaKorisnika = null; BindingList <Korisnik> bindingListaKorisnika = new BindingList <Korisnik>(); BindingList <Tip_korisnika> listaTipova = new BindingList <Tip_korisnika>(); using (var db = new UpravljanjeKorisnicimaEntities()) { listaKorisnika = new BindingList <Korisnik>(db.Korisnik.ToList()); foreach (Korisnik kor in listaKorisnika) { if (kor.ime.ToLower().Contains(tboxPretrazi.Text)) { bindingListaKorisnika.Add(kor); listaTipova.Add(kor.Tip_korisnika); } } } korisnikBindingSource.DataSource = bindingListaKorisnika; tipkorisnikaBindingSource.DataSource = listaTipova; }