public IActionResult Obrisi(int RacunProizvodId, int RacunId) { RacunProizvod stavka = _db.RacunProizvodi.Where(x => x.RacunProizvodID == RacunProizvodId).FirstOrDefault(); Racun r = _db.Racuni.Where(x => x.RacunID == RacunId).FirstOrDefault(); _db.Kupci.Where(x => x.KupacID == r.KupacID).FirstOrDefault().Kredit += stavka.IznosBezPDV + (stavka.IznosBezPDV * r.PDV); _db.Racuni.Where(x => x.RacunID == stavka.RacunID).FirstOrDefault().UkupnoBezPDV -= stavka.IznosBezPDV; _db.RacunProizvodi.Remove(stavka); _db.SaveChanges(); return(RedirectToAction("Uredi", new { RacunId = RacunId })); }
public IActionResult SnimiStavku(RacuniDodajStavkuVM model) { Kupac k = _db.Kupci.Where(x => x.KupacID == model.KupacId).FirstOrDefault(); Racun r = _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault(); //model.komada predstavlja kolicinu u KG RacunProizvod pronadjena = _db.RacunProizvodi.Where(x => x.RacunID == model.RacunId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault(); if (pronadjena != null) { Proizvod proizvodStavka = _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault(); pronadjena.KolicinaKG += model.komada; pronadjena.IznosRabata += Math.Round((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100), 4); pronadjena.IznosBezPDV += Math.Round(((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV) - ((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100)), 4); _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault().UkupnoBezPDV += Math.Round(((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV) - ((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100)), 4); _db.SaveChanges(); _db.SaveChanges(); return(RedirectToAction("Uredi", new { RacunId = model.RacunId })); } RacunProizvod novaStavka = new RacunProizvod { CijenaBezPDV = _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV, // promijenjeno 21.6, bilo stavljene 4 decimale RacunID = model.RacunId, ProizvodID = model.stavka.ProizvodID, KolicinaKG = model.komada }; if (_db.OdobreniRabat.Where(x => x.KupacID == model.KupacId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault() == null) { novaStavka.Rabat = 0; } else { novaStavka.Rabat = _db.OdobreniRabat.Where(x => x.KupacID == model.KupacId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().IznosPostotci; } novaStavka.IznosRabata = Math.Round((model.komada / _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().Masa) * _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV *(novaStavka.Rabat / 100), 4); novaStavka.IznosBezPDV = Math.Round((model.komada / _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().Masa) * _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV - novaStavka.IznosRabata, 4); _db.RacunProizvodi.Add(novaStavka); _db.SaveChanges(); _db.SaveChanges(); _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault().UkupnoBezPDV += Math.Round(novaStavka.IznosBezPDV, 4); _db.SaveChanges(); return(RedirectToAction("Uredi", new { RacunId = model.RacunId })); }
public IActionResult SnimiStavkuGotovinski(RacuniDodajStavkuVM model) { //model.komada predstavlja kolicinu u KG if (_db.RacunProizvodi.Where(x => x.RacunID == model.RacunId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault() != null) { RacunProizvod pronadjena = _db.RacunProizvodi.Where(x => x.RacunID == model.RacunId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault(); Proizvod proizvodStavka = _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault(); pronadjena.KolicinaKG += model.komada; _db.Skladiste.Where(x => x.SkladisteID == _db.Proizvodi.Where(y => y.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().SkladisteID).FirstOrDefault().KolicinaUKg -= model.komada; pronadjena.IznosRabata += Math.Round((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100), 4); pronadjena.IznosBezPDV += Math.Round(((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV) - ((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100)), 4); _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault().UkupnoBezPDV += Math.Round(((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV) - ((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100)), 4); _db.SaveChanges(); return(RedirectToAction("UrediGotovinski", new { RacunId = model.RacunId })); } RacunProizvod novaStavka = new RacunProizvod { CijenaBezPDV = _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV, RacunID = model.RacunId, ProizvodID = model.stavka.ProizvodID, KolicinaKG = model.komada }; if (_db.OdobreniRabat.Where(x => x.KupacID == model.KupacId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault() == null) { novaStavka.Rabat = 0; } else { novaStavka.Rabat = _db.OdobreniRabat.Where(x => x.KupacID == model.KupacId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().IznosPostotci; } novaStavka.IznosRabata = Math.Round((model.komada / _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().Masa) * _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV *(novaStavka.Rabat / 100), 4); novaStavka.IznosBezPDV = Math.Round((model.komada / _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().Masa) * _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV - novaStavka.IznosRabata, 4); _db.RacunProizvodi.Add(novaStavka); _db.SaveChanges(); _db.Skladiste.Where(x => x.SkladisteID == _db.Proizvodi.Where(y => y.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().SkladisteID).FirstOrDefault().KolicinaUKg -= model.komada; _db.SaveChanges(); _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault().UkupnoBezPDV += Math.Round(novaStavka.IznosBezPDV, 4); _db.SaveChanges(); return(RedirectToAction("UrediGotovinski", new { RacunId = model.RacunId })); }
public IActionResult SnimiStavku(RacuniDodajStavkuVM model) { Kupac k = _db.Kupci.Where(x => x.KupacID == model.KupacId).FirstOrDefault(); Racun r = _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault(); //model.komada predstavlja kolicinu u KG if (_db.RacunProizvodi.Where(x => x.RacunID == model.RacunId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault() != null) { RacunProizvod pronadjena = _db.RacunProizvodi.Where(x => x.RacunID == model.RacunId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault(); Proizvod proizvodStavka = _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault(); pronadjena.KolicinaKG += model.komada; _db.Skladiste.Where(x => x.SkladisteID == _db.Proizvodi.Where(y => y.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().SkladisteID).FirstOrDefault().KolicinaUKg -= model.komada; pronadjena.IznosRabata += Math.Round((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100), 4); pronadjena.IznosBezPDV += Math.Round(((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV) - ((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100)), 4); _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault().UkupnoBezPDV += Math.Round(((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV) - ((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100)), 4); _db.SaveChanges(); if (k.Kredit < ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno)) { r.DosadPlaceno += (double)k.Kredit; k.Kredit = 0; _db.SaveChanges(); } else if (k.Kredit > ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno)) { double dug = ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno); r.DosadPlaceno += dug; k.Kredit -= dug; r.Placeno = true; _db.SaveChanges(); } if (r.DosadPlaceno < ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno)) { r.Placeno = false; } else { r.Placeno = true; } _db.SaveChanges(); return(RedirectToAction("Uredi", new { RacunId = model.RacunId })); } RacunProizvod novaStavka = new RacunProizvod { CijenaBezPDV = _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV, // promijenjeno 21.6, bilo stavljene 4 decimale RacunID = model.RacunId, ProizvodID = model.stavka.ProizvodID, KolicinaKG = model.komada }; if (_db.OdobreniRabat.Where(x => x.KupacID == model.KupacId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault() == null) { novaStavka.Rabat = 0; } else { novaStavka.Rabat = _db.OdobreniRabat.Where(x => x.KupacID == model.KupacId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().IznosPostotci; } novaStavka.IznosRabata = Math.Round((model.komada / _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().Masa) * _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV *(novaStavka.Rabat / 100), 4); novaStavka.IznosBezPDV = Math.Round((model.komada / _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().Masa) * _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV - novaStavka.IznosRabata, 4); _db.RacunProizvodi.Add(novaStavka); _db.SaveChanges(); _db.Skladiste.Where(x => x.SkladisteID == _db.Proizvodi.Where(y => y.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().SkladisteID).FirstOrDefault().KolicinaUKg -= model.komada; _db.SaveChanges(); _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault().UkupnoBezPDV += Math.Round(novaStavka.IznosBezPDV, 4); _db.SaveChanges(); if (k.Kredit < ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno)) { r.DosadPlaceno += Math.Round((double)k.Kredit, 2); k.Kredit = 0; _db.SaveChanges(); } else if (k.Kredit > ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno)) { double dug = Math.Round(((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno), 2); r.DosadPlaceno += dug; k.Kredit -= dug; r.Placeno = true; _db.SaveChanges(); } if (r.DosadPlaceno < ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno)) { r.Placeno = false; } else { r.Placeno = true; } _db.SaveChanges(); return(RedirectToAction("Uredi", new { RacunId = model.RacunId })); }