/// <summary> /// Sprema ili ažurira zapis o djelatniku u bazi /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UiActionSpremi_Click(object sender, EventArgs e) { if (this.DjelatnikZaIzmjenu == null) { DataLayer.Djelatnik novi = new DataLayer.Djelatnik() { Ime = unosIme.Text, Prezime = unosPrezime.Text, Email = unosEmail.Text, Lozinka = Kriptiranje.NapraviHash(unosLozinka.Text), BrojTelefona = unosTelefon.Text }; DjelatniciRepozitorij.Spremi(novi); Close(); } else { DjelatnikZaIzmjenu.Ime = unosIme.Text; DjelatnikZaIzmjenu.Prezime = unosPrezime.Text; DjelatnikZaIzmjenu.Email = unosEmail.Text; DjelatnikZaIzmjenu.Lozinka = unosLozinka.Text; DjelatnikZaIzmjenu.BrojTelefona = unosTelefon.Text; DjelatniciRepozitorij.Azuriraj(DjelatnikZaIzmjenu); Close(); } }
/// <summary> /// Sprema proslijeđeni zapis o djelatniku u bazu /// </summary> /// <param name="novo"></param> /// <returns>Spremljeni zapis</returns> public static Djelatnik Spremi(Djelatnik novo) { using (var db = new PoljoAppEntities()) { db.Djelatnik.Add(novo); db.SaveChanges(); return(novo); } }
/// <summary> /// Briše označeni zapis /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UiActionIzbrisi_Click(object sender, EventArgs e) { DataLayer.Djelatnik zaBrisanje = djelatnikBindingSource.Current as DataLayer.Djelatnik; if (MessageBox.Show("Jeste li ste sigurni da želite obrisati djelatnika?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { if (!DjelatniciRepozitorij.Izbrisi(zaBrisanje)) { MessageBox.Show("Zapis je nemoguće obrisati jer je djelatnik obavljao prskanje!"); } } }
/// <summary> /// Inicijalizira komponentu i postavlja početne vrijednosti kontrola prema ulaznom parametru /// </summary> /// <param name="azuriraj"></param> public UnosDjelatnika(DataLayer.Djelatnik azuriraj) { InitializeComponent(); DjelatnikZaIzmjenu = azuriraj; unosLozinka.Enabled = false; vidljivostLozinke.Visible = false; unosEmail.Text = DjelatnikZaIzmjenu.Email; unosIme.Text = DjelatnikZaIzmjenu.Ime; unosPrezime.Text = DjelatnikZaIzmjenu.Prezime; unosTelefon.Text = DjelatnikZaIzmjenu.BrojTelefona; ispisID.Text = "ID:" + DjelatnikZaIzmjenu.Id; }
/// <summary> /// Ažurira proslijeđeni zapis u bazi /// </summary> /// <param name="zaIzmjenu"></param> public static void Azuriraj(Djelatnik zaIzmjenu) { using (var db = new PoljoAppEntities()) { Djelatnik mijenjaj = db.Djelatnik.Find(zaIzmjenu.Id); mijenjaj.Ime = zaIzmjenu.Ime; mijenjaj.Prezime = zaIzmjenu.Prezime; mijenjaj.Lozinka = zaIzmjenu.Lozinka; mijenjaj.Email = zaIzmjenu.Email; mijenjaj.BrojTelefona = zaIzmjenu.BrojTelefona; db.SaveChanges(); } }
/// <summary> /// Provjerava postojanje korisnika u bazi na temelju ulaznih parametara /// </summary> /// <param name="email"></param> /// <param name="lozinka"></param> /// <returns>Zapis o korisniku u slučaju uspješne prijave, u suprotnom vraća null</returns> public static Djelatnik Prijava(string email, string lozinka) { using (var db = new PoljoAppEntities()) { Djelatnik korisnik = db.Djelatnik.Where(k => k.Email == email && k.Lozinka == lozinka).FirstOrDefault(); if (korisnik != null) { return(korisnik); } else { return(null); } } }
/// <summary> /// Briše proslijeđenog djelatnika iz baze /// </summary> /// <param name="zaBrisanje"></param> public static bool Izbrisi(Djelatnik zaBrisanje) { using (var db = new PoljoAppEntities()) { db.Djelatnik.Attach(zaBrisanje); if (zaBrisanje.Prskanje.Count > 0) { return(false); } else { db.Djelatnik.Remove(zaBrisanje); db.SaveChanges(); return(true); } } }
/// <summary> /// Bilježi prijavljenog korisnika i pokreće timer za dohvaćanje vremena /// </summary> /// <param name="prijava"></param> public PoljoApp(DataLayer.Djelatnik prijava) { InitializeComponent(); Korisnik = prijava; if (Korisnik.Admin == 1) { uiUpravljanje.Visible = true; } OborineTimer = new Timer { Interval = this.Interval * 60 * 1000 }; OborineTimer.Tick += OborineTimer_Tick; OborineTimer.Start(); this.KeyPreview = true; this.KeyDown += new KeyEventHandler(PoljoApp_KeyDown); }