public ActionResult LoginRequest(LoginDataModel user)
 {
     if (ModelState.IsValid)
     {
         using (DatabaseQuery query = new DatabaseQuery())
         {
             PBKDF2Password password = query.GetPassword(user);
             //vraag het password van een gebruiker
             if (password != null)
             {   //als het password niet leeg is match het password met de Database
                 PasswordMatcher matcher = new PasswordMatcher(password, user.Password, false); //False kijkt of het interne wachtwoord gedisposed moet worden als hij gematched is.
                 if (matcher.IsMatch) //Als een match is
                 {
                     try
                     {//Probeer een Sessie te maken
                         Session session = (Session)this.Session["__MySessionObject"];
                         using (DatabaseQuery userQuery = new DatabaseQuery())
                         {
                             session.User = userQuery.GetUser(user); //Klant krijgt een sessie
                             session.LoggedIn = true;
                             this.Session["__MySessionObject"] = session;
                             List<Order> orders = userQuery.GetOrdersByUser(session.User);
                             foreach(Order order in orders)
                             {
                                 if (order.Status == OrderStatus.TOBEPAID)
                                 {
                                     double days = (DateTime.Now - order.DTime).TotalDays;
                                     if (days > 14)
                                     {
                                         order.Status = OrderStatus.EXPIRED;
                                         userQuery.UpdateOrderStatus(order);
                                     }
                                 }
                             }
                         }
                         if (((Session)this.Session["__MySessionObject"]).User.Role == UserRole.MANAGER)
                         {
                             return RedirectToAction("manage"); //Ga naar manager pagina
                         }
                         else if (((Session)this.Session["__MySessionObject"]).User.Role == UserRole.ADMIN)
                         {
                             return RedirectToAction("admin"); //Ga naar manager pagina
                         }
                         else if(((Session)this.Session["__MySessionObject"]).ShoppingBag.OrderLines.Count > 0)
                         {
                             return RedirectToAction("Shoppingbag");
                         }
                         return RedirectToAction("Index"); //Ga terug naar de index
                     }
                     catch(Exception e)
                     {
                         TempData["ErrorMessage"] = "Er is iets fout gegaan met het inloggen: " + e;
                     }
                 }
             }
             TempData["ErrorMessage"] = "Gebruikersnaam en wachtwoord combinatie zijn onbekend";
             return RedirectToAction("login", user); //redirect to faillure
         }
     }
     else
     {
         TempData["ErrorMessage"] = "Gebruikersnaam en/of wachtwoord combinatie is fout";
         return RedirectToAction("Login", "Home", user);
     }
 }