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