Exemplo 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));
        }
Exemplo n.º 2
0
        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)));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
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 }));
        }
Exemplo n.º 5
0
        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 }));
        }
Exemplo n.º 6
0
        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 }));
        }
Exemplo n.º 7
0
        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)));
        }