Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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 }));
        }