/// <summary> /// Funkcija služi za spremanje novog korisnika u bazu. /// Provjerava jesu li popunjena sva polja, ako jesu provjerava je li korisničko ime /// različito od korisničkih imena u bazi, ako je i taj uvjet zadovoljen /// u bazu se sprema novi korisnik. /// </summary> private void uiActionUnos_Click(object sender, EventArgs e) { if (uiInputIme.Text != "" && uiInputPrezime.Text != "" && uiInputKorisnickoIme.Text != "" && uiInputLozinka.Text != "" && uiInputUloga.SelectedValue != null && uiInputBrojSobe.SelectedValue != null) { bool postojeceKorisnickoIme = false; korisnik noviKorisnik = new korisnik(); noviKorisnik.ime = uiInputIme.Text; noviKorisnik.prezime = uiInputPrezime.Text; noviKorisnik.sobaId = int.Parse(uiInputBrojSobe.SelectedValue.ToString()); noviKorisnik.ulogaId = int.Parse(uiInputUloga.SelectedValue.ToString()); noviKorisnik.korisnickoIme = uiInputKorisnickoIme.Text; noviKorisnik.lozinka = uiInputLozinka.Text; BindingList <korisnik> listaKorisnika = null; using (var db = new MSDomEntities()) { listaKorisnika = new BindingList <korisnik>(db.korisniks.ToList()); } foreach (var item in listaKorisnika) { if (noviKorisnik.korisnickoIme == item.korisnickoIme) { postojeceKorisnickoIme = true; } } if (!postojeceKorisnickoIme) { soba sobaZaPovecanjeZauzetosti = null; using (var db = new MSDomEntities()) { BindingList <soba> listaSoba = new BindingList <soba>(db.sobas.ToList()); foreach (var item in listaSoba) { if (item.id == noviKorisnik.sobaId) { sobaZaPovecanjeZauzetosti = item; } } db.sobas.Attach(sobaZaPovecanjeZauzetosti); sobaZaPovecanjeZauzetosti.brojPopunjenihKreveta++; db.korisniks.Add(noviKorisnik); db.SaveChanges(); } Close(); } else { MessageBox.Show("Korisničko ime je zauzeto."); } } else { MessageBox.Show("Niste unijeli sve podatke"); } }
private void uiActionPredbilježi_Click(object sender, EventArgs e) { korisnik korisnikZaUpdate = null; using (var db = new MSDomEntities()) { var idPredbilj = from od in db.korisniks where (od.id == PrijavljeniKorisnik.id) select od.id; BindingList <korisnik> lista = new BindingList <korisnik>(db.korisniks.ToList()); if (idPredbilj.ToList().Count > 0) { foreach (var item in lista) { if (item.id == PrijavljeniKorisnik.id) { if (item.predbilježbaDo != null && item.predbilježbaOd != null) { DialogResult dialog = MessageBox.Show("Ovi podaci već postoje. Želite li ih ažurirati?", "Upozorenje", MessageBoxButtons.YesNo); if (dialog == DialogResult.Yes) { korisnikZaUpdate = item; } else if (dialog == DialogResult.No) { break; } } else { korisnikZaUpdate = item; } } } if (korisnikZaUpdate != null) { db.korisniks.Attach(korisnikZaUpdate); DateTime vrijOd = uiVrijemePredbilježbeOd.Value; TimeSpan tsVrijOd = vrijOd.TimeOfDay; DateTime vrijDo = uiVrijemePredbilježbeDo.Value; TimeSpan tsVrijDo = vrijDo.TimeOfDay; korisnikZaUpdate.predbilježbaOd = tsVrijOd; korisnikZaUpdate.predbilježbaDo = tsVrijDo; db.SaveChanges(); MessageBox.Show("Uspješno uneseno u bazu!", "Uneseni podaci"); } } } }
/// <summary> /// Metoda DohvatiKorisnika() dohvaća korisnika koji ima id jednak prosljeđenom id-u te /// njegovim podacima popunjava polja za unos. /// </summary> private void DohvatiKorisnika() { BindingList <korisnik> listaKorisnika = null; BindingList <soba> listaSoba = null; BindingList <uloga> listaUloga = null; using (var db = new MSDomEntities()) { listaKorisnika = new BindingList <korisnik>(db.korisniks.ToList()); listaSoba = new BindingList <soba>(db.sobas.ToList()); listaUloga = new BindingList <uloga>(db.ulogas.ToList()); } uiInputBrojSobe.DataSource = listaSoba; uiInputUloga.DataSource = listaUloga; foreach (var item in listaKorisnika) { if (item.id == prosljedeniId) { prosljedeniKorisnik = item; uiInputID.Text = item.id.ToString(); uiInputIme.Text = item.ime; uiInputPrezime.Text = item.prezime; for (int i = 0; i < listaSoba.Count; i++) { if (listaSoba[i].id == item.sobaId) { uiInputBrojSobe.SelectedIndex = i; } } for (int i = 0; i < listaUloga.Count; i++) { if (listaUloga[i].id == item.ulogaId) { uiInputUloga.SelectedIndex = i; } } uiInputKorisnickoIme.Text = item.korisnickoIme; uiInputLozinka.Text = item.lozinka; } } }