public FrmUrediDodajStavkuPrimke(object _stavkePrimke, int _idPrimka) { InitializeComponent(); stavkePrimke = (stavke_primke)_stavkePrimke; if (stavkePrimke == null) { idPrimka = _idPrimka; } materijalLogika = new MaterijalLogika(); }
private void btnDodajRačun_Click(object sender, EventArgs e) { primka novaPrimka = new primka(); DateTime datum = new DateTime(); datum = dtpDatum.Value; novaPrimka.datum = datum; novaPrimka.id_korisnik = Convert.ToInt32(txtIDkorisnik.Text); string imePrezkorisnika = txtImeKorisnik.Text + " " + txtPrezimeKorisnik.Text; novaPrimka.izdaje = imePrezkorisnika; baza.primka.Add(novaPrimka); baza.SaveChanges(); int id_primke = 0; foreach (var red in baza.primka) { id_primke = red.id_primka; } foreach (DataGridViewRow red in dgvNoveStavke.Rows) { stavke_primke noveStavke = new stavke_primke(); noveStavke.id_artikli = Convert.ToInt32(red.Cells[0].Value); noveStavke.id_primka = id_primke; noveStavke.kolicina = Convert.ToInt32(red.Cells[2].Value); baza.stavke_primke.Add(noveStavke); int id = Convert.ToInt32(red.Cells[0].Value); int kol = Convert.ToInt32(red.Cells[2].Value); if (red.Cells[0].Value != null) { var artikl = baza.artikli.First(o => o.id_artikli == id); artikl.kolicina = artikl.kolicina + kol; baza.SaveChanges(); } } this.Close(); MessageBox.Show("Dodana primka!"); }
/// <summary> /// Metoda koja se poziva prilikom klika na gumb "Spremi promjene" /// (dodaje novu stavku/ažurira vrijednosti postojeće stavke primke) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSpremiPromjene_Click(object sender, EventArgs e) { // varijabla koja se koristi u slučaju greške (sadržava poruku koja će se prikazati) string poruka = ""; // kod se nalazi unutar try-catch-finally bloka kako bi uspješno detektirali greške kao što su CONSTRAINT Violation try { using (var db = new Entities(Konstante.GetConnectionString())) { if (stavkePrimke == null) { stavke_primke novaStavka = new stavke_primke() { ID_materijal = int.Parse(cbMaterijal.SelectedValue.ToString()), ID_primka = idPrimka, kolicina = int.Parse(tbKolicina.Text), cijena = int.Parse(tbCijena.Text) }; if (!string.IsNullOrWhiteSpace(tbKolicina.Text) && int.Parse(tbKolicina.Text) > 0 && !string.IsNullOrWhiteSpace(tbCijena.Text) && int.Parse(tbCijena.Text) > 0) { db.stavke_primke.Add(novaStavka); db.SaveChanges(); } else { poruka = "Quantity and price are mandatory fields and must be greater than 1!"; } } else { db.stavke_primke.Attach(stavkePrimke); stavkePrimke.ID_materijal = int.Parse(cbMaterijal.SelectedValue.ToString()); stavkePrimke.ID_primka = int.Parse(stavkePrimke.ID_primka.ToString()); stavkePrimke.kolicina = int.Parse(tbKolicina.Text); stavkePrimke.cijena = int.Parse(tbCijena.Text); if (!string.IsNullOrWhiteSpace(tbKolicina.Text) && int.Parse(tbKolicina.Text) > 0 && !string.IsNullOrWhiteSpace(tbCijena.Text) && int.Parse(tbCijena.Text) > 0) { db.SaveChanges(); } else { poruka = "Quantity and price are mandatory fields and must be greater than 1!"; } } } } catch (Exception) { poruka = "Error occurred while saving delivery line(does this user already exist?)"; } finally { if (!string.IsNullOrWhiteSpace(poruka)) { MessageBox.Show(poruka); } else { Close(); } } }