public IActionResult Dodaj(int ProjekcijaID)
        {
            MojDbContext db         = new MojDbContext();
            var          projekcija = db.Projekcija.Where(y => y.Id == ProjekcijaID).FirstOrDefault();
            var          nazivFilma = db.Projekcija.Where(y => y.Id == ProjekcijaID).Select(y => y.Film.Naziv).FirstOrDefault();
            var          dvorana    = db.Projekcija.Where(y => y.Id == ProjekcijaID).Select(y => y.Dvorana.Naziv).FirstOrDefault();
            var          dvoranaId  = db.Projekcija.Where(y => y.Id == ProjekcijaID).Select(y => y.Dvorana.DvoranaID).FirstOrDefault();

            // ovo je u slucaju da je kreirano
            var ukupno  = db.projekcijaSjedista.Where(y => y.ProjekcijaID == ProjekcijaID).Distinct().Count();
            var zauzeto = db.projekcijaSjedista.Where(y => y.ProjekcijaID == ProjekcijaID && y.Zauzeto == true).Count();

            if (ukupno == 0)
            {
                if (db.projekcijaSjedista.Where(y => y.ProjekcijaID == ProjekcijaID && y.Zauzeto == false).Any() == false)
                {
                    ukupno = db.Sjedista.Where(y => y.DvoranaID == dvoranaId).Count();
                }
                else
                {
                    ukupno = 0;
                }
            }
            RezervacijaAddVM m = new RezervacijaAddVM()
            {
                NazivFilma = nazivFilma, Dvorana = dvorana, Datum = DateTime.Now, ProjekcijaID = ProjekcijaID, Cijena = projekcija.Cijena, DostupanBrojSjedista = ukupno - zauzeto
            };

            return(View(m));
        }
예제 #2
0
        public int Add([FromBody] RezervacijaAddVM input)
        {
            Rezervacija newRezervacija = new Rezervacija()
            {
                Datum      = DateTime.Parse(input.datum),
                Vrijeme    = DateTime.Parse(input.vrijeme),
                Vrsta      = input.vrsta,
                KorisnikId = input.korsnikId,
                RestoranId = input.restoranId,
                BrojOsoba  = input.brojOsoba
            };

            _db.Add(newRezervacija);
            _db.SaveChanges();
            return(0);
        }
        public ActionResult <RezervacijaPregledVM> Post([FromBody] RezervacijaAddVM input)
        {
            var korisnik = HttpContext.GetKorisnikOfAuthToken();

            Rezervacija rezervacija = new Rezervacija()
            {
                BrojDjece    = input.BrojDjece,
                BrojOsoba    = input.BrojOsoba,
                BrojSoba     = input.BrojSoba,
                DatumDolaska = DateTime.Parse(input.datumDolaska.Replace('.', '-')),
                DatumOdlaska = DateTime.Parse(input.datumOdlaska.Replace('.', '-')),
                KorisnikId   = korisnik.Id
            };

            _db.Rezervacija.Add(rezervacija);
            _db.SaveChanges();
            return(Json(rezervacija));
        }
예제 #4
0
        public IActionResult Add([FromBody] RezervacijaAddVM nova)
        {
            Rezervacija rezervacija = new Rezervacija()
            {
                KartaCijenaId         = nova.kartaCijenaId,
                KorisnikRezervacijaId = nova.korisnikRezervacijaId
            };

            _db.Add(rezervacija);
            _db.SaveChanges();



            Rezervacija      k = _db.Rezervacija.Where(x => x.Id == rezervacija.Id).SingleOrDefault();
            RezervacijaAddVM novaRezervacija = new RezervacijaAddVM();

            novaRezervacija.kartaCijenaId         = k.KartaCijenaId;
            novaRezervacija.korisnikRezervacijaId = k.KorisnikRezervacijaId;

            return(Ok(novaRezervacija));
        }
        public IActionResult Spasi(RezervacijaAddVM nova)
        {
            MojDbContext db        = new MojDbContext();
            Korisnik     k         = HttpContext.GetLogiraniKorisnik();
            var          kupacID   = db.Kupac.Where(i => i.KorisnikID == k.KorisnikID).Select(y => y.KupacID).FirstOrDefault();
            var          dvoranaid = db.Projekcija.Where(y => y.Id == nova.ProjekcijaID).Select(y => y.DvoranaID).FirstOrDefault();
            var          sjedista  = db.Sjedista.Where(y => y.DvoranaID == dvoranaid).ToList();
            Rezervacija  r         = new Rezervacija()
            {
                Datum        = nova.Datum,
                brojSjedista = nova.OdabraniBrojSjedista,
                ProjekcijaID = nova.ProjekcijaID,
                KupacID      = kupacID,
                UkupnaCijena = nova.Cijena
            };

            db.Add(r);
            db.SaveChanges();


            if (db.projekcijaSjedista.Where(y => y.ProjekcijaID == nova.ProjekcijaID).Any() == false)
            {
                foreach (var item in sjedista)
                {
                    ProjekcijaSjedista ps = new ProjekcijaSjedista {
                        ProjekcijaID = nova.ProjekcijaID, SjedisteID = item.SjedisteID
                    };
                    db.Add(ps);
                    db.SaveChanges();
                }
            }

            var listaPR = db.projekcijaSjedista.Where(y => y.ProjekcijaID == nova.ProjekcijaID && y.Zauzeto == false).ToList();

            int brojac = 0;

            foreach (var item in listaPR)
            {
                if (brojac != nova.OdabraniBrojSjedista)
                {
                    item.Zauzeto       = true;
                    item.RezervacijaID = r.Id;
                    db.Update(item);
                    db.SaveChanges();
                }
                else
                {
                    break;
                }
                brojac++;
            }
            db.SaveChanges();
            string KupacMail = db.Korisnici.Where(i => i.KorisnikID == k.KorisnikID).Select(n => n.Email).FirstOrDefault();
            {
                var message = new MimeMessage();
                message.To.Add(new MailboxAddress(KupacMail));
                message.From.Add(new MailboxAddress("*****@*****.**"));

                message.Subject = "Poruka o rezervaciji";
                message.Body    = new TextPart("plain")
                {
                    Text = "Uspješno ste rezervisali sjedišta!"
                };

                //using (var client = new SmtpClient())
                //{
                //    client.Connect("smtp-mail.outlook.com", 587, SecureSocketOptions.StartTls);

                //    client.Authenticate("eKino2020", "Kino1234");//username i password
                //    client.Send(message);

                //    client.Disconnect(true);
                //}
                //ViewData["poruka-kljuc"] = poruka;
                //ViewData["poruka1-kljuc"] = poruka1;
                return(View());
            }
        }