コード例 #1
0
ファイル: AccountsController.cs プロジェクト: QRWells/QRSpace
        public async Task <ActionResult <RegisterResult> > RegisterAsync([FromForm] RegisterDto registerModel)
        {
            var isExist = await _userManager.FindByNameAsync(registerModel.Username);

            if (isExist != null)
            {
                return(BadRequest(new RegisterResult {
                    Errors = new[] { "Username has been used" }
                }));
            }
            var newUser = new ApplicationUser {
                Id = _generator.NextId(), UserName = registerModel.Username
            };
            var password = EncryptHelper.DecryptWithAES(registerModel.ConfirmPassword);
            var result   = await _userManager.CreateAsync(newUser, password);

            var result2 = await _userManager.AddToRoleAsync(newUser, "common");

            if (result.Succeeded && result2.Succeeded)
            {
                return(Created(HttpContext.Request.GetDisplayUrl(), new RegisterResult {
                    Success = true
                }));
            }
            var errors = result.Errors.Select(x => x.Description);

            return(BadRequest(new RegisterResult {
                Success = false, Errors = errors
            }));
        }
コード例 #2
0
ファイル: AdminController.cs プロジェクト: QRWells/QRSpace
        public async Task <IActionResult> AddUser([FromForm] CreateDto create)
        {
            var newUser = new ApplicationUser {
                UserName = create.UserName, Id = _generator.NextId()
            };
            var result = await _userManager.CreateAsync(newUser, create.Password);

            var result2 = await _userManager.AddToRoleAsync(newUser, create.Role);

            if (result.Succeeded && result2.Succeeded)
            {
                return(Created(HttpContext.Request.GetDisplayUrl(), new { Success = true }));
            }

            return(BadRequest(result.Errors));
        }