/// <summary>
 /// Metoda koja se poziva na tipku spremiNarudzbuButton
 /// Sprema novu narudzbenicu u bazu, odnosno sprema promjene nastale
 /// na staroj narudzbenici.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void SpremiNarudzbuButton_Click(object sender, EventArgs e)
 {
     using (var db = new UpravljanjeNarudzbamaEntities())
     {
         if (trenutnaNarudzbenica == null)
         {
             Narudzbenica narudzbenica = new Narudzbenica
             {
                 korisnikId   = idKorisnik,
                 partnerId    = int.Parse(partnerComboBox.SelectedValue.ToString()),
                 datum_slanja = datumSlanjaDateTimePicker.Value
             };
             db.Narudzbenica.Add(narudzbenica);
             db.SaveChanges();
         }
         else
         {
             db.Narudzbenica.Attach(trenutnaNarudzbenica);
             trenutnaNarudzbenica.datum_slanja = datumSlanjaDateTimePicker.Value;
             trenutnaNarudzbenica.partnerId    = int.Parse(partnerComboBox.SelectedValue.ToString());
             db.SaveChanges();
         }
     }
     Close();
 }
        /// <summary>
        /// Dohvaća i prikazuje materijal dostupan na skladištu
        /// </summary>
        private void PrikaziMaterijal()
        {
            BindingList <Materijal> materijali = null;

            using (var db = new UpravljanjeNarudzbamaEntities())
            {
                materijali = new BindingList <Materijal>(db.Materijal.ToList());
            }
            materijalBindingSource.DataSource = materijali;
        }
        /// <summary>
        /// Metoda koja dohvaća listu partnera iz baze i dodjeljuje ju kao DataSource ComboBox-a
        /// </summary>
        private void DohvatiPartnere()
        {
            BindingList <Partner> partneri = null;

            using (var db = new UpravljanjeNarudzbamaEntities())
            {
                partneri = new BindingList <Partner>(db.Partner.ToList());
            }
            partnerBindingSource.DataSource = partneri;
        }
        /// <summary>
        /// Dohvaća i prikazuje stavke već dodane na narudzbenicu
        /// </summary>
        private void PrikaziStavke()
        {
            BindingList <Stavka_narudzbenice> stavke = null;

            using (var db = new UpravljanjeNarudzbamaEntities())
            {
                db.Narudzbenica.Attach(trenutnaNarudzbenica);
                db.Entry(trenutnaNarudzbenica).Collection(n => n.Stavka_narudzbenice).Load();
                stavke = new BindingList <Stavka_narudzbenice>(trenutnaNarudzbenica.Stavka_narudzbenice.ToList());
            }
            stavkanarudzbeniceBindingSource.DataSource = stavke;
        }
Example #5
0
        /// <summary>
        /// Metoda kojom se dohvacaju lista stavki
        /// narudzbenice i proizvod u stavki
        /// </summary>
        /// <param name="narudzbenica">Narudzbenica cije stavke zelimo prikazati</param>
        private void PrikazStavki(Narudzbenica narudzbenica)
        {
            BindingList <Stavka_narudzbenice> stavke     = null;
            BindingList <Materijal>           materijali = null;

            using (var db = new UpravljanjeNarudzbamaEntities())
            {
                materijali = new BindingList <Materijal>();
                db.Narudzbenica.Attach(narudzbenica);
                stavke = new BindingList <Stavka_narudzbenice>(narudzbenica.Stavka_narudzbenice.ToList());
                foreach (Stavka_narudzbenice stavka in stavke)
                {
                    materijali.Add(stavka.Materijal);
                }
            }
            stavkanarudzbeniceBindingSource.DataSource = stavke;
            materijalBindingSource.DataSource          = materijali;
        }
        /// <summary>
        /// Metoda koja se poziva na klik tipke dodajButton
        /// Prikazuje odgovarajuću poruku, na potvrdan odgovor
        /// briše stavku narudžbenice
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BrisiMaterijalButton_Click(object sender, EventArgs e)
        {
            Stavka_narudzbenice trenutnaStavka = stavkanarudzbeniceBindingSource.Current as Stavka_narudzbenice;

            if (trenutnaStavka != null)
            {
                if (MessageBox.Show("Želite li zaista obrisati stavku narudzbenice?", "Upozorenje", MessageBoxButtons.YesNo)
                    == DialogResult.Yes)
                {
                    using (var db = new UpravljanjeNarudzbamaEntities())
                    {
                        db.Stavka_narudzbenice.Attach(trenutnaStavka);
                        db.Stavka_narudzbenice.Remove(trenutnaStavka);
                        db.SaveChanges();
                    }
                    PrikaziStavke();
                }
            }
        }
Example #7
0
        /// <summary>
        /// Metoda koja se poziva na klik tipke obrisiNarudzbuButton.
        /// Prikazuje odgovarajuću poruku te ako se odgovori potvrdno
        /// briše se narudžbenica
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ObrisiNarudzbuButton_Click(object sender, EventArgs e)
        {
            Narudzbenica narudzbenica = narudzbenicaBindingSource.Current as Narudzbenica;

            if (narudzbenica != null)
            {
                if (MessageBox.Show("Želite li zaista izbrisati narudžbenicu?", "Upozorenje!", MessageBoxButtons.YesNo)
                    == System.Windows.Forms.DialogResult.Yes)
                {
                    using (var db = new UpravljanjeNarudzbamaEntities())
                    {
                        db.Narudzbenica.Attach(narudzbenica);
                        db.Narudzbenica.Remove(narudzbenica);
                        db.SaveChanges();
                    }
                    PrikazNarudzbi();
                }
            }
        }
        /// <summary>
        /// Metoda koja se poziva na klik tipke dodajButton
        /// Provjerava ima li već dodanog materijala na narudžbenici,
        /// ako nema dodaje ga na narudžbenicu, ako ga ima
        /// prikazuje osgovarajuću poruku
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DodajButton_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_narudzbenice stavka in stavkanarudzbeniceBindingSource)
                    {
                        if (trenutniMaterijal.materijalId == stavka.materijalId)
                        {
                            novaStavka = false;
                        }
                    }

                    if (novaStavka)
                    {
                        using (var db = new UpravljanjeNarudzbamaEntities())
                        {
                            Stavka_narudzbenice stavkaZaDodat = new Stavka_narudzbenice
                            {
                                narudzbenicaId = trenutnaNarudzbenica.narudzbenicaId,
                                materijalId    = trenutniMaterijal.materijalId,
                                kolicina       = dodanaKolicina
                            };
                            db.Stavka_narudzbenice.Add(stavkaZaDodat);
                            db.SaveChanges();
                        }
                        PrikaziStavke();
                    }
                    else
                    {
                        MessageBox.Show("Ne možete dodati istu stavku na narudžbenicu!", "Greška");
                    }
                }
            }
        }
Example #9
0
        /// <summary>
        /// Metoda kojom se dohvaca lista narudzenice,
        /// korisnik koji je izdao narudzbenicu i dobavljac
        /// od kojeg su proizvodi naruceni.
        /// </summary>
        private void PrikazNarudzbi()
        {
            BindingList <Narudzbenica> narudzbenice = null;
            BindingList <Partner>      partneri     = null;
            BindingList <Korisnik>     korisnici    = null;

            using (var db = new UpravljanjeNarudzbamaEntities())
            {
                korisnici    = new BindingList <Korisnik>();
                partneri     = new BindingList <Partner>();
                narudzbenice = new BindingList <Narudzbenica>(db.Narudzbenica.ToList());
                foreach (Narudzbenica narudzbenica in narudzbenice)
                {
                    korisnici.Add(narudzbenica.Korisnik);
                    partneri.Add(narudzbenica.Partner);
                }
            }
            narudzbenicaBindingSource.DataSource = narudzbenice;
            partnerBindingSource.DataSource      = partneri;
            korisnikBindingSource.DataSource     = korisnici;
        }