Exemple #1
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Naziv,BrojSedista,Tehnologija")] Sala sala)
        {
            if (id != sala.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(sala);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SalaExists(sala.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(sala));
        }
        public async Task <IActionResult> Edit(int id, [Bind("ID,Naslov,OrgininalniNaslov,PocetakPrikazivanja,DuzinaTranjanja,Drzava,Godina,Zanr,Opis,YoutubeUrl,SlikaUrl")] Film film)
        {
            if (id != film.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(film);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FilmExists(film.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(film));
        }
Exemple #3
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,FilmId,SalaId,Datum,Vreme,SlobodnoSedista")] Projekcija projekcija)
        {
            if (id != projekcija.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    projekcija.SlobodnoSedista = _context.Sala.Where(m => m.ID == projekcija.SalaId).SingleOrDefault().BrojSedista;
                    _context.Update(projekcija);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProjekcijaExists(projekcija.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                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));
        }
Exemple #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));
        }