public IActionResult Snimi(DodatneUslugeDodajVM model)
        {
            if (!ModelState.IsValid)
            {
                return(View("Dodaj", model));
            }
            DodatneUsluge dodatneUsluge = null;

            if (model.DodatneUsluge.Id != 0)
            {
                dodatneUsluge = model.DodatneUsluge;
                _db.DodatneUsluge.Update(dodatneUsluge);
                _db.SaveChanges();
            }
            else
            {
                dodatneUsluge = new DodatneUsluge
                {
                    Naziv  = model.DodatneUsluge.Naziv,
                    Opis   = model.DodatneUsluge.Opis,
                    Cijena = model.DodatneUsluge.Cijena
                };
                _db.DodatneUsluge.Add(dodatneUsluge);
                _db.SaveChanges();
            }
            return(Redirect("/Administrator/DodatneUsluge/Index"));
        }
        public IActionResult Uredi(int uslugaID)
        {
            DodatneUslugeDodajVM model = new DodatneUslugeDodajVM
            {
                DodatneUsluge = _db.DodatneUsluge.Find(uslugaID)
            };

            return(View(nameof(Dodaj), model));
        }
        public IActionResult Dodaj(int uslugaID)
        {
            DodatneUslugeDodajVM model = new DodatneUslugeDodajVM
            {
                DodatneUsluge = new DodatneUsluge()
            };

            return(View(model));
        }
예제 #4
0
        public IActionResult DodatneUsluge()
        {
            DodatneUslugeDodajVM dodatneUslugeDodajVM = new DodatneUslugeDodajVM();
            List <DodatneUsluge> DodatneUsluge        = db.DodatneUsluge.ToList();

            //PreuzimanjeSesijeID
            string SifraRezervacije = null;

            try
            {
                SifraRezervacije = Request.Cookies["Sesion"];
            }
            catch (Exception)
            {
                throw;
            }
            if (SifraRezervacije == null)
            {
                //redirect na pocetnu str ili ispisati nesto
            }
            List <RezervisanaUsluga> RezervisaneUslugeFromDB = db.RezervisanaUsluga.Where(x => x.Rezervacija.SifraRezervacije == SifraRezervacije).ToList();


            //Preuzeti vozilo iz rezervacije
            int VoziloID = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).Select(y => y.VoziloID).FirstOrDefault();


            bool kuka = db.Vozilo.FirstOrDefault(v => v.VoziloID == VoziloID).Kuka;

            dodatneUslugeDodajVM.Kuka = kuka;
            //provjera da li rezervacija ima sprmeljenu prikolicu
            int?idPrikolice = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).Select(y => y.PrikolicaID).FirstOrDefault();

            dodatneUslugeDodajVM.DodajPrikolicu = idPrikolice == null ? false : true;
            dodatneUslugeDodajVM.rows           = new List <DodatneUslugeDodajVM.UslugeVm>();

            for (int i = 0; i < DodatneUsluge.Count; i++)
            {
                bool selektovano = RezervisaneUslugeFromDB.Any(ru => ru.DodatneUslugeID == DodatneUsluge[i].DodatneUslugeID);
                DodatneUslugeDodajVM.UslugeVm x = new DodatneUslugeDodajVM.UslugeVm
                {
                    Selected = selektovano,
                    Cijena   = DodatneUsluge[i].Cijena,
                    Naziv    = DodatneUsluge[i].Naziv,
                    Opis     = DodatneUsluge[i].Opis
                };
                dodatneUslugeDodajVM.rows.Add(x);
            }

            return(View(nameof(DodatneUsluge), dodatneUslugeDodajVM));
        }
예제 #5
0
        public IActionResult DodatneUslugeDodaj(DodatneUslugeDodajVM model)
        {
            string SifraRezervacije = null;

            try
            {
                SifraRezervacije = Request.Cookies["Sesion"];
            }
            catch (Exception)
            {
                throw;
            }
            if (SifraRezervacije == null)
            {
                //redirect na pocetnu str ili ispisati nesto
            }


            int         RezervacijaID = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).Select(y => y.RezervacijaID).FirstOrDefault();
            Rezervacija rezervacija   = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).FirstOrDefault();
            List <RezervisanaUsluga> rezervisanaUslugaFromDB = db.RezervisanaUsluga.Where(x => x.RezervacijaID == RezervacijaID).ToList();

            if (!ModelState.IsValid)
            {
                return(Redirect(nameof(DodatneUsluge)));
            }

            List <RezervisanaUsluga> rezervisanaUslugaZaDodati   = new List <RezervisanaUsluga>();
            List <RezervisanaUsluga> rezervisanaUslugaZaObrisati = new List <RezervisanaUsluga>();

            for (int i = 0; i < model.rows.Count; i++)
            {
                try
                {
                    double            cijena = (db.DodatneUsluge.Where(du => du.Naziv == model.rows[i].Naziv).FirstOrDefault().Cijena) * model.rows[i].Kolicina;
                    RezervisanaUsluga r      = new RezervisanaUsluga
                    {
                        Kolicina           = model.rows[i].Kolicina,
                        DodatneUslugeID    = db.DodatneUsluge.Where(x => x.Naziv == model.rows[i].Naziv).Select(y => y.DodatneUslugeID).FirstOrDefault(),
                        UkupnaCijenaUsluge = cijena,
                        RezervacijaID      = RezervacijaID
                    };

                    if (!rezervisanaUslugaFromDB.Any(p => p.DodatneUslugeID == r.DodatneUslugeID) && model.rows[i].Selected)
                    {
                        rezervisanaUslugaZaDodati.Add(r);
                        rezervacija.Cijena += r.UkupnaCijenaUsluge;
                        db.SaveChanges();
                    }
                    else if (rezervisanaUslugaFromDB.Any(p => p.DodatneUslugeID == r.DodatneUslugeID) && model.rows[i].Selected == false)
                    {
                        RezervisanaUsluga rv = db.RezervisanaUsluga.Where(c => c.DodatneUslugeID == r.DodatneUslugeID && c.RezervacijaID == r.RezervacijaID).FirstOrDefault();
                        rezervisanaUslugaZaObrisati.Add(rv);
                        rezervacija.Cijena -= r.UkupnaCijenaUsluge;
                        db.SaveChanges();
                    }
                    else if (rezervisanaUslugaFromDB.Any(p => p.DodatneUslugeID == r.DodatneUslugeID) && model.rows[i].Selected == true)
                    {
                        RezervisanaUsluga RUforUpdate = db.RezervisanaUsluga.Where(x => x.DodatneUslugeID == r.DodatneUslugeID && x.RezervacijaID == r.RezervacijaID).FirstOrDefault();
                        rezervacija.Cijena -= RUforUpdate.UkupnaCijenaUsluge;

                        RUforUpdate.Kolicina           = r.Kolicina;
                        RUforUpdate.UkupnaCijenaUsluge = r.UkupnaCijenaUsluge;
                        rezervacija.Cijena            += RUforUpdate.UkupnaCijenaUsluge;

                        db.SaveChanges();
                    }
                }
                catch (Exception)
                {
                    continue;
                }
            }

            db.RemoveRange(rezervisanaUslugaZaObrisati);
            db.AddRange(rezervisanaUslugaZaDodati);

            db.SaveChanges();



            //povlcenje prikolica
            if (model.DodajPrikolicu)
            {
                return(RedirectPermanent(nameof(Prikolice)));
            }
            else
            {
                int? idPrikolice = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).Select(y => y.PrikolicaID).FirstOrDefault();
                bool p           = idPrikolice == null ? false : true;
                if (p)
                {
                    double      cijenaPrikolice = db.Prikolica.Where(pr => pr.PrikolicaID == idPrikolice).FirstOrDefault().Cijna;
                    Rezervacija Rezervacija     = db.Rezervacija.Where(x => x.SifraRezervacije == SifraRezervacije).FirstOrDefault();
                    Rezervacija.Cijena     -= cijenaPrikolice;
                    Rezervacija.PrikolicaID = null;
                    db.SaveChanges();
                }
            }

            return(RedirectPermanent(nameof(Placanje)));
        }