/// <summary> /// Sprema i ažurira podatke o prskanju u bazi /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UiActionSpremi_Click(object sender, EventArgs e) { if (this.NavodnjavanjeZaIzmjenu == null && Validiraj()) { DataLayer.Navodnjavanje novo = new DataLayer.Navodnjavanje() { IdPovrsina = (int)izborPovrsine.SelectedValue, Datum = izborDatum.Value, KolicinaVode = int.Parse(unosKolicinaVode.Text), IdStanja = (int)izborVrsta.SelectedValue }; NavodnjavanjeRepozitorij.Spremi(novo); Close(); } else if (this.NavodnjavanjeZaIzmjenu != null && Validiraj()) { NavodnjavanjeZaIzmjenu.IdPovrsina = (int)izborPovrsine.SelectedValue; NavodnjavanjeZaIzmjenu.Datum = izborDatum.Value; NavodnjavanjeZaIzmjenu.KolicinaVode = decimal.Parse(unosKolicinaVode.Text); NavodnjavanjeZaIzmjenu.IdStanja = (int)izborVrsta.SelectedValue; NavodnjavanjeRepozitorij.Azuriraj(NavodnjavanjeZaIzmjenu); Close(); } else { MessageBox.Show("Uneseni podaci nisu ispravni! Pokušajte ponovno i odaberite jednu od ponuđenih vrijednosti.", "Pogrešan unos", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
/// <summary> /// Otvara formu za ažuriranje navodnjavanje i osvježava prikaz tablice /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UiActionAzuiraj_Click(object sender, EventArgs e) { DataLayer.Navodnjavanje zaIzmjenu = DohvatiOznacenoNavodnjavanje(navodnjavanjeViewBindingSource); UnosNavodnjavanja azuriraj = new UnosNavodnjavanja(zaIzmjenu); azuriraj.ShowDialog(); PrikaziNavodnjavanje(); }
/// <summary> /// Sprema proslijeđeni zapis o navodnjavanju u bazu /// </summary> /// <param name="novo"></param> /// <returns>Spremljeni zapis</returns> public static Navodnjavanje Spremi(Navodnjavanje novo) { using (var db = new PoljoAppEntities()) { db.Navodnjavanje.Add(novo); db.SaveChanges(); return(novo); } }
/// <summary> /// Proslijeđena oborina se ne prihvaća /// </summary> /// <param name="zaIzmjenu"></param> public static void OdbijOborinu(Navodnjavanje zaIzmjenu) { using (var db = new PoljoAppEntities()) { db.Navodnjavanje.Attach(zaIzmjenu); zaIzmjenu.IdStanja = 4; db.SaveChanges(); } }
/// <summary> /// Briše proslijeđeni zapis o navodnjavanju iz baze /// </summary> /// <param name="zaBrisanje"></param> public static void Izbrisi(Navodnjavanje zaBrisanje) { using (var db = new PoljoAppEntities()) { db.Navodnjavanje.Attach(zaBrisanje); db.Navodnjavanje.Remove(zaBrisanje); db.SaveChanges(); } }
/// <summary> /// Briše označeno navodnjavanje iz baze /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UiActionIzbrisi_Click(object sender, EventArgs e) { DataLayer.Navodnjavanje zaBrisanje = DohvatiOznacenoNavodnjavanje(navodnjavanjeViewBindingSource); if (MessageBox.Show("Jeste li ste sigurni da želite obrisati navodnjavanje?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { NavodnjavanjeRepozitorij.Izbrisi(zaBrisanje); } PrikaziNavodnjavanje(); }
/// <summary> /// Ažurira proslijeđeni zapis o navodnjavanju u bazi /// </summary> /// <param name="zaIzmjenu"></param> public static void Azuriraj(Navodnjavanje zaIzmjenu) { using (var db = new PoljoAppEntities()) { Navodnjavanje mijenjaj = db.Navodnjavanje.Find(zaIzmjenu.Id); mijenjaj.IdPovrsina = zaIzmjenu.IdPovrsina; mijenjaj.Datum = zaIzmjenu.Datum; mijenjaj.KolicinaVode = zaIzmjenu.KolicinaVode; mijenjaj.IdStanja = zaIzmjenu.IdStanja; db.SaveChanges(); } }
/// <summary> /// Inicijalizira komponentu i postavlja početne vrijednosti kontrola prema ulaznom parametru /// </summary> /// <param name="zaIzmjenu">Zapis tipa Navodnjavanje</param> public UnosNavodnjavanja(DataLayer.Navodnjavanje zaIzmjenu) { InitializeComponent(); this.NavodnjavanjeZaIzmjenu = zaIzmjenu; DohvatiPovrsine(); DohvatiStanja(); izborDatum.Text = NavodnjavanjeZaIzmjenu.Datum.ToString(); izborPovrsine.SelectedValue = NavodnjavanjeZaIzmjenu.IdPovrsina; izborVrsta.SelectedValue = NavodnjavanjeZaIzmjenu.IdStanja <= 2 ? NavodnjavanjeZaIzmjenu.IdStanja : 2; unosKolicinaVode.Text = NavodnjavanjeZaIzmjenu.KolicinaVode.ToString(); }
/// <summary> /// Sprema dohvaćene oborine u bazu, ako zapis već ne postoji /// </summary> /// <param name="povrsina"></param> public static void SpremiOborine(PoljPovrsina povrsina) { DateTime datum = DateTime.Now.Date; using (var db = new PoljoAppEntities()) { Navodnjavanje navodnjavanje = db.Navodnjavanje.Where(n => n.Datum == datum && n.IdPovrsina == povrsina.id && n.IdStanja >= 2 && n.IdStanja <= 3).FirstOrDefault(); if (navodnjavanje == null) { Navodnjavanje novo = new Navodnjavanje() { IdPovrsina = povrsina.id, Datum = datum, IdStanja = 3 }; db.Navodnjavanje.Add(novo); db.SaveChanges(); } } }
/// <summary> /// Odbija zapisivanje oborine u bazu /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UiActionOdbij_Click(object sender, EventArgs e) { DataLayer.Navodnjavanje zaIzmjenu = DohvatiOznacenoNavodnjavanje(oborineBindingSource); NavodnjavanjeRepozitorij.OdbijOborinu(zaIzmjenu); PrikaziOborine(); }