Beispiel #1
0
 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!");
        }
Beispiel #3
0
        /// <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();
                }
            }
        }