public async Task <IActionResult> Register(ViewModels.RegistrationModel data) { var user = database.Users.FirstOrDefault(u => u.Login == data.Login); if (data.Password == null) { data.Password = "******"; } if (user == null) { var newUser = new Models.User() { Login = data.Login, PasswordHash = Utils.PasswordHasher.Default.Hash(data.Password) }; database.Users.Add(newUser); await database.SaveChangesAsync().ConfigureAwait(true); _ = Authenticate(newUser); return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "Некорректные данные"); return(View(data)); } }
public async Task <IActionResult> Register(ViewModels.RegistrationModel model) { var loginAvailable = account.IsLoginAvailable(model.Login); if (loginAvailable) { await account.Register(model.Login, model.Password); await auth.Authenticate(model.Login, Enumerable.Empty <string>()); return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "Пользователь с таким именем уже существует"); return(View(model)); } }