Esempio n. 1
0
        public async Task <IActionResult> Post([FromForm] RegisterModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var user = new NesopsUsers
                    {
                        UserName = model.Username
                    };
                    var userRoles = new List <string>()
                    {
                        "ActiveUser",
                        "Admin"
                    };
                    var result = await _authorizationService.CreateUserAsync(user, model.Password, userRoles);

                    if (result.Succeeded)
                    {
                        return(Ok(new { message = "You have been registered your account." }));
                    }
                    foreach (var err in result.Errors)
                    {
                        ModelState.AddModelError(err.Code, err.Description);
                    }
                }
                return(BadRequest(ModelState));
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
        public async Task <IdentityResult> CreateUserAsync(NesopsUsers user, string password, IEnumerable <string> roles = null)
        {
            using (var transaction = _dbContext.Database.BeginTransaction())
            {
                var result = await _userManager.CreateAsync(user, password);

                if (!result.Succeeded)
                {
                    return(result);
                }
                if (roles != null)
                {
                    result = await _userManager.AddToRolesAsync(user, roles);
                }
                if (result.Succeeded)
                {
                    transaction.Commit();
                }
                return(result);
            }
        }