public IActionResult Register(RegisterViewModel model) { if (ModelState.IsValid) { User user = new User { FirstName = model.FirstName, LastName = model.LastName, Email = model.Email, Password = model.Password, AccountBalance = 0.0, created_at = DateTime.Now, updated_at = DateTime.Now }; PasswordHasher <User> Hasher = new PasswordHasher <User>(); user.Password = Hasher.HashPassword(user, model.Password); _context.Add(user); _context.SaveChanges(); return(RedirectToAction("Login")); } // *****One way to extract validation errors***** // foreach (var modelState in ModelState.Values) { // foreach (ModelError error in modelState.Errors) { // Console.WriteLine(error.ErrorMessage); // } // } // *****Another way to extract validation errors. However, Web app will utilize @Http.ValidationSummary() on client side to display errors***** // IEnumerable<ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors); // ViewBag.errors = allErrors; return(View("Index")); }
public IActionResult Register(RegisterViewModel model) { if (ModelState.IsValid) { User EmailCheck = _bankAccountContext.users.SingleOrDefault(User => User.Email == model.Email); if (EmailCheck == null) { User newUser = new User { FirstName = model.FirstName, LastName = model.LastName, Email = model.Email, Password = model.Password, AccountBalance = 0, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now }; _bankAccountContext.Add(newUser); _bankAccountContext.SaveChanges(); int ActiveUserId = _bankAccountContext.users.Last().Id; HttpContext.Session.SetInt32("ActiveUserId", ActiveUserId); return(RedirectToAction("Account")); } else { ViewBag.Messages = "Email Taken!"; } } return(View("Index")); }
public IActionResult Register(User user) { if (ModelState.IsValid) { if (_context.users.Any(u => u.Email == user.Email)) { ModelState.AddModelError("Email", "Email is already in use!"); } PasswordHasher <User> Hasher = new PasswordHasher <User>(); user.Password = Hasher.HashPassword(user, user.Password); // Save your user to the database User NewUser = new User { First_Name = @user.First_Name, Last_Name = @user.Last_Name, Email = @user.Email, Password = @user.Password, }; _context.Add(NewUser); _context.SaveChanges(); HttpContext.Session.SetInt32("logged_in_userID", NewUser.UserId); //Store logged in User's ID HttpContext.Session.SetString("logged_in_username", NewUser.First_Name); //Store logged in Users First name int?logged_in_user = HttpContext.Session.GetInt32("logged_in_userID"); return(Redirect($"Account/{logged_in_user}")); } return(View("")); }
public IActionResult Register(RegisterViewModel model) { if (ModelState.IsValid) { User newuser = new User { FirstName = model.FirstName, LastName = model.LastName, Email = model.Email, Password = model.Password }; _context.Add(newuser); _context.SaveChanges(); Account newaccount = new Account { Balance = 0, Transaction = 0, TransactionDate = DateTime.Now.ToString(), UserId = newuser.UserId }; _context.Add(newaccount); _context.SaveChanges(); return(LoggingIn(newuser.Email, newuser.Password)); // Handle success } else { ViewBag.errors = ModelState.Values; return(View("Index")); } }
public IActionResult Register(int amount) { System.Console.WriteLine(amount); User myUser = _context.Users.SingleOrDefault(user => user.UserId == HttpContext.Session.GetInt32("CurrUserId")); if ((-1 * amount) > myUser.Money) { HttpContext.Session.SetString("WithdrawError", "Not Enough Money"); return(RedirectToAction("Dashboard", "Users")); } else { BankAccount.Models.Action NewAction = new BankAccount.Models.Action { Type = "Deposit", Amount = amount, UserId = (int)HttpContext.Session.GetInt32("CurrUserId"), CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now }; if (amount < 0) { NewAction.Type = "Withdrawal"; } _context.Add(NewAction); myUser.Money += amount; _context.SaveChanges(); return(RedirectToAction("Dashboard", "Users")); } }
public IActionResult RegisterUser(RegisterViewModel model) { if (ModelState.IsValid) { PasswordHasher <User> Hasher = new PasswordHasher <User>(); User NewUser = new User { FirstName = model.FirstName, LastName = model.LastName, Password = model.Password, Email = model.Email, Money = 0 }; NewUser.Password = Hasher.HashPassword(NewUser, NewUser.Password); _context.Add(NewUser); _context.SaveChanges(); User CurrentUser = _context.Users.SingleOrDefault(user => user.Email == NewUser.Email); HttpContext.Session.SetInt32("CurrUserId", CurrentUser.UserId); return(RedirectToAction("Dashboard")); } else { ViewBag.Errors = ModelState.Values; return(View("Register")); } }
public IActionResult CreateRegistration(User user) { // Check initial ModelState if (ModelState.IsValid) { // If a User exists with provided email if (db.Users.Any(r => r.Email == user.Email)) { // Manually add a ModelState error to the Email field, with provided // error message ModelState.AddModelError("Email", "Email already in use!"); return(View("Index", user));// You may consider returning to the View at this point } PasswordHasher <User> Hasher = new PasswordHasher <User>(); user.Password = Hasher.HashPassword(user, user.Password); db.Add(user); db.SaveChanges(); HttpContext.Session.SetInt32("UserId", user.UserId); return(RedirectToAction("Login")); } else { return(View("Index"));// other code } }
public IActionResult Registration(UserRegister model) { if (ModelState.IsValid) { // Check for unique email List <User> users = _context.users.Where(user => user.email == model.email).ToList(); if (users.Count > 0) { ModelState.AddModelError("email", "Email already exists"); return(View("Home")); } else { // Hash password and add to db PasswordHasher <UserRegister> hasher = new PasswordHasher <UserRegister>(); string hashedPassword = hasher.HashPassword(model, model.password); User user = new User { firstName = model.firstName, lastName = model.lastName, email = model.email, password = hashedPassword }; _context.Add(user); _context.SaveChanges(); HttpContext.Session.SetInt32("userID", (int)user.ID); return(RedirectToAction("Home", "Transaction", new{ id = user.ID })); } } return(View("Home")); }
public IActionResult CreateUser(RegisterUser u) { if (ModelState.IsValid) { List <User> users = _context.Users.Where(nu => nu.Email == u.Email).ToList(); if (users.Count > 0) { ViewBag.InvalidEmail = true; return(View("Index")); } PasswordHasher <User> Hasher = new PasswordHasher <User>(); User nUser = new User(); nUser.Password = Hasher.HashPassword(nUser, u.Password); nUser.FirstName = u.FirstName; nUser.LastName = u.LastName; nUser.Email = u.Email; nUser.Balance = 0; _context.Add(nUser); _context.SaveChanges(); HttpContext.Session.SetInt32("UserId", nUser.UserId); System.Console.WriteLine("*********** Success"); return(View("Index")); } return(View("Index")); }
public IActionResult Register(User user) { if (ModelState.IsValid) { dbContext.Add(user); dbContext.SaveChanges(); User currentUser = dbContext.Users.FirstOrDefault(u => u.UserId == user.UserId); HttpContext.Session.SetObjectAsJson("User", currentUser); HttpContext.Session.SetInt32("UserId", user.UserId); return(RedirectToAction("Account", new { userId = user.UserId })); } else { return(View("Index")); } }
public IActionResult Register(User newUSer) { if (dbContext.Users.Any(u => u.Email == newUSer.Email)) { ModelState.AddModelError("Email", "Too slow! taken!"); } if (ModelState.IsValid) { PasswordHasher <User> HAsher = new PasswordHasher <User>(); newUSer.Password = HAsher.HashPassword(newUSer, newUSer.Password); HttpContext.Session.SetInt32("ID", newUSer.ID); dbContext.Add(newUSer); dbContext.SaveChanges(); return(Redirect($"account/{newUSer.ID}")); } return(View("Index")); }