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); } }
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); } }
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); }
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); }
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); }
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)); }