public async Task <IActionResult> Register(RegisterModel model) { if (ModelState.IsValid) { BattleshipIdentity user = await db.Users.FirstOrDefaultAsync(u => u.Name == model.Name); if (user == null) { Player player = new Player() { Name = model.Name }; _unitOfWork.CreatePlayer(player); BattleshipIdentity identity = new BattleshipIdentity { Name = model.Name, Password = model.Password, AssociatedPlayerId = player.Id }; db.Users.Add(identity); await db.SaveChangesAsync(); await Authenticate(model.Name, identity.Id); return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "Некорректные логин и(или) пароль"); } } return(View(model)); }
public async Task <IActionResult> Login(LoginModel model) { if (ModelState.IsValid) { BattleshipIdentity user = await db.Users.FirstOrDefaultAsync(u => u.Name == model.Name && u.Password == model.Password); if (user != null) { await Authenticate(model.Name, user.Id); return(RedirectToAction("Index", "Home")); } ModelState.AddModelError("", "Incorrect name or password"); } return(View(model)); }