/// <summary> /// Metoda koja se poziva na klik tipke spremiButton /// Sprema nastale promjene na materijalu ili unosi novi materijal u sustav. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SpremiButton_Click(object sender, EventArgs e) { using (var db = new UpraljanjeSkladistemEntities()) { if (materijal == null) { Materijal noviMaterijal = new Materijal { naziv = nazivTextBox.Text, cijena = cijenaNumericUpDown.Value, kolicina = (int)kolicinaNumericUpDown.Value }; db.Materijal.Add(noviMaterijal); db.SaveChanges(); } else { db.Materijal.Attach(materijal); materijal.naziv = nazivTextBox.Text; materijal.cijena = cijenaNumericUpDown.Value; materijal.kolicina = (int)kolicinaNumericUpDown.Value; db.SaveChanges(); } Close(); } }
/// <summary> /// Poziva se na gumb urediMaterijalButton. /// Otvara formu NoviMaterijalForm u modu za ažuriranje. /// Nakon zatvaranja poziva metodu za dovaćanje materijala. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UrediMaterijalButton_Click(object sender, EventArgs e) { Materijal trenutniMaterijal = materijalBindingSource.Current as Materijal; if (trenutniMaterijal != null) { NoviMaterijalForm materijalForm = new NoviMaterijalForm(trenutniMaterijal); materijalForm.ShowDialog(this); DohvatiMaterijale(); } }
/// <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"); } } } }
/// <summary> /// Konstruktor forme za otvaranje forme u modu za uređivanje /// </summary> /// <param name="materijal">Materijal koji se ažurira</param> public NoviMaterijalForm(Materijal materijal) { InitializeComponent(); this.materijal = materijal; }