/// <summary> /// Konstruktor koji se poziva kada se odabrani korisnik mijenja. /// </summary> /// <param name="korisnik">Korisnik koji se mijenja</param> /// <param name="id">ID trenutno prijavljenog korisnika</param> public frmDodajKorisnika(korisnik korisnik, int id) { InitializeComponent(); redakZaIzmjenu = korisnik; prijavljeniKorisnik = id; this.Text = "Izmjena korisnika"; }
/// <summary> /// Briše korisnika ako nema zapisa u dnevniku, a u suprotnom briše i zapise ukoliko je korisnik to potvrdio. /// </summary> /// <param name="korisnikBindingSource">Naziv vezanog izvora podataka</param> static public void IzbrisiKorisnika(BindingSource korisnikBindingSource) { korisnik korisnik = korisnikBindingSource.Current as korisnik; if (Izvjestaji.ProvjeriIzvjestaj(korisnik.id_korisnik)) { if (MessageBox.Show("Za ovog korisnika postoji izvještaj. Želite li obrisati i izvještaj?", "Upozorenje!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { Izvjestaji.IzbrisiIzvjestaj(korisnik.id_korisnik); using (var db = new EntitiesSettings()) { db.korisnik.Attach(korisnik); db.korisnik.Remove(korisnik); db.SaveChanges(); } MessageBox.Show("Uspješno ste izbrisali korisnika i njegov izvještaj.", "Uspjeh", MessageBoxButtons.OK, MessageBoxIcon.Information); PrikaziKorisnike(korisnikBindingSource); } } else { if (MessageBox.Show("Jeste li sigurni da želite obrisati ovog korisnika?", "Upozorenje!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { using (var db = new EntitiesSettings()) { db.korisnik.Attach(korisnik); db.korisnik.Remove(korisnik); db.SaveChanges(); } MessageBox.Show("Uspješno ste izbrisali korisnika.", "Uspjeh", MessageBoxButtons.OK, MessageBoxIcon.Information); PrikaziKorisnike(korisnikBindingSource); } } }
/// <summary> /// Na temelju LINQ upita pronalazi i proslijeđuje podatke izvještaju za odabranog korisnika. /// </summary> /// <param name="odabraniKorisnik">Korisnik odabran za ispis izvješća</param> /// <param name="rtvDnevnik">Pregledavač izvještaja na formi</param> static public void PrikaziIzvjestaj(korisnik odabraniKorisnik, ReportViewer rtvDnevnik) { korisnik korisnik = odabraniKorisnik; using (var db = new EntitiesSettings()) { var upit = (from p in db.promjena join k in db.korisnik on p.id_korisnik equals k.id_korisnik join l in db.plan on p.id_plan equals l.id_plan where p.id_korisnik == korisnik.id_korisnik select new { Korisnik = k.korisnicko_ime, Plan = l.naziv, Datum = p.datum, Radnja = p.radnja, Administrator = k.administrator }).ToList(); rtvDnevnik.LocalReport.DataSources.Clear(); ReportDataSource izvorPodataka = new ReportDataSource("dsIzvjestaj", upit); rtvDnevnik.LocalReport.DataSources.Add(izvorPodataka); rtvDnevnik.LocalReport.ReportEmbeddedResource = "oplan.rptDnevnik.rdlc"; rtvDnevnik.RefreshReport(); } }
private void btnIzvjestaj_Click(object sender, EventArgs e) { korisnik odabraniKorisnik = korisnikBindingSource.Current as korisnik; if (Izvjestaji.ProvjeriIzvjestaj(odabraniKorisnik.id_korisnik)) { frmDnevnik formaDnevnik = new frmDnevnik(odabraniKorisnik); formaDnevnik.ShowDialog(); } else { MessageBox.Show("Ovaj korisnik nema unosa u dnevniku rada.", "Izvještaj", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
/// <summary> /// Određuje naslov forme koja prikazuje izvještaj za određenog korisnika. /// </summary> /// <param name="korisnik">Odabrani korisnik</param> /// <returns>Tekst koji predstavlja naslov forme.</returns> public string IspisiNaslov(korisnik korisnik) { string naslovForme = "Dnevnik rada: "; if (korisnik.administrator == "Da") { naslovForme += "Administrator "; } else { naslovForme += "Korisnik "; } return(naslovForme + korisnik.korisnicko_ime); }
/// <summary> /// Provjerava postoji li korisničko ime u bazi podataka. /// </summary> /// <param name="korisnickoIme">Korisničko ime u tekstualnom obliku.</param> ///<returns>True ako korisničko ime postoji, false ako ne postoji.</returns> static public bool ProvjeriKorisnickoIme(string korisnickoIme) { using (var db = new EntitiesSettings()) { korisnik = (from k in db.korisnik where k.korisnicko_ime == korisnickoIme select k).FirstOrDefault <korisnik>(); if (korisnik == null) { return(false); } else { return(true); } } }
private void btnSpremi_Click(object sender, EventArgs e) { string administrator = ""; if (rdbDa.Checked == true) { administrator = "Da"; } else { administrator = "Ne"; } if (string.IsNullOrEmpty(txtKorime.Text) && string.IsNullOrEmpty(txtLozinka.Text)) { MessageBox.Show("Polja su prazna!", "Pogreška", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { string poruka = ProvjeraUnosa.ProvjeriOblik(txtKorime.Text, txtLozinka.Text); if (poruka != null) { MessageBox.Show(poruka, "Pogreška", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (redakZaIzmjenu == null) { if (!ProvjeraKorisnika.ProvjeriKorisnickoIme(txtKorime.Text)) { using (var db = new EntitiesSettings()) { korisnik korisnik = new korisnik { korisnicko_ime = txtKorime.Text, lozinka = txtLozinka.Text, administrator = administrator }; db.korisnik.Add(korisnik); db.SaveChanges(); } MessageBox.Show("Uspješno ste dodali korisnika.", "Uspjeh", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else { MessageBox.Show("Korisničko ime već postoji!", "Pogreška", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { if (ProvjeraKorisnika.ProvjeriKorisnickoIme(txtKorime.Text) && redakZaIzmjenu.korisnicko_ime != txtKorime.Text) { MessageBox.Show("Korisničko ime već postoji!", "Pogreška", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { using (var db = new EntitiesSettings()) { db.korisnik.Attach(redakZaIzmjenu); redakZaIzmjenu.korisnicko_ime = txtKorime.Text; redakZaIzmjenu.lozinka = txtLozinka.Text; redakZaIzmjenu.administrator = administrator; db.SaveChanges(); } MessageBox.Show("Uspješno ste izmijenili korisnika.", "Uspjeh", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } }
/// <summary> /// Konstruktor u kojem se proslijeđuje korisnik odabran za ispis dnevnika rada. /// </summary> /// <param name="trenutniKorisnik">Korisnik koji je odabran za ispis</param> public frmDnevnik(korisnik trenutniKorisnik) { InitializeComponent(); odabraniKorisnik = trenutniKorisnik; this.Text = IspisiNaslov(odabraniKorisnik); }