示例#1
0
        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));
        }