/// <summary> /// Briše odabrani proizvod /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void uiActionIzbrisi_Click_1(object sender, EventArgs e) { DataLayer.PoljPovrsina zaBrisanje = DohvatiOznacenuPovrsinu(); if (zaBrisanje != null) { if (MessageBox.Show("Želte li izbrisati površinu?", "Pitanje", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { using (var db = new PoljoAppEntities()) { if (PovrsinaRepozitorij.ValidirajBrisanje(zaBrisanje)) { PovrsinaRepozitorij.Izbrisi(zaBrisanje); PrikaziPovrsine(); } else { MessageBox.Show("Pokušavate obrisati površinu na kojoj ste sadili, prskali ili navodnjavali! Ako želite obrisati ovu površinu molimo vas prvo izbrišite sve sadnje, prskanja i navodnjavanja na toj površini.", "Upozorenje", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } }
/// <summary> /// Unosi novu površinu u bazu podataka /// </summary> /// <param name="novaPovrsina"></param> public static void Spremi(PoljPovrsina novaPovrsina) { using (var db = new PoljoAppEntities()) { db.polj_povrsina.Add(novaPovrsina); db.SaveChanges(); } }
/// <summary> /// Briše proslijeđenu površinu iz baze podataka /// </summary> /// <param name="zaIzbrisati"></param> public static void Izbrisi(PoljPovrsina zaIzbrisati) { using (var db = new PoljoAppEntities()) { db.polj_povrsina.Attach(zaIzbrisati); db.polj_povrsina.Remove(zaIzbrisati); db.SaveChanges(); } }
/// <summary> /// Otvara formu za ažuriranje površine i osvježava prikaz u tablici /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void uiActionAzuriraj_Click(object sender, EventArgs e) { DataLayer.PoljPovrsina zaIzmjenu = DohvatiOznacenuPovrsinu(); if (zaIzmjenu != null) { UnosPovrsine forma = new UnosPovrsine(zaIzmjenu); forma.ShowDialog(); PrikaziPovrsine(); } }
/// <summary> /// Ažurira proslijeđeni zapis o sadnji u bazi /// </summary> /// <param name="zaIzmjenu"></param> public static void Ažuriraj(PoljPovrsina zaIzmjenu) { using (var db = new PoljoAppEntities()) { PoljPovrsina mijenjaj = db.polj_povrsina.Find(zaIzmjenu.id); mijenjaj.id_namjene = zaIzmjenu.id_namjene; mijenjaj.naziv = zaIzmjenu.naziv; mijenjaj.x_koordinata = zaIzmjenu.x_koordinata; mijenjaj.y_koordinata = zaIzmjenu.y_koordinata; mijenjaj.povrsina_m2 = zaIzmjenu.povrsina_m2; db.SaveChanges(); } }
/// <summary> /// Inicijalizira komponentu i dohvaća početne vrijednosti prema ulaznom parametru (odabrana površina) /// </summary> /// <param name="poljPovrsina"></param> public UnosPovrsine(DataLayer.PoljPovrsina poljPovrsina) { InitializeComponent(); this.povrsinaZaIzmjenu = poljPovrsina; PrikaziNamjenePovrsina(); uiUnosNaziva.Text = povrsinaZaIzmjenu.naziv; uiUnosPovrsine.Text = povrsinaZaIzmjenu.povrsina_m2.ToString(); uiOdabirNamjene.SelectedValue = povrsinaZaIzmjenu.id_namjene; uiUnosKoordinateX.Text = povrsinaZaIzmjenu.x_koordinata.ToString(); uiUnosKoordinateY.Text = povrsinaZaIzmjenu.y_koordinata.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> /// Provjerava da li se površina koristi u nekim drugim tablicama /// </summary> /// <param name="površinaZaBrisati"></param> /// <returns></returns> public static bool ValidirajBrisanje(PoljPovrsina površinaZaBrisati) { bool smijeBrisatiSadnja = false; bool smijeBrisatiNavodnjavanje = false; bool smijeBrisatiPrskanje = false; using (var db = new PoljoAppEntities()) { List <Sadnja> listaSadnji = db.sadnja.ToList(); List <Navodnjavanje> listaNavodnjavanja = db.Navodnjavanje.ToList(); List <Prskanje> listaPrskanje = db.Prskanje.ToList(); if (listaSadnji.Count != 0) { foreach (var sadnja in listaSadnji) { if (sadnja.polj_povrsina.id == površinaZaBrisati.id) { smijeBrisatiSadnja = false; } else { smijeBrisatiSadnja = true; } } } else { smijeBrisatiSadnja = true; } if (listaNavodnjavanja.Count != 0) { foreach (var navodnjavanje in listaNavodnjavanja) { if (navodnjavanje.polj_povrsina.id == površinaZaBrisati.id) { smijeBrisatiNavodnjavanje = false; } else { smijeBrisatiNavodnjavanje = true; } } } else { smijeBrisatiNavodnjavanje = true; } if (listaPrskanje.Count != 0) { foreach (var prskanje in listaPrskanje) { if (prskanje.polj_povrsina.id == površinaZaBrisati.id) { smijeBrisatiPrskanje = false; } else { smijeBrisatiPrskanje = true; } } } else { smijeBrisatiPrskanje = true; } } if (smijeBrisatiSadnja && smijeBrisatiPrskanje && smijeBrisatiNavodnjavanje) { return(true); } else { return(false); } }