Beispiel #1
0
        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,Naslov,OrgininalniNaslov,PocetakPrikazivanja,DuzinaTranjanja,Drzava,Godina,Zanr,Opis,YoutubeUrl,SlikaUrl")] Film film)
        {
            if (ModelState.IsValid)
            {
                _context.Add(film);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(film));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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));
        }