Exemplo n.º 1
0
        public ActionResult Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                Account account = new Account
                {
                    firstName  = model.firstName,
                    lastName   = model.lastName,
                    email      = model.email,
                    password   = model.password.Encrypt(model.email),
                    isVerified = false,
                    createDate = DateTime.Now,
                };

                var _account = accountDAL.FetchByEmail(account.email);

                if (_account != null)
                {
                    TempData["errorMessage"] = "Oops ! It appears that email is already in use ! ";
                    return(View(model));
                }

                accountDAL.createAccount(account);

                _email.SendEmailAddressVerificationEmail(account.email, account.email);

                return(View("RegConfirmation"));
            }
            return(View(model));
        }
Exemplo n.º 2
0
        public void Register(Account a, string permission)
        {
            //_accountRepository.SaveAccount(a);
            Permission publicPermission     = _permissionRepository.GetPermissionByName(permission);
            Permission registeredPermission = _permissionRepository.GetPermissionByName("Registered");
            Account    newAccount           = _accountRepository.GetAccountByUsername(a.UserName);

            _accountRepository.AddPermission(newAccount, publicPermission);
            _accountRepository.AddPermission(newAccount, registeredPermission);
            _email.SendEmailAddressVerificationEmail(a.UserName, a.Email);
        }
Exemplo n.º 3
0
        public ActionResult Login(LoginViewModel model, string email, string password)
        {
            model.userSession = false;
            if (ModelState.IsValid)
            {
                email    = model.email;
                password = model.password.Encrypt(email);
                Account account   = accountDAO.FetchByEmail(email);
                var     adminUser = accountPermissionDAO.FetchByEmail(email);

                //if there is only one account returned - good
                if (account != null)
                {
                    //password matches
                    if (account.password == password)
                    {
                        if (account.emailVerified)
                        {
                            userSession.LoggedIn    = true;
                            userSession.Email       = email;
                            userSession.CurrentUser = accountDAO.FetchById(account.accountID);

                            //redirects users to their appropriate pages
                            if (adminUser != null)
                            {
                                return(RedirectToAction("SiteActivity", "Alert"));
                            }

                            else if (adminUser == null)
                            {
                                var profile = profileDAO.fetchByAccountID(userSession.CurrentUser.accountID);
                                if (profile != null)
                                {
                                    return(RedirectToAction("NewsFeed", "Alert"));
                                }
                                else
                                {
                                    return(RedirectToAction("Create", "Profile"));
                                }
                            }
                        }
                        //if user attempts to login without verifying theiremail account
                        else
                        {
                            emails.SendEmailAddressVerificationEmail(account.email, account.email);
                            TempData["errorMessage"] = @"The login information you provided was correct 
                                but your email address has not yet been verified.  
                                We just sent another email verification email to you.  
                                Please follow the instructions in that email.";
                        }
                    }
                    else
                    {
                        TempData["errorMessage"] = @"We were unable to log you in with that information!";
                        return(RedirectToAction("Login", "Account"));
                    }
                }

                TempData["errorMessage"] = @"We were unable to log you in with that information!";
                return(RedirectToAction("Login", "Account"));
            }
            return(View(model));
        }