/// <summary> /// Metoda kojom se mogu brisati stavke primke. /// Poziva metodu za provjeru skladišta te ako je /// moguće briše se stavka primke. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BrisiStavkuButton_Click(object sender, EventArgs e) { Stavka_primke trenutnaStavka = stavka_primkeBindingSource.Current as Stavka_primke; if (trenutnaStavka != null) { if (MessageBox.Show("Želite li zaista izbrisati stavku?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { if (ProvjeraSkladista(trenutnaStavka)) { using (var db = new UpraljanjeSkladistemEntities()) { db.Stavka_primke.Attach(trenutnaStavka); db.Stavka_primke.Remove(trenutnaStavka); db.SaveChanges(); } } else { MessageBox.Show("Nema dovoljno materijala na skladištu za brisanje stavke!", "Greška!"); } } } PrikazPrimki(); }
/// <summary> /// Provjerava ima li dovoljno materijala na skladištu za skinuti. /// Služi kako ne bi stanje materijala na skladištu palo ispod 0, /// prilikom brisanja primke. /// </summary> /// <param name="stavka">Stavka koja se provjerava</param> /// <returns>Vraća true ako ima dovoljno materijala, false ako nema.</returns> private bool ProvjeraSkladista(Stavka_primke stavka) { DohvatiMaterijale(); if (stavka != null) { Materijal materijal = materijali.SingleOrDefault(m => m.materijalId == stavka.materijalId); if (materijal != null && materijal.kolicina >= stavka.kolicina) { return(true); } } return(false); }
/// <summary> /// Metoda koja se poziva klikom na tipku dodajMaterijalButton. /// Provjerava ima li dodanog materijala već na primci, ako nema /// dodaje ga na primku, ako da onda ispisuje ogovarajuću poruku /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DodajMaterijalButton_Click(object sender, EventArgs e) { Materijal trenutniMaterijal = materijalBindingSource.Current as Materijal; if (trenutniMaterijal != null) { int dodanaKolicina = (int)kolicinaNumericUpDown.Value; if (dodanaKolicina != 0) { bool novaStavka = true; foreach (Stavka_primke stavka in stavkaprimkeBindingSource) { if (trenutniMaterijal.materijalId == stavka.materijalId) { novaStavka = false; } } if (novaStavka) { using (var db = new UpraljanjeSkladistemEntities()) { Stavka_primke stavkaZaDodat = new Stavka_primke { primkaId = trenutnaPrimka.primkaId, materijalId = trenutniMaterijal.materijalId, kolicina = dodanaKolicina }; db.Stavka_primke.Add(stavkaZaDodat); db.SaveChanges(); } DohvatiStavke(); } else { MessageBox.Show("Ne možete dodati istu stavku na primku!", "Greška"); } } } }