Example #1
0
        public IActionResult Obrisi(int RacunProizvodId, int RacunId)
        {
            RacunProizvod stavka = _db.RacunProizvodi.Where(x => x.RacunProizvodID == RacunProizvodId).FirstOrDefault();

            Racun r = _db.Racuni.Where(x => x.RacunID == RacunId).FirstOrDefault();

            _db.Kupci.Where(x => x.KupacID == r.KupacID).FirstOrDefault().Kredit += stavka.IznosBezPDV + (stavka.IznosBezPDV * r.PDV);

            _db.Racuni.Where(x => x.RacunID == stavka.RacunID).FirstOrDefault().UkupnoBezPDV -= stavka.IznosBezPDV;
            _db.RacunProizvodi.Remove(stavka);
            _db.SaveChanges();
            return(RedirectToAction("Uredi", new { RacunId = RacunId }));
        }
Example #2
0
        public IActionResult SnimiStavku(RacuniDodajStavkuVM model)
        {
            Kupac k = _db.Kupci.Where(x => x.KupacID == model.KupacId).FirstOrDefault();
            Racun r = _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault();

            //model.komada predstavlja kolicinu u KG
            RacunProizvod pronadjena = _db.RacunProizvodi.Where(x => x.RacunID == model.RacunId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault();

            if (pronadjena != null)
            {
                Proizvod proizvodStavka = _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault();
                pronadjena.KolicinaKG  += model.komada;
                pronadjena.IznosRabata += Math.Round((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100), 4);
                pronadjena.IznosBezPDV += Math.Round(((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV) - ((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100)), 4);
                _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault().UkupnoBezPDV += Math.Round(((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV) - ((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100)), 4);
                _db.SaveChanges();

                _db.SaveChanges();

                return(RedirectToAction("Uredi", new { RacunId = model.RacunId }));
            }

            RacunProizvod novaStavka = new RacunProizvod
            {
                CijenaBezPDV = _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV, // promijenjeno 21.6, bilo stavljene 4 decimale
                RacunID      = model.RacunId,
                ProizvodID   = model.stavka.ProizvodID,
                KolicinaKG   = model.komada
            };

            if (_db.OdobreniRabat.Where(x => x.KupacID == model.KupacId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault() == null)
            {
                novaStavka.Rabat = 0;
            }
            else
            {
                novaStavka.Rabat = _db.OdobreniRabat.Where(x => x.KupacID == model.KupacId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().IznosPostotci;
            }

            novaStavka.IznosRabata = Math.Round((model.komada / _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().Masa) * _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV *(novaStavka.Rabat / 100), 4);
            novaStavka.IznosBezPDV = Math.Round((model.komada / _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().Masa) * _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV - novaStavka.IznosRabata, 4);

            _db.RacunProizvodi.Add(novaStavka);
            _db.SaveChanges();
            _db.SaveChanges();
            _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault().UkupnoBezPDV += Math.Round(novaStavka.IznosBezPDV, 4);
            _db.SaveChanges();

            return(RedirectToAction("Uredi", new { RacunId = model.RacunId }));
        }
Example #3
0
        public IActionResult SnimiStavkuGotovinski(RacuniDodajStavkuVM model)
        {
            //model.komada predstavlja kolicinu u KG
            if (_db.RacunProizvodi.Where(x => x.RacunID == model.RacunId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault() != null)
            {
                RacunProizvod pronadjena     = _db.RacunProizvodi.Where(x => x.RacunID == model.RacunId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault();
                Proizvod      proizvodStavka = _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault();
                pronadjena.KolicinaKG += model.komada;
                _db.Skladiste.Where(x => x.SkladisteID == _db.Proizvodi.Where(y => y.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().SkladisteID).FirstOrDefault().KolicinaUKg -= model.komada;
                pronadjena.IznosRabata += Math.Round((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100), 4);
                pronadjena.IznosBezPDV += Math.Round(((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV) - ((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100)), 4);
                _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault().UkupnoBezPDV += Math.Round(((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV) - ((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100)), 4);
                _db.SaveChanges();
                return(RedirectToAction("UrediGotovinski", new { RacunId = model.RacunId }));
            }


            RacunProizvod novaStavka = new RacunProizvod
            {
                CijenaBezPDV = _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV,
                RacunID      = model.RacunId,
                ProizvodID   = model.stavka.ProizvodID,
                KolicinaKG   = model.komada
            };

            if (_db.OdobreniRabat.Where(x => x.KupacID == model.KupacId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault() == null)
            {
                novaStavka.Rabat = 0;
            }
            else
            {
                novaStavka.Rabat = _db.OdobreniRabat.Where(x => x.KupacID == model.KupacId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().IznosPostotci;
            }
            novaStavka.IznosRabata = Math.Round((model.komada / _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().Masa) * _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV *(novaStavka.Rabat / 100), 4);
            novaStavka.IznosBezPDV = Math.Round((model.komada / _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().Masa) * _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV - novaStavka.IznosRabata, 4);
            _db.RacunProizvodi.Add(novaStavka);
            _db.SaveChanges();
            _db.Skladiste.Where(x => x.SkladisteID == _db.Proizvodi.Where(y => y.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().SkladisteID).FirstOrDefault().KolicinaUKg -= model.komada;
            _db.SaveChanges();
            _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault().UkupnoBezPDV += Math.Round(novaStavka.IznosBezPDV, 4);
            _db.SaveChanges();
            return(RedirectToAction("UrediGotovinski", new { RacunId = model.RacunId }));
        }
Example #4
0
        public IActionResult SnimiStavku(RacuniDodajStavkuVM model)
        {
            Kupac k = _db.Kupci.Where(x => x.KupacID == model.KupacId).FirstOrDefault();
            Racun r = _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault();

            //model.komada predstavlja kolicinu u KG
            if (_db.RacunProizvodi.Where(x => x.RacunID == model.RacunId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault() != null)
            {
                RacunProizvod pronadjena     = _db.RacunProizvodi.Where(x => x.RacunID == model.RacunId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault();
                Proizvod      proizvodStavka = _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault();
                pronadjena.KolicinaKG += model.komada;
                _db.Skladiste.Where(x => x.SkladisteID == _db.Proizvodi.Where(y => y.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().SkladisteID).FirstOrDefault().KolicinaUKg -= model.komada;
                pronadjena.IznosRabata += Math.Round((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100), 4);
                pronadjena.IznosBezPDV += Math.Round(((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV) - ((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100)), 4);
                _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault().UkupnoBezPDV += Math.Round(((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV) - ((model.komada / proizvodStavka.Masa) * proizvodStavka.CijenaBezPDV * (pronadjena.Rabat / 100)), 4);
                _db.SaveChanges();


                if (k.Kredit < ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno))
                {
                    r.DosadPlaceno += (double)k.Kredit;
                    k.Kredit        = 0;
                    _db.SaveChanges();
                }
                else if (k.Kredit > ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno))
                {
                    double dug = ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno);
                    r.DosadPlaceno += dug;
                    k.Kredit       -= dug;
                    r.Placeno       = true;
                    _db.SaveChanges();
                }


                if (r.DosadPlaceno < ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno))
                {
                    r.Placeno = false;
                }
                else
                {
                    r.Placeno = true;
                }

                _db.SaveChanges();

                return(RedirectToAction("Uredi", new { RacunId = model.RacunId }));
            }


            RacunProizvod novaStavka = new RacunProizvod
            {
                CijenaBezPDV = _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV, // promijenjeno 21.6, bilo stavljene 4 decimale
                RacunID      = model.RacunId,
                ProizvodID   = model.stavka.ProizvodID,
                KolicinaKG   = model.komada
            };

            if (_db.OdobreniRabat.Where(x => x.KupacID == model.KupacId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault() == null)
            {
                novaStavka.Rabat = 0;
            }
            else
            {
                novaStavka.Rabat = _db.OdobreniRabat.Where(x => x.KupacID == model.KupacId && x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().IznosPostotci;
            }
            novaStavka.IznosRabata = Math.Round((model.komada / _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().Masa) * _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV *(novaStavka.Rabat / 100), 4);
            novaStavka.IznosBezPDV = Math.Round((model.komada / _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().Masa) * _db.Proizvodi.Where(x => x.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().CijenaBezPDV - novaStavka.IznosRabata, 4);
            _db.RacunProizvodi.Add(novaStavka);
            _db.SaveChanges();
            _db.Skladiste.Where(x => x.SkladisteID == _db.Proizvodi.Where(y => y.ProizvodID == model.stavka.ProizvodID).FirstOrDefault().SkladisteID).FirstOrDefault().KolicinaUKg -= model.komada;
            _db.SaveChanges();
            _db.Racuni.Where(x => x.RacunID == model.RacunId).FirstOrDefault().UkupnoBezPDV += Math.Round(novaStavka.IznosBezPDV, 4);
            _db.SaveChanges();


            if (k.Kredit < ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno))
            {
                r.DosadPlaceno += Math.Round((double)k.Kredit, 2);
                k.Kredit        = 0;
                _db.SaveChanges();
            }
            else if (k.Kredit > ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno))
            {
                double dug = Math.Round(((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno), 2);
                r.DosadPlaceno += dug;
                k.Kredit       -= dug;
                r.Placeno       = true;
                _db.SaveChanges();
            }


            if (r.DosadPlaceno < ((r.UkupnoBezPDV + (r.UkupnoBezPDV * r.PDV)) - r.DosadPlaceno))
            {
                r.Placeno = false;
            }
            else
            {
                r.Placeno = true;
            }

            _db.SaveChanges();

            return(RedirectToAction("Uredi", new { RacunId = model.RacunId }));
        }