public async Task<ActionResult> RegisterGuest(User user)
        {
            if(user.Password != null && user.ConfirmPassword != null)
            {
                if (!user.Password.Equals(user.ConfirmPassword))
                {
                    ModelState.AddModelError("ConfirmPassword", "Password and Confirm Password do not match!");
                }
            }

            if(user.E_Mail != null)
            {
                if (_registerHandlerBLL.E_MailExists(user.E_Mail))
                {
                    ModelState.AddModelError("E_Mail", "E-Mail already exists!");
                }
            }
            
            if (!ModelState.IsValid)
            {
                return View(user);
            }

            _registerHandlerBLL.RegisterGuest(user.E_Mail, user.Password, user.FirstName, user.LastName, user.Address);

            var usernameBytes = System.Text.Encoding.UTF8.GetBytes(user.E_Mail);
            String encodedEmail = System.Convert.ToBase64String(usernameBytes);

            string body = "http://*****:*****@gmail.com");
            mail.To.Add(user.E_Mail);
            mail.Subject = "Confirmation Mail";
            mail.Body = "Hello!\n\tTo finish Your registration, please click on the following link: " + body;

            using (var smtp = new SmtpClient())
            {
                await smtp.SendMailAsync(mail);
            }

            return RedirectToAction("ConfirmationNeeded", "Register");
        }
        public ActionResult RegisterRestaurantManager(User user)
        {
            if (user.Password != null && user.ConfirmPassword != null)
            {
                if (!user.Password.Equals(user.ConfirmPassword))
                {
                    ModelState.AddModelError("ConfirmPassword", "Password and Confirm Password do not match!");
                }
            }

            if (user.E_Mail != null)
            {
                if (_registerHandlerBLL.E_MailExists(user.E_Mail))
                {
                    ModelState.AddModelError("E_Mail", "E-Mail already exists!");
                }
            }

            if (!ModelState.IsValid)
            {
                ViewData["RestaurantID"] = user.RestaurantID;
                return View(user);
            }

            _registerHandlerBLL.RegisterRestaurantManager(user.E_Mail, user.Password, user.FirstName, user.LastName, user.RestaurantID);
            TempData["Visibility"] = "visible";
            TempData["Message"] = "Successfully Added New Manager!";
            return RedirectToAction("Index", "Restaurant");
        }