コード例 #1
0
        public async Task <IActionResult> GetReservering([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Reservering reservering = await _context.Reservering
                                      .Where(r => r.Id == id)
                                      .Include(r => r.ReserveringLabels)
                                      .ThenInclude(rl => rl.Label)
                                      .FirstOrDefaultAsync();

            if (reservering == null)
            {
                return(NotFound());
            }

            ReserveringViewModel reserveringVM = new ReserveringViewModel
            {
                Id           = reservering.Id,
                Bedrag       = reservering.Bedrag,
                Maand        = reservering.Maand,
                Omschrijving = reservering.Omschrijving,
                Label        = toLabelViewModelList(reservering.ReserveringLabels)
            };

            return(Ok(reserveringVM));
        }
コード例 #2
0
        public ActionResult Submit()
        {
            if (Session["event"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            ReserveringViewModel  reservering = (ReserveringViewModel)Session["reservering"];
            ReserveringRepository repo        = new ReserveringRepository(new ReserveringContext());
            AccountRepository     arepo       = new AccountRepository(new AccountContext());
            List <int>            plekids     = reservering.Staanplaatsen.Select(x => x.Id).ToList();

            repo.PlaatsReservering(reservering.Voornaam, reservering.Tussenvoegsel, reservering.Achternaam,
                                   reservering.Straat, reservering.Huisnummer, reservering.Woonplaats, reservering.DatumStart,
                                   reservering.DatumEind, reservering.Evenement.ID1, plekids, reservering.Accounts,
                                   reservering.Exemplaren);

            // Email
            foreach (AccountViewModel account in reservering.Accounts)
            {
                string message = "Beste " + account.Gebruikersnaam + ",<br><br>" +
                                 "Bedankt voor het reserveren bij " + reservering.Evenement.Naam + "<br>" +
                                 "Om uw account te activeren gaat u naar deze link: http://eyectc.com/reserveer/activeer?activatiehash=" + arepo.GetAllAccounts().First(x => x.Gebruikersnaam == account.Gebruikersnaam).Activatiehash + "<br><br>" +
                                 "Groeten,<br><br>" + "Het EyeCT4Events Team";
                SendMail(account.Email, message);
            }

            return(Redirect("/reserveer/success"));
        }
コード例 #3
0
        // GET: Reservering/Create
        public ActionResult Create()
        {
            ReserveringViewModel Menusfilter = new ReserveringViewModel();



            Menusfilter.Personen = 0;
            Menusfilter.Tijd     = DateTime.Now.TimeOfDay;

            //Menusfilter.Reservering =
            //(from d in db.Reserveringen
            //where d.Datum_tijd >= DateTime.Now
            //select d).ToList();



            //Menusfilter.Menus =
            //from c in db.Menus
            //select new SelectListItem
            //{
            //    Text = c.Naam + " " + c.Prijs,
            //    Value = c.Id.ToString()
            //};



            return(View(Menusfilter));
        }
コード例 #4
0
        public ActionResult Add(int productid)
        {
            ReserveringViewModel reservering = (ReserveringViewModel)Session["reservering"];

            if (reservering.Producten == null)
            {
                reservering.Producten = new List <Product>();
            }
            if (reservering.Exemplaren == null)
            {
                reservering.Exemplaren = new List <ProductExemplaar>();
            }
            if (productid != 0 || productid != null)
            {
                ProductRepository          prepo = new ProductRepository(new ProductContext());
                ProductExemplaarRepository erepo = new ProductExemplaarRepository(new ProductExemplaarContext());
                Product p = prepo.GetAll().First(x => x.Id == productid);
                List <ProductExemplaar> exemplaren = erepo.GetByProduct(p.Id);
                if (exemplaren.Count != 0)
                {
                    reservering.Exemplaren.Add(exemplaren[0]);
                    reservering.Producten.Add(p);
                }
            }
            return(RedirectToAction("Materiaal", "Reserveer"));
        }
コード例 #5
0
        public ActionResult Edit(int?id)
        {
            ReserveringViewModel ReserveringVm = new ReserveringViewModel();

            ReserveringVm.Menus =
                from c in db.Menus
                select new SelectListItem
            {
                Text  = c.Naam + " " + c.Prijs,
                Value = c.Id.ToString()
            };

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Reservering reservering = db.Reserveringen.Find(id);

            if (reservering == null)
            {
                return(HttpNotFound());
            }

            //  ReserveringVm.MenuId = reservering.Menu.Id;
            ReserveringVm.Personen = reservering.Personen;
            ReserveringVm.Datum    = reservering.Datum;
            ReserveringVm.Tijd     = reservering.BeginTijd;

            return(View(ReserveringVm));
        }
コード例 #6
0
        public ActionResult Index(FormCollection collection)
        {
            ReserveringViewModel reservering = (ReserveringViewModel)Session["reservering"];

            reservering.DatumStart = DateTime.ParseExact(collection["start"], "dd/MM/yyyy", CultureInfo.InvariantCulture);
            reservering.DatumEind  = DateTime.ParseExact(collection["end"], "dd/MM/yyyy", CultureInfo.InvariantCulture);
            return(RedirectToAction("Plaats", "Reserveer"));
        }
コード例 #7
0
        public ActionResult Create()
        {
            var resVM = new ReserveringViewModel
            {
                Reservering  = new Reservering(),
                SelectedDate = DateTime.Now.Date
            };

            return(View(resVM));
        }
コード例 #8
0
        // GET: Reserveer/Gegevens
        public ActionResult Gegevens()
        {
            if (Session["event"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            ReserveringViewModel reservering = (ReserveringViewModel)Session["reservering"];

            ViewData["MaxPersonen"] = reservering.Staanplaatsen.Sum(x => x.Capaciteit);
            return(View(reservering));
        }
コード例 #9
0
        public ActionResult Accounts()
        {
            ReserveringViewModel    reservering = (ReserveringViewModel)Session["reservering"];
            List <AccountViewModel> accounts    = reservering.Accounts;

            if (Session["event"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            return(View(accounts));
        }
コード例 #10
0
        public ActionResult Accounts(List <AccountViewModel> model)
        {
            ReserveringViewModel reservering = (ReserveringViewModel)Session["reservering"];

            reservering.Accounts.Clear();
            reservering.Accounts = model;
            if (Session["event"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            return(RedirectToAction("Materiaal"));
        }
コード例 #11
0
        public ActionResult Finish()
        {
            if (Session["event"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            ReserveringViewModel reservering = (ReserveringViewModel)Session["reservering"];

            reservering.Dagen       = Convert.ToInt32((reservering.DatumEind - reservering.DatumStart).TotalDays);
            reservering.TotaalPrijs = Convert.ToDouble(reservering.Producten.Sum(x => x.Prijs) +
                                                       reservering.Staanplaatsen.Sum(x => x.Prijs * reservering.Dagen));
            return(View(reservering));
        }
コード例 #12
0
        // GET: Reserveer/Plaats
        public ActionResult Plaats()
        {
            if (Session["event"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            ReserveringViewModel  reservering = (ReserveringViewModel)Session["reservering"];
            StandplaatsRepository repo        = new StandplaatsRepository(new StandplaatsContext());

            ViewData["plaatsen"] = repo.GetFreeStaanplaatsenByLocatie(reservering.Evenement.Locatie,
                                                                      reservering.DatumStart, reservering.DatumEind);
            return(View(reservering));
        }
コード例 #13
0
        public ActionResult Plaats(FormCollection collection)
        {
            ReserveringViewModel  reservering = (ReserveringViewModel)Session["reservering"];
            StandplaatsRepository repo        = new StandplaatsRepository(new StandplaatsContext());

            string[]           plaatsids = collection["Plaatsen"].Split(',');
            List <Standplaats> plaatsen  = new List <Standplaats>();

            foreach (var s in plaatsids)
            {
                plaatsen.Add(repo.GetById(Convert.ToInt32(s)));
            }
            reservering.Staanplaatsen = plaatsen;
            return(RedirectToAction("Gegevens", "Reserveer"));
        }
コード例 #14
0
        //Send client to AddMenu view with Id of the selected reservering
        public ActionResult AddMenu(Reservering reservering)
        {
            if (reservering.Id != 0)
            {
                reservering = db.Reserverings.Where(i => i.Id == reservering.Id).FirstOrDefault();

                ReserveringViewModel rmViewModel = new ReserveringViewModel()
                {
                    Reservering = reservering,
                    //toon alleen menus met gerechten
                    //dit voorkomt dat er lege menus op de view komen te staan.
                    Menus = db.Menus.Where(a => a.Gerechten.Count != 0).ToList()
                };
                return(View(rmViewModel));
            }
            return(RedirectToAction("Index"));
        }
コード例 #15
0
        // GET: Reserveer
        public ActionResult Index()
        {
            if (Session["event"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (Session["reservering"] == null)
            {
                Session["reservering"] = new ReserveringViewModel()
                {
                    Evenement = (Event)Session["event"]
                };
            }
            ReserveringViewModel reservering = (ReserveringViewModel)Session["reservering"];

            return(View(reservering));
        }
コード例 #16
0
        public ActionResult Edit([Bind(Include = "Id,MenuId,Menu,Prijs,Personen,Datum,Tijd")] ReserveringViewModel ReserveringVm)
        {
            Reservering r = (from Reserve in db.Reserveringen where Reserve.Id == ReserveringVm.Id select Reserve).First();

            r.Personen        = ReserveringVm.Personen;
            r.Datum           = ReserveringVm.Datum;
            r.BeginTijd       = ReserveringVm.Tijd;
            r.BeginDatum_tijd = ReserveringVm.Datum + ReserveringVm.Tijd;
            if (ModelState.IsValid)
            {
                //  r.Menu = (from m in db.MenusList where m.Id == ReserveringVm.MenuId select m).FirstOrDefault();
                //  r.Prijs = r.Menu.Prijs;
                r.Totaal_Prijs = r.Prijs * r.Personen;
                //db.Entry(reservering).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(ReserveringVm));
        }
コード例 #17
0
        // GET: Reserverings/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ReserveringViewModel reserveringvm = new ReserveringViewModel
            {
                Reservering = db.Reserverings.Find(id),
            };

            if (reserveringvm.Reservering != null)
            {
                reserveringvm.ReserveringID = (int)id;
                reserveringvm.SelectedDate  = reserveringvm.Reservering.Datum;
                reserveringvm.SelectedHour  = reserveringvm.Reservering.StartTijd.Value.Hour;
                return(View(reserveringvm));
            }

            return(HttpNotFound());
        }
コード例 #18
0
        public ActionResult Materiaal()
        {
            if (Session["event"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            ProductRepository    prepo = new ProductRepository(new ProductContext());
            ProductCatRepository crepo = new ProductCatRepository(new ProductCatContext());

            List <Product>             allProducts = prepo.GetAll();
            List <ProductCatViewModel> productcats = new List <ProductCatViewModel>();

            foreach (var productCat in crepo.GetAll())
            {
                IEnumerable <Product> products = allProducts.Where(x => x.Categorie.Id == productCat.Id);
                productcats.Add(ModelToViewModel.ConvertProductCatToViewModel(productCat, products));
            }

            ProductVerhuurViewModel model = new ProductVerhuurViewModel()
            {
                AllProducts      = ModelToViewModel.ConvertProductToViewModelList(allProducts),
                ProductCats      = productcats,
                SelectedProducts = new List <ProductViewModel>()
            };

            ReserveringViewModel reservering = (ReserveringViewModel)Session["reservering"];

            if (reservering.Producten == null)
            {
                reservering.Producten = new List <Product>();
            }
            ViewData["producten"]   = reservering.Producten;
            ViewData["totaalprijs"] = reservering.Producten.Sum(x => x.Prijs);

            return(View(model));
        }
コード例 #19
0
        public ActionResult Gegevens(ReserveringViewModel model, FormCollection collection)
        {
            ReserveringViewModel reservering = (ReserveringViewModel)Session["reservering"];

            reservering.Voornaam = model.Voornaam;
            if (String.IsNullOrEmpty(model.Tussenvoegsel))
            {
                reservering.Tussenvoegsel = " ";
            }
            else
            {
                reservering.Tussenvoegsel = model.Tussenvoegsel;
            }
            reservering.Achternaam = model.Achternaam;
            reservering.Straat     = model.Straat;
            reservering.Huisnummer = model.Huisnummer;
            reservering.Woonplaats = model.Woonplaats;
            reservering.Accounts   = new List <AccountViewModel>();
            for (int i = 0; i < Convert.ToInt32(collection["personen"]); i++)
            {
                reservering.Accounts.Add(new AccountViewModel());
            }
            return(RedirectToAction("Accounts", "Reserveer"));
        }
コード例 #20
0
        public ActionResult Create(ReserveringViewModel reserveringVm)
        {
            TimeSpan extra   = TimeSpan.FromHours(2);
            var      Date    = reserveringVm.Datum;
            var      Time    = reserveringVm.Tijd;
            var      EndTIme = reserveringVm.Tijd.Add(extra);

            reserveringVm.Reservering =
                (from d in db.Reserveringen
                 where d.Datum == Date && d.BeginTijd >= Time && d.BeginTijd < EndTIme || d.Datum == Date && d.EindTijd >= Time && d.EindTijd <= EndTIme
                 select d).ToList();

            reserveringVm.Menus =
                from c in db.Menus
                select new SelectListItem
            {
                Text  = c.Naam + " " + c.Prijs,
                Value = c.Id.ToString()
            };

            if (Request.Form["submit"] == "Pas datum en tijd aan")
            {
                reserveringVm.Personen = 0;
            }


            if (Request.Form["submit"] == "Create")
            {
                var         manager     = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
                var         currentUser = manager.FindById(User.Identity.GetUserId());
                Reservering r           = new Reservering();
                Tafel       t           = new Tafel();

                //put input info in reservering table
                //r.Menu = (from m in db.MenusList where m.Id == reserveringVm.MenuId select m).FirstOrDefault();

                r.MenusList = new List <Menu>();

                for (int i = 0; i < reserveringVm.Personen; i++)
                {
                    int menuid = Convert.ToInt32(Request.Form["Menu" + i]);
                    r.MenusList.Add((from m in db.Menus where m.Id == menuid select m).FirstOrDefault());
                }
                r.Personen        = reserveringVm.Personen;
                r.BeginTijd       = reserveringVm.Tijd;
                r.EindTijd        = reserveringVm.Tijd.Add(extra);
                r.Datum           = reserveringVm.Datum;
                r.BeginDatum_tijd = reserveringVm.Datum + reserveringVm.Tijd;
                r.EindDatum_tijd  = reserveringVm.Datum + reserveringVm.Tijd.Add(extra);
                t.Datum           = reserveringVm.Datum;
                t.TafelNummer     = reserveringVm.Tafel_Nummer;

                //Get user info
                reserveringVm.contact_Id             = currentUser.Id;
                reserveringVm.Contact_Naam           = currentUser.Voornaam + " " + currentUser.Achternaam;
                reserveringVm.Contact_Email          = currentUser.Email;
                reserveringVm.Contact_Telefoonnummer = currentUser.TelefoonNummer;
                reserveringVm.Prijs = r.MenusList.Sum(m => m.Prijs);

                //put the user info in reservering table
                r.contact_Id             = reserveringVm.contact_Id;
                r.Contact_Email          = reserveringVm.Contact_Email;
                r.Contact_Naam           = reserveringVm.Contact_Naam;
                r.Contact_Telefoonnummer = reserveringVm.Contact_Telefoonnummer;
                r.Totaal_Prijs           = reserveringVm.Prijs * reserveringVm.Personen;
                r.Prijs        = reserveringVm.Prijs;
                r.Tafel_Nummer = reserveringVm.Tafel_Nummer;

                if (ModelState.IsValid)
                {
                    db.Tafels.Add(t);
                    db.SaveChanges();
                    db.Reserveringen.Add(r);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }

            return(View(reserveringVm));
        }