Exemplo n.º 1
0
        public async Task <IActionResult> Create([FromBody] RegistrationViewModel registrationViewModel)
        {
            var userFromDb = dbContext.Users.FirstOrDefault(u => u.UserName == registrationViewModel.Username);

            if (userFromDb != null)
            {
                return(BadRequest("Такой Login уже зарегистрирован"));
            }
            var newUser = new IdentityUser(registrationViewModel.Username)
            {
                Email = registrationViewModel.Email
            };
            var result = await userManager.CreateAsync(newUser, registrationViewModel.Password);

            if (result.Succeeded)
            {
                await userManager.AddToRoleAsync(newUser, "user");

                PlayerProfile profileEntity = new PlayerProfile {
                    Player = newUser
                };
                await _playerProfile.Create(profileEntity).ConfigureAwait(false);

                return(Ok());
            }

            return(BadRequest());
        }