public bool RegisterAccount(RegisterModel model)
 {
     using (Entities entity = new Entities(BaseBISL.ConnectionString))
     {
         WeightUser user = new WeightUser();
         user.UserName = model.UserName;
         user.PW = model.Password;
         user.SignUpDateTime = DateTime.Now;
         entity.AddToWeightUsers(user);
         int count = entity.SaveChanges();
         if (count > 0)
             return true;
     }
     return false;
 }
        public RegisterModel GetRegister(string userName)
        {
            using (Entities entity = new Entities(BaseBISL.ConnectionString))
            {
                WeightUser user = null;
                if (userName != null)
                    user = entity.WeightUsers.Where(e => e.UserName == userName).FirstOrDefault();
                else
                    return null;

                if (user != null)
                {
                    RegisterModel register = new RegisterModel()
                    {
                        UserName = user.UserName
                    };
                    return register;
                }

                return null;
            }
        }
        public ActionResult Register(RegisterModel registerModel)
        {
            if (ModelState.IsValid)
            {
                //check password match
                if (!String.Equals(registerModel.Password, registerModel.ConfirmPassword))
                {
                    ModelState.AddModelError("", "Password and confirm password does not match");
                    return View(registerModel);
                }

                //check if username already exists
                RegisterModel registeredUsername = AccountRepository.GetRegister(userName: registerModel.UserName);
                if (registeredUsername != null)
                {
                    ModelState.AddModelError("", "Username already exists");
                    return View(registerModel);
                }

                ////check if email already exists
                //RegisterModel registeredEmail = AccountRepository.GetRegister(email: registerModel.Email);
                //if (registeredEmail != null)
                //{
                //    ModelState.AddModelError("", "A username for that e-mail address already exists");
                //    return View(registerModel);
                //}

                //encrypt password
                registerModel.Password = Convert.ToBase64String(
                    new System.Security.Cryptography.SHA1CryptoServiceProvider().ComputeHash(
                        Encoding.ASCII.GetBytes(registerModel.Password)));

                if (!AccountRepository.RegisterAccount(registerModel))
                {
                    ModelState.AddModelError("", "Oh no!  An unknown error has been thrown.  Please try again later.");
                    return View(registerModel);
                }
                else
                {
                    FormsService.SignIn(registerModel.UserName, false);
                    return RedirectToAction("Index", "Home");
                }
            }

            // If we got this far, something failed, redisplay form
            return View(registerModel);
        }