public IActionResult DodajStavku(int RacunId) { RacunDobavljaca racun = db.RacuniDobavljaca.Include(p => p.Dobavljac).Where(x => x.RacunDobavljacaID == RacunId).FirstOrDefault(); RacunDobavljacaDodajStavkuVM model = new RacunDobavljacaDodajStavkuVM(); model.proizvodi = new List <SelectListItem>(); //model.proizvodi.Add(new SelectListItem() //{ // Value = null, // Text = "Odaberite proizvod" //}); model.proizvodi.AddRange(db.ProizvodDobavljac.Include(p => p.VrstaProizvoda).Where(x => x.DobavljacID == racun.Dobavljac.DobavljacID).Select(y => new SelectListItem { Text = y.VrstaProizvoda.Naziv, Value = y.VrstaProizvoda.VrstaProizvodaID.ToString() }).ToList()); model.stavka = new RacunProizvodDobavljaca(); model.stavka.RacunDobavljacaID = RacunId; return(View(model)); }
public IActionResult Obrisi(int RacunId) { RacunDobavljaca racun = db.RacuniDobavljaca.Where(x => x.RacunDobavljacaID == RacunId).FirstOrDefault(); if (racun.DosadPlaceno > 0) { Dobavljac dobavljac = db.Dobavljaci.Where(x => x.DobavljacID == racun.DobavljacID).FirstOrDefault(); dobavljac.Kredit += racun.DosadPlaceno; db.Dobavljaci.Update(dobavljac); db.SaveChanges(); } List <RacunProizvodDobavljaca> stavke = db.RacunProizvodDobavljaca.Where(x => x.RacunDobavljacaID == RacunId).ToList(); if (stavke != null) { foreach (var x in stavke) { db.RacunProizvodDobavljaca.Remove(x); db.SaveChanges(); } } db.RacuniDobavljaca.Remove(racun); db.SaveChanges(); return(RedirectToAction(nameof(Index))); }
public IActionResult Detalji(int RacunId) { RacunDobavljaca racun = db.RacuniDobavljaca.Include(p => p.Dobavljac).Where(x => x.RacunDobavljacaID == RacunId).FirstOrDefault(); RacunDobavljacaDetaljiVM model = new RacunDobavljacaDetaljiVM(); model.racun = racun; model.stavke = db.RacunProizvodDobavljaca.Include(p => p.VrstaProizvoda).Where(x => x.RacunDobavljacaID == racun.RacunDobavljacaID).ToList(); if (racun.DosadPlaceno > 0) { // List <RacunDobavljaca> Racuni = db.RacuniDobavljaca.Include(p => p.Dobavljac).Where(x => x.Datum.Month == DateTime.Now.Month || x.Datum.Month == (DateTime.Now.Month - 1)).ToList(); if (Racuni.Count != 0) { //zadnji ID model.zadnjiID = db.RacuniDobavljaca.Max(p => p.RacunDobavljacaID); // } // } return(View(model)); }
public IActionResult SnimiStavku(RacunDobavljacaDodajStavkuVM model) { RacunProizvodDobavljaca stavka = model.stavka; stavka.IznosSaPDV = Math.Round(model.stavka.IznosSaPDV, 4); stavka.IznosBezPDV = Math.Round(model.stavka.IznosSaPDV * 0.83, 4); db.RacunProizvodDobavljaca.Add(stavka); db.SaveChanges(); // RacunDobavljaca racun = db.RacuniDobavljaca.Include(p => p.Dobavljac).Where(x => x.RacunDobavljacaID == stavka.RacunDobavljacaID).FirstOrDefault(); racun.UkupnoBezPDV += stavka.IznosBezPDV; racun.UkupnoSaPDV += stavka.IznosSaPDV; // regulisanje kredita pri dodavanju stavki Dobavljac dobavljac = db.Dobavljaci.Where(x => x.DobavljacID == racun.DobavljacID).FirstOrDefault(); double kredit = (double)dobavljac.Kredit; if (kredit != 0) { double potrebno = racun.UkupnoSaPDV - racun.DosadPlaceno; if (kredit <= potrebno) { racun.DosadPlaceno += kredit; dobavljac.Kredit = 0; } else { dobavljac.Kredit -= potrebno; racun.DosadPlaceno += potrebno; } if (racun.UkupnoSaPDV <= racun.DosadPlaceno) { racun.Placeno = true; } else { racun.Placeno = false; } db.Dobavljaci.Update(dobavljac); } // db.RacuniDobavljaca.Update(racun); db.SaveChanges(); return(RedirectToAction(nameof(Detalji), new { RacunId = model.stavka.RacunDobavljacaID })); }
public IActionResult ObrisiStavku(int StavkaId) { RacunProizvodDobavljaca stavka = db.RacunProizvodDobavljaca.Where(x => x.RacunProizvodDobavljacaID == StavkaId).FirstOrDefault(); RacunDobavljaca racun = db.RacuniDobavljaca.Where(x => x.RacunDobavljacaID == stavka.RacunDobavljacaID).FirstOrDefault(); racun.UkupnoBezPDV -= stavka.IznosBezPDV; racun.UkupnoSaPDV -= stavka.IznosSaPDV; db.RacuniDobavljaca.Update(racun); db.RacunProizvodDobavljaca.Remove(stavka); db.SaveChanges(); return(RedirectToAction(nameof(Detalji), new { RacunId = racun.RacunDobavljacaID })); }
public IActionResult Snimi(RacuniDobavljacaDodajVM model) { RacunDobavljaca racun = new RacunDobavljaca(); racun.BrojRacuna = model.BrojRacuna; racun.DobavljacID = model.DobavljacID; racun.Datum = Convert.ToDateTime(model.Datum); racun.UkupnoBezPDV = 0; racun.UkupnoSaPDV = 0; racun.DosadPlaceno = 0; racun.Placeno = false; db.RacuniDobavljaca.Add(racun); db.SaveChanges(); return(RedirectToAction(nameof(Detalji), new { RacunId = racun.RacunDobavljacaID })); }
public IActionResult Obrisi(int UplataID) { UplataDobavljacu uplata = db.UplateDobavljacu.Where(x => x.UplataDobavljacuID == UplataID).FirstOrDefault(); int DobavljacID = uplata.DobavljacID; // regulisanje prema racunima Dobavljac dobavljac = db.Dobavljaci.Where(x => x.DobavljacID == DobavljacID).FirstOrDefault(); double IznosUplate = Math.Round(uplata.Iznos, 4); double?IznosKredita = dobavljac.Kredit; if (IznosUplate >= IznosKredita) { dobavljac.Kredit = 0; IznosUplate -= (double)IznosKredita; db.Dobavljaci.Update(dobavljac); db.SaveChanges(); } else { dobavljac.Kredit -= IznosUplate; IznosUplate = 0; db.Dobavljaci.Update(dobavljac); db.SaveChanges(); } if (IznosUplate > 0) { RacunDobavljaca polovican = db.RacuniDobavljaca.Where(x => x.DobavljacID == DobavljacID && x.DosadPlaceno > 0 && x.Placeno == false).FirstOrDefault(); if (polovican != null) { double PolovicanDosadPlaceno = Math.Round(polovican.DosadPlaceno, 4); if (IznosUplate >= PolovicanDosadPlaceno) { polovican.DosadPlaceno = 0; IznosUplate -= PolovicanDosadPlaceno; } else { polovican.DosadPlaceno -= IznosUplate; IznosUplate = 0; } db.RacuniDobavljaca.Update(polovican); db.SaveChanges(); } } if (IznosUplate > 0) { List <RacunDobavljaca> racuni = db.RacuniDobavljaca.Where(x => x.Placeno == true && x.DobavljacID == DobavljacID).OrderByDescending(p => p.Datum).ToList(); foreach (var x in racuni) { double UkupnoZaNaplatu = Math.Round(x.UkupnoSaPDV, 4); if (IznosUplate > 0) { if (IznosUplate >= UkupnoZaNaplatu) { x.DosadPlaceno = 0; x.Placeno = false; IznosUplate -= UkupnoZaNaplatu; db.RacuniDobavljaca.Update(x); db.SaveChanges(); } else { x.Placeno = false; x.DosadPlaceno -= IznosUplate; IznosUplate = 0; db.RacuniDobavljaca.Update(x); db.SaveChanges(); } if (IznosUplate <= 0) { break; } } } } db.UplateDobavljacu.Remove(uplata); db.SaveChanges(); return(RedirectToAction(nameof(Index))); }