// GET: /MonitorBeurt/Details/5
 public ActionResult Details(int? id)
 {
     if (id == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     
     var reservatie = from m in db.Reservatie
                      where m.ToezichtbeurtId == id
                          select m;
     ReservatieModel res = new ReservatieModel();
     MonitorBeurtModel monitorbeurtmodel = db.MonitorBeurt.Find(id);
     if (monitorbeurtmodel == null)
     {
         return HttpNotFound();
     }
     var tuple = new Tuple<MonitorBeurtModel,ReservatieModel,IEnumerable<ReservatieModel>>(monitorbeurtmodel, res,reservatie);
     return View(tuple);
 }
        public async Task<ActionResult> ReservatieToevoegen(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            
            var currentUser =  await manager.FindByIdAsync(User.Identity.GetUserId()); 
            var Monitorbeurt = db.MonitorBeurt.Single(monitor => monitor.MonitorBeurtId == id);
            
            foreach(ReservatieModel rest in db.Reservatie)
            {
               if(rest.ToezichtbeurtId == (int)id && rest.UserName == currentUser.UserName) 
               {
                   return RedirectToAction("index");
               }
            }            
            
            ReservatieModel res = new ReservatieModel();
            res.ToezichtbeurtId = (int)id;
            
            res.UserName =  currentUser.UserName; 
            res.AangepastOp = System.DateTime.Now;
            res.AangemaaktOp = System.DateTime.Now;

            if (ModelState.IsValid)
            {
                if(Monitorbeurt.Gereserveerd < Monitorbeurt.Capaciteit)
                {
                    Monitorbeurt.Gereserveerd += 1;
                    db.Entry(Monitorbeurt).State = EntityState.Modified;
                    db.Reservatie.Add(res);
                    db.SaveChanges();
                }
                return RedirectToAction("Index");
            }

            ViewBag.ToezichtbeurtId = new SelectList(db.MonitorBeurt, "MonitorBeurtId", "Start", res.ToezichtbeurtId);
            
            return RedirectToAction("index");           
            
        }