/// <summary> /// U slučaju novog proizvoda podatke sprema u novi objekt i sprema ga u bazu, /// u slučaju ažuriranja proizvoda mijenja mu podatke na one unesene u formu i sprema u bazu /// U oba slučaja ako podaci nisu ispravni upozorava korisnika i traži ponovan unos /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void uiActionSpremi_Click(object sender, EventArgs e) { if (ValidirajUnos()) { if (this.materijalZaIzmjenu == null) { SadniMaterijal noviMaterijal = new SadniMaterijal() { naziv = uiUnosNaziva.Text, jedinicna_mjera = uiActionOdabirJednicineMjere.Text, id_vrste_materijala = (int)uiActionOdabirVrste.SelectedValue }; ProizvodiRepozitorij.Spremi(noviMaterijal); Close(); } else { materijalZaIzmjenu.naziv = uiUnosNaziva.Text; materijalZaIzmjenu.jedinicna_mjera = uiActionOdabirJednicineMjere.Text; materijalZaIzmjenu.id_vrste_materijala = (int)uiActionOdabirVrste.SelectedValue; ProizvodiRepozitorij.Azuriraj(materijalZaIzmjenu); 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> /// Dodaje podatke o vrstama proizvoda iz baze u combobox, uz još opciju "Prikaži sve" /// </summary> private void PrikaziVrsteSadnogMaterijala() { List <VrstaSadnogMaterijala> listaVrstaSadnogMaterijala = ProizvodiRepozitorij.DohvatiVrsteSadnogMaterijala(); listaVrstaSadnogMaterijala.Insert(0, new VrstaSadnogMaterijala() { naziv = "Prikaži sve" }); foreach (var vrsta in listaVrstaSadnogMaterijala) { cmbIzborVrsteSadnogMaterijala.Items.Add(vrsta.naziv); } cmbIzborVrsteSadnogMaterijala.SelectedIndex = 0; }
/// <summary> /// Briše odabrani proizvod ako se on nije posađen, u suprotnom vraća upozorenje /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void uiIzbrisiProizvod_Click(object sender, EventArgs e) { SadniMaterijal odabraniProizvod = DohvatiOznaceniMaterijal(); if (odabraniProizvod != null) { if (MessageBox.Show("Želte li izbrisati proizvod?", "Pitanje", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { if (ProizvodiRepozitorij.ValidirajBrisanje(odabraniProizvod)) { ProizvodiRepozitorij.Izbrisi(odabraniProizvod); PrikaziSadniMaterijal(); } else { MessageBox.Show("Pokušavate obrisati proizvod koji ste posadili! Ako želite obrisati ovaj proizvod molimo vas prvo izbrišite sve sadnje na kojima ste ga naveli.", "Upozorenje", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } }
/// <summary> /// Osvježava prikaz podataka proizvoda ovisno o odabranoj vrsti proizvoda /// </summary> private void PrikaziSadniMaterijal() { string odabranaVrstaSadnogMaterijala = cmbIzborVrsteSadnogMaterijala.Text; sadniMaterijalViewBindingSource.DataSource = ProizvodiRepozitorij.DohvatiSadniMaterijal(odabranaVrstaSadnogMaterijala); }
/// <summary> /// Dohvaća označeni proizvod pomoću ID-a /// </summary> /// <returns></returns> private SadniMaterijal DohvatiOznaceniMaterijal() { SadniMaterijalView oznaceni = sadniMaterijalViewBindingSource.Current as SadniMaterijalView; return(ProizvodiRepozitorij.DohvatiMaterijalPoIDu(oznaceni.id)); }
/// <summary> /// Prikazuje vrste sadnog materijala za izbor u comboboxu /// </summary> private void PrikaziVrsteSadnogMaterijala() { List <VrstaSadnogMaterijala> listaVrstaSadnogMaterijala = ProizvodiRepozitorij.DohvatiVrsteSadnogMaterijala(); vrstasadnogmaterijalaBindingSource.DataSource = listaVrstaSadnogMaterijala; }