示例#1
0
        public ActionResult Register(User model)
        {
            if (!ModelState.IsValid)
            {
                return(View("Register", model));
            }

            UserSqlDAL newUserDAL = new UserSqlDAL(connectionString);
            //attempt to retrieve provided email - cannot duplicate existing
            User newUser = newUserDAL.GetUser(model.Email);

            if (newUser.Email == null)
            {
                newUser.Email    = model.Email;
                newUser.Password = model.Password;
                if (model.DisplayName == null)
                {
                    newUser.DisplayName = model.Email.Substring(0, model.Email.IndexOf('@'));
                }
                else
                {
                    newUser.DisplayName = model.DisplayName;
                }

                newUserDAL.Register(newUser);
                User retriveUser = newUserDAL.GetUser(newUser.Email);

                Session["userid"] = retriveUser.Id;
                Session["admin"]  = retriveUser.IsAdmin;
            }
            else
            {
                ModelState.AddModelError("email-exists", "That email address exists, please contact Admin for password reset if needed.");
                return(View("Register", model));
            }
            return(RedirectToAction("Index", "Home"));
        }