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)); }
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); }
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)); }