public ActionResult Login(LoginViewModel loginUser)
        {
            if (ModelState.IsValid)
            {
                UserViewModel      viewModel   = new UserViewModel();
                CartViewModel      cartModel   = new CartViewModel();
                EncryptCredentials encrypt     = new EncryptCredentials();
                ModelUser          userAccount = new ModelUser();

                userAccount = mapper.Map(UsersDAL.GetCredentials(loginUser.Email));
                viewModel.SingleUser.Email = loginUser.Email;
                viewModel.SingleUser.Hash  = encrypt.GenerateHash(loginUser.Password, userAccount.Salt);

                if (loginLogic.ValidatePassword(viewModel.SingleUser.Hash, userAccount.Hash))
                {
                    var u = viewModel.SingleUser = mapper.Map(UsersDAL.GetUser(userAccount.UserID));
                    Session["UserID"] = userAccount.UserID;
                    Session["RoleID"] = userAccount.RoleID;
                    Session["Email"]  = userAccount.Email;
                    Session["Name"]   = u.FirstName;

                    return(RedirectToAction("Index", "Home"));
                }
            }
            return(View());
        }
 public ActionResult Register(RegisterViewModel registerAccount)
 {
     if (registerAccount.Password == registerAccount.ConfirmPassword)
     {
         UserViewModel viewModel = new UserViewModel();
         viewModel.SingleUser.Email = registerAccount.Email;
         string salt = viewModel.SingleUser.Salt = encrypt.CreateSalt();
         viewModel.SingleUser.Hash      = encrypt.GenerateHash(registerAccount.Password, salt);
         viewModel.SingleUser.FirstName = registerAccount.FirstName;
         viewModel.SingleUser.LastName  = registerAccount.LastName;
         viewModel.SingleUser.Birthday  = registerAccount.Birthday;
         viewModel.SingleUser.Phone     = registerAccount.Phone;
         viewModel.SingleUser.Address   = registerAccount.Address;
         UsersDAL.CreateUser(mapper.Map(viewModel.SingleUser));
         return(RedirectToAction("Login"));
     }
     else
     {
         return(View());
     }
 }