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")); } }
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)); }