public async Task <ActionResult> Register(RegisterModel model) { if (ModelState.IsValid) { using (var db = PortalDbContext.Get()) { if (!db.Users.Any(u => u.Email == model.Email)) { db.Users.Add(new User() { Email = model.Email, PasswordHash = Hashing.GenerateHash(model.Password) }); try { await db.SaveChangesAsync(); return(RedirectToAction("LogIn")); } catch (Exception) { ModelState.AddModelError("", "User Creation Unsuccessful"); } } else { ModelState.AddModelError("Email", "An account for that email already exists"); } } } return(View(model)); }
public ActionResult LogIn(LogInModel model) { if (ModelState.IsValid) { using (var db = PortalDbContext.Get()) { var user = db.Users.FirstOrDefault( u => u.Email.Equals(model.Email, StringComparison.InvariantCultureIgnoreCase)); if (user != null) { if (Hashing.CheckPassword(model.Password, user.PasswordHash)) { FormsAuthentication.SetAuthCookie(user.Id.ToString(), model.RememberMe); return(RedirectToAction("Edit")); } } } } return(View(model)); }