예제 #1
0
        /// <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();
        }
예제 #2
0
 /// <summary>
 /// Metoda koja se poziva na tipku ureduButton ("U redu").
 /// Sprema novu primku u bazu, odnosno sprema promjene nastale
 /// na staroj primci.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void UreduButton_Click(object sender, EventArgs e)
 {
     using (var db = new UpraljanjeSkladistemEntities())
     {
         if (trenutnaPrimka == null)
         {
             Primka novaPrimka = new Primka
             {
                 datumPrimitka = datumPrimitkaDateTimePicker.Value,
                 korisnikId    = idKorisnika,
                 partnerId     = int.Parse(partnerComboBox.SelectedValue.ToString())
             };
             db.Primka.Add(novaPrimka);
             db.SaveChanges();
         }
         else
         {
             db.Primka.Attach(trenutnaPrimka);
             trenutnaPrimka.datumPrimitka = datumPrimitkaDateTimePicker.Value;
             trenutnaPrimka.partnerId     = int.Parse(partnerComboBox.SelectedValue.ToString());
             db.SaveChanges();
         }
         Close();
     }
 }
예제 #3
0
 /// <summary>
 /// Dohvaća sve listu svih materijala na skladištu za provjeru količine.
 /// </summary>
 private void DohvatiMaterijale()
 {
     using (var db = new UpraljanjeSkladistemEntities())
     {
         materijali = new BindingList <Materijal>(db.Materijal.ToList());
     }
 }
예제 #4
0
        /// <summary>
        /// Metoda koja se poziva na klik tipke brisiPrimkuButton,
        /// koja služi za brisanje primki.
        /// Provjerava ima li stavki na primci, te ako nema dozvoljava
        /// brisanje primke, ako ne onda prikazuje odgovrajuću poruku.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BrisiPrimkuButton_Click(object sender, EventArgs e)
        {
            Primka primka = primkaBindingSource.Current as Primka;

            if (primka != null)
            {
                if (MessageBox.Show("Želite li zaista izbrisati primku?", "Upozorenje!", MessageBoxButtons.YesNo)
                    == DialogResult.Yes)
                {
                    if (stavke.Count == 0)
                    {
                        using (var db = new UpraljanjeSkladistemEntities())
                        {
                            db.Primka.Attach(primka);
                            db.Primka.Remove(primka);
                            db.SaveChanges();
                        }

                        PrikazPrimki();
                        primka = primkaBindingSource.Current as Primka;
                        if (primka != null)
                        {
                            PrikazStavki(primka);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Nije moguće obrisati primku sa stavkama!", "Greška!");
                    }
                }
            }
        }
예제 #5
0
 /// <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();
     }
 }
예제 #6
0
 /// <summary>
 /// Dohvaća materijale dostupne u sustavu
 /// </summary>
 private void DohvatiMaterijale()
 {
     materijali = new BindingList <Materijal>();
     using (var db = new UpraljanjeSkladistemEntities())
     {
         materijali = new BindingList <Materijal>(db.Materijal.ToList());
     }
     materijalBindingSource.DataSource = materijali;
 }
예제 #7
0
        /// <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 UpraljanjeSkladistemEntities())
            {
                partneri = new BindingList <Partner>(db.Partner.ToList());
            }
            partnerBindingSource.DataSource = partneri;
        }
예제 #8
0
        /// <summary>
        /// Dohvaća stavke već dodane na primku.
        /// </summary>
        private void DohvatiStavke()
        {
            BindingList <Stavka_primke> stavke = null;

            using (var db = new UpraljanjeSkladistemEntities())
            {
                db.Primka.Attach(trenutnaPrimka);
                db.Entry(trenutnaPrimka).Collection(p => p.Stavka_primke).Load();
                stavke = new BindingList <Stavka_primke>(trenutnaPrimka.Stavka_primke.ToList());
            }
            stavkaprimkeBindingSource.DataSource = stavke;
        }
예제 #9
0
 /// <summary>
 /// Dohvaća sve stavke za određenu primku, te dohvaća materijale vezane uz stavke.
 /// Postavlja DataSource-ove za prikaz podataka.
 /// </summary>
 /// <param name="primka">Primka za koju ispisujemo stavke</param>
 private void PrikazStavki(Primka primka)
 {
     using (var db = new UpraljanjeSkladistemEntities())
     {
         db.Primka.Attach(primka);
         stavke     = new BindingList <Stavka_primke>(primka.Stavka_primke.ToList <Stavka_primke>());
         materijali = new BindingList <Materijal>();
         foreach (Stavka_primke stavka in stavke)
         {
             materijali.Add(stavka.Materijal);
         }
     }
     stavka_primkeBindingSource.DataSource = stavke;
     materijalBindingSource.DataSource     = materijali;
 }
예제 #10
0
        /// <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");
                    }
                }
            }
        }
예제 #11
0
        /// <summary>
        /// Metoda koja dohvaća primke i, korisnike i partnere vezane uz primku.
        /// Postavlja DataSource-ove za prikaz podataka.
        /// </summary>
        private void PrikazPrimki()
        {
            BindingList <Primka>   primke    = null;
            BindingList <Korisnik> korisnici = null;
            BindingList <Partner>  partneri  = null;

            using (var db = new UpraljanjeSkladistemEntities())
            {
                primke    = new BindingList <Primka>(db.Primka.ToList());
                korisnici = new BindingList <Korisnik>();
                partneri  = new BindingList <Partner>();
                foreach (Primka primka in primke)
                {
                    korisnici.Add(primka.Korisnik);
                    partneri.Add(primka.Partner);
                }
            }
            korisnikBindingSource.DataSource = korisnici;
            partnerBindingSource.DataSource  = partneri;
            primkaBindingSource.DataSource   = primke;
        }