Example #1
0
 public bool ObrisiStavku(DataGridView dataGridView1)
 {
     if (narudzbenica.Obradjena)
     {
         MessageBox.Show("Narudzbenica je obradjena, ne moze se dalje menjati");
         return(false);
     }
     try
     {
         StavkaNarudzbenice s = dataGridView1.CurrentRow.DataBoundItem as StavkaNarudzbenice;
         narudzbenica.ListaStavki.Remove(s);
         int broj = 1;
         foreach (StavkaNarudzbenice stavka in narudzbenica.ListaStavki)
         {
             stavka.Rbr = broj;
             broj++;
         }
         return(true);
     }
     catch (Exception)
     {
         MessageBox.Show("Niste odabrali stavku za brisanje");
         return(false);
     }
 }
Example #2
0
        public void obrisiStavku(DataGridView dgvStavke, TextBox txtUkupnoBezPDV, TextBox txtUkupanPDV, TextBox txtUkupanIznosSaPDV)
        {
            try
            {
                StavkaNarudzbenice sn = dgvStavke.CurrentRow.DataBoundItem as StavkaNarudzbenice;
                narudzbenica.ListaStavki.Remove(sn);

                narudzbenica.UkupanIznosBezPDV -= sn.IznosBezPDV;
                narudzbenica.UkupanPDV         -= sn.PDV1;
                narudzbenica.UkupanIznosSaPDV   = narudzbenica.UkupanIznosBezPDV + narudzbenica.UkupanPDV;



                int rb = 1;
                foreach (StavkaNarudzbenice snar in narudzbenica.ListaStavki)
                {
                    snar.RedniBroj = rb;
                    rb++;
                }



                txtUkupnoBezPDV.Text     = narudzbenica.UkupanIznosBezPDV.ToString();
                txtUkupanPDV.Text        = narudzbenica.UkupanPDV.ToString();
                txtUkupanIznosSaPDV.Text = narudzbenica.UkupanIznosSaPDV.ToString();
            }
            catch (Exception)
            {
                Poruka.prikaziPoruku("Niste odabrali stavku!", Poruka.TipPoruke.neuspesno);
            }
        }
Example #3
0
        public void dodajStavku(ComboBox cmbProizvod, TextBox txtKolicina, TextBox txtUkupnoBezPDV, TextBox txtUkupanPDV, TextBox txtUkupanIznosSaPDV)
        {
            StavkaNarudzbenice sn = new StavkaNarudzbenice();

            sn.RedniBroj      = narudzbenica.ListaStavki.Count + 1;
            sn.NarudzbenicaID = narudzbenica.NarudzbenicaID;
            sn.Status         = Status.Ubaci;

            try
            {
                sn.Kolicina = Convert.ToInt32(txtKolicina.Text);
            }
            catch (Exception)
            {
                Poruka.prikaziPoruku("Niste dobro uneli količinu!", Poruka.TipPoruke.neuspesno);
                return;
            }

            Proizvod p = cmbProizvod.SelectedItem as Proizvod;

            if (p == null)
            {
                Poruka.prikaziPoruku("Niste odabrali prozivod!", Poruka.TipPoruke.neuspesno);
            }

            if (p.PoreskaStopa.PoreskaStopaID == 1)
            {
                p.PoreskaStopa.Iznos = 20;
            }
            else if (p.PoreskaStopa.PoreskaStopaID == 2)
            {
                p.PoreskaStopa.Iznos = 8;
            }
            else
            {
                p.PoreskaStopa.Iznos = 0;
            }


            sn.Proizvod = p;

            sn.IznosBezPDV = sn.Proizvod.Cena * sn.Kolicina;
            sn.PDV1        = sn.IznosBezPDV * ((double)sn.Proizvod.PoreskaStopa.Iznos / 100);
            sn.IznosSaPDV  = sn.IznosBezPDV + sn.PDV1;

            narudzbenica.UkupanIznosBezPDV += sn.IznosBezPDV;
            narudzbenica.UkupanPDV         += sn.PDV1;
            narudzbenica.UkupanIznosSaPDV   = narudzbenica.UkupanIznosBezPDV + narudzbenica.UkupanPDV;

            txtUkupnoBezPDV.Text     = narudzbenica.UkupanIznosBezPDV.ToString();
            txtUkupanPDV.Text        = narudzbenica.UkupanPDV.ToString();
            txtUkupanIznosSaPDV.Text = narudzbenica.UkupanIznosSaPDV.ToString();

            narudzbenica.ListaStavki.Add(sn);
        }
Example #4
0
        public bool DodajStavku(TextBox txtKolicina, DataGridView dataGridView2)
        {
            if (narudzbenica.Obradjena)
            {
                MessageBox.Show("Narudzbenica je obradjena, ne moze se dalje menjati");
                return(false);
            }
            StavkaNarudzbenice s = new StavkaNarudzbenice();

            s.BrojNarudzbenice = narudzbenica.BrojNarudzbenice;
            s.Rbr = narudzbenica.ListaStavki.Count + 1;
            try
            {
                s.Kolicina = Convert.ToInt32(txtKolicina.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Kolicina nije validna");
                return(false);
            }
            s.Proizvod = dataGridView2.CurrentRow.DataBoundItem as Proizvod;
            if (s.Proizvod == null)
            {
                MessageBox.Show("Niste odabrali proizvod");
                return(false);
            }
            s.UkupnaCenaBezPDV = s.Kolicina * s.Proizvod.CenaBezPDV;
            s.UkupnaCenaSaPDV  = s.Kolicina * s.Proizvod.CenaSaPDV;
            bool dodat = false;

            foreach (StavkaNarudzbenice st in narudzbenica.ListaStavki)
            {
                if (s.Proizvod.ProizvodID == st.Proizvod.ProizvodID)
                {
                    st.Kolicina         += s.Kolicina;
                    st.UkupnaCenaBezPDV += s.UkupnaCenaBezPDV;
                    st.UkupnaCenaSaPDV  += s.UkupnaCenaSaPDV;
                    dodat = true;
                }
            }
            if (!dodat)
            {
                narudzbenica.ListaStavki.Add(s);
                //MessageBox.Show("Stavka je uspesno dodata");
                txtKolicina.Clear();
            }
            else
            {
                //MessageBox.Show("Promenjena je kolicina za izabrani proizvod");
                txtKolicina.Clear();
            }

            return(true);
        }
        protected override object Izvrsi(IDomenskiObjekat odo)
        {
            List <Narudzbenica> lista = Broker.Instance().VratiSve(odo).OfType <Narudzbenica>().ToList <Narudzbenica>();
            StavkaNarudzbenice  s     = new StavkaNarudzbenice();

            foreach (Narudzbenica n in lista)
            {
                s.BrojNarudzbenice = n.BrojNarudzbenice;
                n.ListaStavki      = new BindingList <StavkaNarudzbenice>(Broker.Instance().VratiSveZaUslov(s).OfType <StavkaNarudzbenice>().ToList <StavkaNarudzbenice>());
            }
            return(lista);
        }
        protected override object Izvrsi(IDomenskiObjekat odo)
        {
            Narudzbenica       n = odo as Narudzbenica;
            StavkaNarudzbenice s = new StavkaNarudzbenice();

            s.BrojNarudzbenice = n.BrojNarudzbenice;
            List <StavkaNarudzbenice> lista =
                Broker.Instance().VratiSveZaUslov(s).OfType <StavkaNarudzbenice>().ToList <StavkaNarudzbenice>();

            foreach (StavkaNarudzbenice stavka in lista)
            {
                n.ListaStavki.Add(stavka);
            }
            return(n);
        }
Example #7
0
        protected override object Izvrsi(IDomenskiObjekat odo)
        {
            Broker.Instance().Izmeni(odo);
            Narudzbenica n = odo as Narudzbenica;

            StavkaNarudzbenice s = new StavkaNarudzbenice();

            s.BrojNarudzbenice = n.BrojNarudzbenice;
            Broker.Instance().Obrisi(s);
            foreach (StavkaNarudzbenice stavka in n.ListaStavki)
            {
                Broker.Instance().Sacuvaj(stavka);
            }

            return(1);
        }
        public override object Izvrsi(OpstiDomenskiObjekat odo)
        {
            Narudzbenica n = Broker.dajSesiju().vratiObjekatZaVrednostPrimarnog(odo) as Narudzbenica;

            Zaposleni z = new Zaposleni();

            z.ZaposleniID = n.Zaposleni.ZaposleniID;
            z             = Broker.dajSesiju().vratiObjekatZaVrednostPrimarnog(z) as Zaposleni;
            n.Zaposleni   = z;


            Dobavljac d = new Dobavljac();

            d.DobavljacID = n.Dobavljac.DobavljacID;
            d             = Broker.dajSesiju().vratiObjekatZaVrednostPrimarnog(d) as Dobavljac;
            n.Dobavljac   = d;

            StavkaNarudzbenice sn = new StavkaNarudzbenice();

            sn.NarudzbenicaID = n.NarudzbenicaID;
            List <StavkaNarudzbenice> listaStavki = Broker.dajSesiju().vratiSveObjekteZaVrednostSpoljnog(sn).OfType <StavkaNarudzbenice>().ToList <StavkaNarudzbenice>();


            foreach (StavkaNarudzbenice snn in listaStavki)
            {
                Proizvod p = new Proizvod();
                p.ProizvodID = snn.Proizvod.ProizvodID;
                p            = Broker.dajSesiju().vratiObjekatZaVrednostPrimarnog(p) as Proizvod;
                snn.Proizvod = p;
                n.ListaStavki.Add(snn);
            }

            //foreach (StavkaNarudzbenice snn in listaStavki)
            //{
            //    n.ListaStavki.Add(snn);
            //}



            return(n);
        }
Example #9
0
        public override object Izvrsi(OpstiDomenskiObjekat odo)
        {
            try
            {
                Narudzbenica n = odo as Narudzbenica;

                if (n.Status == Status.Ubaci)
                {
                    Broker.dajSesiju().sacuvaj(odo);
                    foreach (StavkaNarudzbenice sn in n.ListaStavki)
                    {
                        sn.NarudzbenicaID = n.NarudzbenicaID;
                        Broker.dajSesiju().sacuvaj(sn);
                    }
                }

                //status je izmeni

                else
                {
                    Broker.dajSesiju().izmeni(odo);

                    StavkaNarudzbenice snn = new StavkaNarudzbenice();
                    snn.NarudzbenicaID = n.NarudzbenicaID;
                    Broker.dajSesiju().obrisiZaVrednostSpoljnog(snn);

                    foreach (StavkaNarudzbenice stavka in n.ListaStavki)
                    {
                        stavka.NarudzbenicaID = n.NarudzbenicaID;
                        Broker.dajSesiju().sacuvaj(stavka);
                    }
                }


                return(1);
            }
            catch (Exception)
            {
                return(0);
            }
        }
        public ActionResult CheckOut(CheckoutViewModel model)
        {
            DataClasses1DataContext dc = new DataClasses1DataContext();

            Narudzbenica novaNarudz = new Narudzbenica();

            //pravljenje random idNarudzbenice!
            Random random   = new Random();
            int    randomBr = random.Next(0, 9999999);

            //provera da li takav idNarudzbenice vec postoji
            foreach (var n in dc.Narudzbenicas)
            {
                if (n.IDNarudzbenice.Equals("NAR" + randomBr))
                {
                    randomBr = random.Next(0, 9999999);
                }
            }
            novaNarudz.IDNarudzbenice = "NAR" + randomBr;

            model.totalPrice = (double)Session["totalPrice"];

            novaNarudz.DatumVreme       = model.DatumVreme;
            novaNarudz.AdresaZaIsporuku = model.AdresaZaIsporuku;
            novaNarudz.Grad             = model.Grad;
            novaNarudz.ZipCode          = model.ZipCode;
            novaNarudz.TotalCena        = model.totalPrice;
            novaNarudz.IDKorisnika      = (int)Session["idKorisnika"];

            //kraj pravljenja Narudzbenice

            //prvo moramo da je ubacimo u bazu, da bismo mogli da pravimo i njene stavke
            dc.Narudzbenicas.InsertOnSubmit(novaNarudz);
            try
            {
                dc.SubmitChanges();
            }
            catch (Exception ex)
            {
                throw ex;
            }

            //sada pravimo STAVKE narudzbenice
            List <StavkaKorpe> korpa = (List <StavkaKorpe>)Session["shopping_cart"];

            int redniBr = 1;

            //List<StavkaNarudzbenice> stavkeNarudz = new List<StavkaNarudzbenice>();
            foreach (StavkaKorpe stavkaKorpe in korpa)
            {
                double             ukupnaCenaStavke = stavkaKorpe.Cena * stavkaKorpe.IzabranaKol;
                StavkaNarudzbenice novaStavka       = new StavkaNarudzbenice();
                novaStavka.IDNarudzbenice   = novaNarudz.IDNarudzbenice;
                novaStavka.SifraProizvoda   = stavkaKorpe.SifraProizvoda;
                novaStavka.RedniBr          = redniBr;
                novaStavka.IzabranaKolicina = stavkaKorpe.IzabranaKol;
                novaStavka.UkupnaCenaStavke = ukupnaCenaStavke;

                dc.StavkaNarudzbenices.InsertOnSubmit(novaStavka);
                try
                {
                    dc.SubmitChanges();
                }
                catch (Exception ex)
                {
                    throw ex;
                }

                //stavkeNarudz.Add(novaStavka);
                redniBr++;
            }

            //unsetujemo Session, jer smo izvrsili porudzbinu
            //(NE TREBA DA UPDATE-UJEMO KOLICINU JER JE KOLICINA VEC UPDATE-OVANA
            //PRILIKOM DODAVANJA U KORPU)
            List <StavkaNarudzbenicaIspis> stavkeNarIspis = (from st in dc.StavkaNarudzbenices
                                                             join p in dc.Proizvods
                                                             on st.SifraProizvoda equals p.SifraProizvoda
                                                             where st.IDNarudzbenice == novaNarudz.IDNarudzbenice
                                                             orderby st.RedniBr
                                                             select new StavkaNarudzbenicaIspis()
            {
                RedniBr = st.RedniBr,
                IzabranaKolicina = st.IzabranaKolicina,
                UkupnaCenaStavke = st.UkupnaCenaStavke,
                Naziv = p.Naziv,
                Slika = p.Slika,
                AltSlika = p.AltSlika,
                JedinicnaCena = (double)p.UkupnaCena,
                Popust = (int)p.Popust
            }).ToList();

            //TO-DO: U Narudzbenica/Index view-u treba ispisati detalje narudzbenice i njene stavke
            //Proslediti mu sve njegove stavke (mozda preko ViewBag-a?)
            ViewBag.stavkeNarudzIspis = stavkeNarIspis;
            Session["shopping_cart"]  = null;
            return(View("Index", novaNarudz));
        }