示例#1
0
        public IActionResult SnimiUlaznicu(UlaznicaDodajVM model)
        {
            KorisnickiNalog kupac = HttpContext.GetLogiraniKorisnik();
            MyContext       db    = new MyContext();

            Kupac        k = db.Kupac.Where(x => x.KorisnickiNalogID == kupac.KorisnickiNalogID).FirstOrDefault();
            Rezervacija  r = db.Rezervacija.Where(x => x.RezervacijaID == model.Ulaznica.RezervacijaID).FirstOrDefault();
            Prikazivanje p = db.Prikazivanje.Where(x => x.PrikazivanjeID == r.PrikazivanjeID).FirstOrDefault();

            Ulaznica u = model.Ulaznica;

            u.KupacID        = kupac.KorisnickiNalogID;
            u.Kupac          = db.Kupac.Where(x => x.KorisnickiNalogID == kupac.KorisnickiNalogID).FirstOrDefault();
            u.RezervacijaID  = model.Ulaznica.RezervacijaID;
            u.PrikazivanjeID = p.PrikazivanjeID;

            db.Ulaznica.Add(u);

            int cijena = Convert.ToInt32(p.Cijena);

            if (k.BrojTokena > cijena)
            {
                k.BrojTokena -= cijena;
                db.Kupac.Update(k);
                db.SaveChanges();
                db.Dispose();
                return(RedirectToAction("MojeUlaznice"));
            }
            else
            {
                TempData["error_poruka"] = "Nemate dovoljan broj tokena da platite ulaznicu!";
                return(RedirectToAction("MojeUlaznice"));
            }
        }
示例#2
0
        public IActionResult KupiUlaznicu(int id)
        {
            KorisnickiNalog korisnik = HttpContext.GetLogiraniKorisnik();
            MyContext       db       = new MyContext();

            Rezervacija     r     = db.Rezervacija.Where(x => x.RezervacijaID == id).FirstOrDefault();
            Prikazivanje    p     = db.Prikazivanje.Where(x => x.PrikazivanjeID == r.PrikazivanjeID).FirstOrDefault();
            List <Ulaznica> ul    = db.Ulaznica.Where(x => x.PrikazivanjeID == p.PrikazivanjeID).Include(x => x.Sjediste).Include(x => x.Prikazivanje).ThenInclude(x => x.Sala) /*.Select(x=>x.SjedisteID)*/.ToList();
            Ulaznica        u     = db.Ulaznica.Where(x => x.PrikazivanjeID == p.PrikazivanjeID).FirstOrDefault();
            List <Sjediste> sjed  = db.Sjediste.ToList();
            List <Sjediste> sjed2 = ul.Select(x => x.Sjediste).ToList();

            var lista = sjed.Except(sjed2);

            UlaznicaDodajVM model = new UlaznicaDodajVM()
            {
                Ulaznica = new Ulaznica()
                {
                    RezervacijaID = id
                },
                KupacId      = korisnik.KorisnickiNalogID,
                Kupac        = db.Kupac.Where(x => x.KorisnickiNalogID == korisnik.KorisnickiNalogID).Select(x => x.Ime + " " + x.Prezime).FirstOrDefault(),
                Prikazivanje = db.Rezervacija.Where(y => y.RezervacijaID == id).Include(y => y.Prikazivanje).ThenInclude(y => y.Predstava).Select(y => y.Prikazivanje.Predstava.Naziv + " / " + y.Prikazivanje.DatumPrikazivanja).FirstOrDefault(),
                Cijena       = db.Rezervacija.Where(y => y.RezervacijaID == id).Include(y => y.Prikazivanje).Select(y => y.Prikazivanje.Cijena).FirstOrDefault(),
                Sjedista     = lista.Select(m => new SelectListItem()
                {
                    Value = m.SjedisteID.ToString(),
                    Text  = /*m.Sala.Naziv + ";*/ "Red: " + m.Red + " ; Kolona: " + m.Kolona
                }).ToList(),
            };

            return(View(model));
        }