public async Task <IActionResult> Create([Bind("ID,Naziv,BrojSedista,Tehnologija")] Sala sala) { if (ModelState.IsValid) { _context.Add(sala); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(sala)); }
public async Task <IActionResult> Create([Bind("ID,FilmId,SalaId,Datum,Vreme,SlobodnoSedista")] Projekcija projekcija) { projekcija.SlobodnoSedista = _context.Sala.Where(m => m.ID == projekcija.SalaId).SingleOrDefault().BrojSedista; if (ModelState.IsValid) { _context.Add(projekcija); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["FilmId"] = new SelectList(_context.Film, "ID", "Naslov", projekcija.FilmId); ViewData["SalaId"] = new SelectList(_context.Sala, "ID", "Naziv", projekcija.SalaId); return(View(projekcija)); }
public async Task <IActionResult> Create([Bind("ID,ApplicationUserId,ProjekcijaId,BrojKarata")] Rezervacija rezervacija) { var projekcija = await _context.Projekcija .Include(p => p.Film) .Include(p => p.Sala) .SingleOrDefaultAsync(p => p.ID == rezervacija.ProjekcijaId); if (rezervacija.BrojKarata > projekcija.SlobodnoSedista) { ModelState.AddModelError("BrojKarata", "Nažalost, nema dovoljno slobodnih mesta za odabranu projekciju. Molimo pokušajte rezervaciju manjeg broja karata ili neku drugu projekciju."); rezervacija.Projekcija = projekcija; return(View(rezervacija)); } var appUser = await _userManager.FindByEmailAsync(rezervacija.ApplicationUserId); rezervacija.ApplicationUserId = appUser.Id; projekcija.SlobodnoSedista -= rezervacija.BrojKarata; _context.Update(projekcija); await _context.SaveChangesAsync(); if (ModelState.IsValid) { _context.Add(rezervacija); await _context.SaveChangesAsync(); string ulaznice = ""; if (rezervacija.BrojKarata == 1) { ulaznice = " ulaznicu"; } else if (rezervacija.BrojKarata == 5) { ulaznice = " ulaznica"; } else { ulaznice = " ulaznice"; } string message = "Poštovani," + "</br></br>" + "Uspešno ste rezervisali " + rezervacija.BrojKarata + ulaznice + " za film " + projekcija.Film.Naslov + "!" + "</br>" + "Projekcija filma je " + projekcija.Datum.ToString("dd.MM.yyyy.") + " u " + projekcija.Vreme.ToString("HH:mm") + " sati." + "</br></br>" + "Molimo Vas da budete u bioskopu najkasnije pola sata pre projekcije, kako biste preuzeli svoje ulaznice." + "</br></br>" + "Hvala što koristite naš sistem!"; await _emailSender.SendEmailAsync(appUser.Email, "Uspešna rezervacija", message); return(RedirectToAction(nameof(RezervacijeController.Success))); } return(View(rezervacija)); }