public IActionResult Dodaj(int DobavljacId) { UplateDobavljacuDodajVM model = new UplateDobavljacuDodajVM(); model.DobavljacID = DobavljacId; model.NazivDobavljaca = db.Dobavljaci.Where(x => x.DobavljacID == DobavljacId).FirstOrDefault().Naziv; model.IznosUplate = 0; model.Dodaj = true; model.BrojIzvoda = ""; return(View(model)); }
public IActionResult Snimi(UplateDobavljacuDodajVM model) { if (model.Dodaj == true) { UplataDobavljacu nova = new UplataDobavljacu(); nova.Iznos = model.IznosUplate; nova.DobavljacID = model.DobavljacID; nova.Datum = model.Datum; nova.Brojizvoda = model.BrojIzvoda; db.UplateDobavljacu.Add(nova); db.SaveChanges(); // regulisanje uplata prema racunima double NoviIznos = Math.Round(model.IznosUplate, 4); List <RacunDobavljaca> racuni = db.RacuniDobavljaca.Where(x => x.Placeno == false && x.DobavljacID == nova.DobavljacID).ToList(); foreach (var x in racuni) { double DosadPlaceno = x.DosadPlaceno; double IznosRacuna = x.UkupnoSaPDV; // ukupno za naplatu double potrebno = Math.Round(IznosRacuna - DosadPlaceno, 4); if (NoviIznos >= potrebno) { NoviIznos -= potrebno; x.DosadPlaceno = Math.Round(x.DosadPlaceno, 4) + potrebno; x.Placeno = true; } else { x.DosadPlaceno = Math.Round(x.DosadPlaceno, 4) + NoviIznos; NoviIznos = 0; } if (Math.Round(x.DosadPlaceno, 4) == Math.Round(IznosRacuna, 4)) { x.Placeno = true; } if (NoviIznos == 0) { db.RacuniDobavljaca.Update(x); db.SaveChanges(); break; } db.RacuniDobavljaca.Update(x); db.SaveChanges(); } if (NoviIznos > 0) { Dobavljac dobavljac = db.Dobavljaci.Where(x => x.DobavljacID == model.DobavljacID).FirstOrDefault(); dobavljac.Kredit += Math.Round(NoviIznos, 4); db.Dobavljaci.Update(dobavljac); db.SaveChanges(); } } return(RedirectToAction(nameof(Index))); }