Beispiel #1
0
        public async Task <RegisterResultDto> Register(RegisterInfoDto registerInfo)
        {
            var result = new RegisterResultDto();

            var user = new UserEntity {
                UserName = registerInfo.Username, DisplayName = registerInfo.Username
            };
            IdentityResult creareUserResult = await _userManager.CreateAsync(user, registerInfo.Password);

            if (creareUserResult.Succeeded)
            {
                result.Result = RegisterResultEnum.Success;
                result.Token  = _tokenService.GetToken(user);
            }
            else if (creareUserResult.Errors.Any(x => string.Equals(x.Code, "DuplicateUserName")))
            {
                result.Result = RegisterResultEnum.UsernameAlreadyExists;
            }
            else
            {
                result.Result = RegisterResultEnum.Unknown;
            }

            return(result);
        }
Beispiel #2
0
        public async Task <CustomResult> RegisterUser(RegisterInfoDto user)
        {
            CustomResult custom = new CustomResult();

            try
            {
                var userModel = _mapper.Map <ChatUser>(user);
                userModel.PasswordHash = PasswordStorage.CreateHash(user.Password);
                int success = await _repo.CreateUser(userModel);

                if (success > 0)
                {
                    custom.Code    = 200;
                    custom.IsError = false;
                    custom.Message = "Account successfully created.";
                }
                else
                {
                    custom.Code    = 500;
                    custom.IsError = true;
                    custom.Message = "Unable to create user account";
                }
            }
            catch (System.Data.DataException ex)
            {
                var baseException = ex.GetBaseException();

                if (baseException is SqlException)
                {
                    SqlException actualException = baseException as SqlException;
                    custom.Code = actualException.Number;

                    if (custom.Code == 2601)
                    {
                        custom.Message = "Email address already registered. Please use reset password to reset.";
                    }
                    else
                    {
                        custom.Message = actualException.Message;
                    }
                }
                else
                {
                    custom.Code    = baseException.HResult;
                    custom.Message = baseException.Message;
                }
                custom.IsError = true;
            }

            return(custom);
        }
Beispiel #3
0
 public async Task <RegisterResultDto> Register(RegisterInfoDto registerInfo)
 {
     Validate();
     return(await _accountService.Register(registerInfo));
 }
Beispiel #4
0
 public async Task <CustomResult> RegisterUser(RegisterInfoDto registerInfo)
 {
     return(await _userAccountManager.RegisterUser(registerInfo));
 }