예제 #1
0
        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));
        }
예제 #2
0
        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));
        }
예제 #3
0
        public ActionResult OceniRestoran(REZERVACIJA rez)
        {
            if (ModelState.IsValid)
            {
                db.Entry(rez).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Profil"));
            }

            return(View(rez));
        }
예제 #4
0
        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));
        }
예제 #5
0
        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"));
        }
예제 #6
0
        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));
        }
예제 #7
0
        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"));
        }
예제 #8
0
        public ActionResult OceniRestoran(int id)
        {
            REZERVACIJA rez = db.REZERVACIJAs.Find(id);

            return(View(rez));
        }