public ActionResult Login(string email, string pass, string remember)
        {
            using (TsuModel db = new TsuModel())
            {
                var user = db.Users.Where(e => e.Email == email).FirstOrDefault();
                if (user != null)
                {
                    if (string.Compare(UserService.Hash(pass), user.Pass) == 0)
                    {
                        var    RememberChecked = remember == "on" ? true : false;
                        int    timeout         = RememberChecked ? 525600 : 20;
                        var    ticket          = new FormsAuthenticationTicket(email, RememberChecked, timeout);
                        string encrypted       = FormsAuthentication.Encrypt(ticket);
                        var    cookie          = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted);
                        cookie.Expires  = DateTime.Now.AddMinutes(timeout);
                        cookie.HttpOnly = true;
                        Response.Cookies.Add(cookie);
                        Session["UserID"]   = user.ID.ToString();
                        Session["Username"] = user.Username;
                        return(View("LoginSuccessful"));
                    }

                    else
                    {
                        ModelState.AddModelError("LoginError", "Username or password is wrong.");
                    }
                }
                else
                {
                    ModelState.AddModelError("LoginError", "Username or password is wrong.");
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
        public static bool EmailExists(string email)
        {
            bool emailExists;

            using (TsuModel db = new TsuModel())
            {
                emailExists = db.Users.Any(e => e.Email == email);
            }
            return(emailExists);
        }
        public ActionResult Registration(string firstname, string lastname, string username, string email, string pass)
        {
            bool emailExists = UserService.EmailExists(email);

            if (!emailExists)
            {
                var user = UserService.SetUser(firstname, lastname, username, email, UserService.Hash(pass));
                using (TsuModel db = new TsuModel())
                {
                    db.Users.Add(user);
                    db.SaveChanges();
                    return(View("RegistrationSuccessful"));
                }
            }

            return(View());
        }