public ActionResult PozoviPrijatelje() { REZERVACIJA rez = TempData["rez"] as REZERVACIJA; TempData["rez1"] = TempData["rez"]; var prijatelji = (db.PRIJATELJIs.Where(y => y.EMAIL_GOSTA1 == rez.EMAIL_GOSTA).Select(y => y.EMAIL_GOSTA)); List <PRIJATELJI> listaPri = new List <PRIJATELJI>(); int brojPri = 0; foreach (var item in prijatelji) { listaPri.Add(db.PRIJATELJIs.Where(x => x.EMAIL_GOSTA == item).Where(y => y.EMAIL_GOSTA1 == rez.EMAIL_GOSTA).Single()); brojPri++; } var model = new PoziviPrijatelja { SelektovaniPr = new[] { "1" }, prijateljiGosta = listaPri.Select(x => new SelectListItem { Value = x.EMAIL_GOSTA, Text = x.GOST.IME_GOSTA + " " + x.GOST.PREZIME_GOSTA }) }; return(View(model)); }
public ActionResult RezervisiRestoran(REZERVACIJA rez) { DateTime datum = rez.DATUM; DateTime dolazak = new DateTime(rez.DATUM.Year, rez.DATUM.Month, rez.DATUM.Day, rez.VREME_DOLASKA.Hour, rez.VREME_DOLASKA.Minute, rez.VREME_DOLASKA.Second); DateTime odlazak = new DateTime(rez.DATUM.Year, rez.DATUM.Month, rez.DATUM.Day, rez.VREME_ODLASKA.Hour, rez.VREME_ODLASKA.Minute, rez.VREME_ODLASKA.Second); rez.VREME_DOLASKA = dolazak; rez.VREME_ODLASKA = odlazak; var sviRezervisani = from x in db.REZERVACIJAs where (x.DATUM == rez.DATUM && x.ID_RESTORANA == rez.ID_RESTORANA && ((rez.VREME_DOLASKA <= x.VREME_DOLASKA && rez.VREME_ODLASKA >= x.VREME_DOLASKA) || (rez.VREME_DOLASKA >= x.VREME_DOLASKA && rez.VREME_ODLASKA <= x.VREME_ODLASKA) || (rez.VREME_DOLASKA <= x.VREME_ODLASKA && rez.VREME_ODLASKA >= x.VREME_ODLASKA))) select x.ID_STOLA; var sviStolovi = from x in db.STOes where x.ID_RESTORANA == rez.ID_RESTORANA select x.ID_STOLA; var sviSlobodni = sviStolovi.Except(sviRezervisani); List <String> lista = new List <String>(); foreach (string num in sviSlobodni) { lista.Add(num); } TempData["checkboxovi"] = lista; TempData["datum"] = datum; TempData["dolazak"] = dolazak; TempData["odlazak"] = odlazak; if (dolazak < odlazak) { return(RedirectToAction("RezervisiRestoran2", new { id = rez.ID_RESTORANA })); } else { ModelState.AddModelError("", "Pocetno vreme ne sme biti posle krajnjeg vremena!"); } return(View(rez)); }
public ActionResult OceniRestoran(REZERVACIJA rez) { if (ModelState.IsValid) { db.Entry(rez).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Profil")); } return(View(rez)); }
public ActionResult ListaPrijateljaRez(int id) { REZERVACIJA rez = db.REZERVACIJAs.Find(id); List <GOST> listaGost = new List <GOST>(); var pri = db.PRIJATELJI_REZERVACIJA.Where(x => x.ID == rez.ID); var imeIprez = from pr in db.PRIJATELJI_REZERVACIJA join g in db.GOSTs on pr.EMAIL_GOSTA equals g.EMAIL_GOSTA where pr.ID == rez.ID select new ModelView.PozivRestoran { IME = g.IME_GOSTA, PREZIME = g.PREZIME_GOSTA }; IEnumerable <Restoran2016.ModelView.PozivRestoran> poziviLista = imeIprez; return(View(poziviLista)); }
public ActionResult RezervisiRestoran3(string id) { String idgosta = Session["idGosta"].ToString(); // var ubaciRezervaciju= from x in db.REZERVACIJAs REZERVACIJA rez = new REZERVACIJA(); rez.EMAIL_GOSTA = idgosta; //rez.ID_STOLA = idStola; rez.DATUM = (System.DateTime)TempData["datum"]; rez.VREME_DOLASKA = (System.DateTime)TempData["dolazak"]; rez.VREME_ODLASKA = (System.DateTime)TempData["odlazak"]; rez.ID_RESTORANA = (String)TempData["r"]; using (var db = new aco4Entities()) { { using (var dbContextTransaction = db.Database.BeginTransaction()) { try { db.napuni_rezervacije(99, rez.EMAIL_GOSTA, rez.ID_RESTORANA, id, rez.DATUM, rez.VREME_DOLASKA, rez.VREME_ODLASKA); db.SaveChanges(); dbContextTransaction.Commit(); } catch (Exception) { dbContextTransaction.Rollback(); return(View()); } } } } List <string> lista = TempData["checkboxovi"] as List <String>; // lista.Remove(id); TempData["rez"] = rez; return(RedirectToAction("PozoviPrijatelje")); }
public ActionResult RezervisiRestoran(string id) { string email = Session["idGosta"].ToString(); var genID = db.REZERVACIJAs.Count() + 1; RESTORAN rest = db.RESTORANs.Find(id); REZERVACIJA rez = new REZERVACIJA(); rez.EMAIL_GOSTA = email; rez.ID = genID; rez.ID_RESTORANA = rest.ID_RESTORANA; if (rest.BROJ_STOLOVA > 0) { return(View(rez)); } else { ViewBag.Message = "Nema dostupnih stolova u ovom restoranu"; } return(View(rez)); }
public ActionResult PozoviPrijatelje(PoziviPrijatelja lista) { if (lista.SelektovaniPr == null) { return(RedirectToAction("Profil")); } for (int i = 0; i < lista.SelektovaniPr.Count(); i++) { REZERVACIJA rez = TempData["rez1"] as REZERVACIJA; var rezID = (from y in db.REZERVACIJAs where y.EMAIL_GOSTA == rez.EMAIL_GOSTA && y.DATUM == rez.DATUM && y.ID_RESTORANA == rez.ID_RESTORANA && y.VREME_DOLASKA == rez.VREME_DOLASKA select y.ID).FirstOrDefault(); // moze umjesto svega ovog y.ID==rez.ID, ali ovo moze biti pogodno za visestruke rezervacije TODO: ispraviti String rezIDD = rezID.ToString(); PRIJATELJI_REZERVACIJA pr = new PRIJATELJI_REZERVACIJA(); pr.EMAIL_GOSTA1 = Session["idgosta"].ToString(); pr.EMAIL_GOSTA = lista.SelektovaniPr[i]; pr.ID = Int32.Parse(rezIDD); pr.OCENA = null; db.PRIJATELJI_REZERVACIJA.Add(pr); db.SaveChanges(); System.Net.Mail.MailMessage m = new System.Net.Mail.MailMessage( new System.Net.Mail.MailAddress("*****@*****.**", "Poziv u restoran"), new System.Net.Mail.MailAddress(pr.EMAIL_GOSTA)); m.Subject = "Poziv u restoran"; m.Body = string.Format("Postovani {0},<BR/>Pozvani ste u restoran {1} od strane korisnika {2} datuma {3} od {4} do {5}. Da prihvatite ili odbijete poziv posetite link: <a href=\"{6}\" title=\"Poziv u restoran\">{6}</a>", pr.EMAIL_GOSTA, rez.ID_RESTORANA, pr.EMAIL_GOSTA1, rez.DATUM, rez.VREME_DOLASKA, rez.VREME_ODLASKA, Url.Action("Login", "Account", new { Token = pr.EMAIL_GOSTA }, Request.Url.Scheme)); m.IsBodyHtml = true; System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587); smtp.Credentials = new System.Net.NetworkCredential("*****@*****.**", "al255593"); smtp.EnableSsl = true; ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return(true); }; smtp.Send(m); } return(Redirect(Url.RouteUrl(new { controller = "Profil", action = "Profil" }) + "#tabs-3")); }
public ActionResult OceniRestoran(int id) { REZERVACIJA rez = db.REZERVACIJAs.Find(id); return(View(rez)); }