Example #1
0
        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));
        }
Example #2
0
        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)));
        }