public void DodavanjeArtikalaNaRacun(Racun odabraniRacun, Artikli odabraniArtikl) { using (var db = new NjamiNjamEntities()) { var upit = from s in db.Stavke_racuna where odabraniRacun.ID == s.vk_racun select s; foreach (var item in upit.Distinct().ToList()) { if (item.vk_artikl == odabraniArtikl.ID) { db.Stavke_racuna.Attach(item); item.Kolicina++; db.SaveChanges(); db.Artikli.Attach(odabraniArtikl); odabraniArtikl.Kolicina--; db.SaveChanges(); AzuriranjeRacuna(odabraniRacun, odabraniArtikl); return; } } Stavke_racuna stavke = new Stavke_racuna { vk_racun = odabraniRacun.ID, vk_artikl = odabraniArtikl.ID, Kolicina = 1 }; db.Stavke_racuna.Add(stavke); db.SaveChanges(); db.Artikli.Attach(odabraniArtikl); odabraniArtikl.Kolicina--; db.SaveChanges(); AzuriranjeRacuna(odabraniRacun, odabraniArtikl); } }
public void UkloniStavku(Stavke_racuna odabranaStavka, Racun odabraniRacun) { decimal popust = odabraniRacun.Popust; if (odabranaStavka != null) { if (MessageBox.Show("Da li ste sigurni?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { if (odabranaStavka.Kolicina == 1) { using (var db = new NjamiNjamEntities()) { db.Stavke_racuna.Attach(odabranaStavka); if (popust > 0) { odabranaStavka.Racun.Cijena = odabranaStavka.Racun.Cijena - odabranaStavka.Artikli.Cijena + (odabranaStavka.Artikli.Cijena * popust / 100); db.SaveChanges(); } else { odabranaStavka.Racun.Cijena -= odabranaStavka.Artikli.Cijena; db.SaveChanges(); } db.Stavke_racuna.Attach(odabranaStavka); odabranaStavka.Artikli.Kolicina++; db.SaveChanges(); db.Stavke_racuna.Attach(odabranaStavka); db.Stavke_racuna.Remove(odabranaStavka); db.SaveChanges(); } } else { using (var db = new NjamiNjamEntities()) { db.Stavke_racuna.Attach(odabranaStavka); odabranaStavka.Kolicina--; db.SaveChanges(); db.Racun.Attach(odabranaStavka.Racun); if (popust > 0) { odabranaStavka.Racun.Cijena = odabranaStavka.Racun.Cijena - odabranaStavka.Artikli.Cijena + (odabranaStavka.Artikli.Cijena * popust / 100); db.SaveChanges(); } else { odabranaStavka.Racun.Cijena -= odabranaStavka.Artikli.Cijena; db.SaveChanges(); } db.SaveChanges(); db.Artikli.Attach(odabranaStavka.Artikli); odabranaStavka.Artikli.Kolicina++; db.SaveChanges(); } } } } }