예제 #1
0
        public async Task <IActionResult> Register([FromBody] RegisterDto registerDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(_resources.ResourceForErrors["Register-InCorrectData"]));
            }
            var registeredUser = await _authService.FindByEmailAsync(registerDto.Email);

            if (registeredUser != null)
            {
                return(BadRequest(_resources.ResourceForErrors["Register-RegisteredUser"]));
            }
            else
            {
                var result = await _authService.CreateUserAsync(registerDto);

                if (!result.Succeeded)
                {
                    return(BadRequest(_resources.ResourceForErrors["Register-InCorrectPassword"]));
                }
                else
                {
                    if (!(await _authEmailServices.SendEmailRegistrAsync(registerDto.Email)))
                    {
                        return(BadRequest(_resources.ResourceForErrors["Register-SMTPServerError"]));
                    }
                    var userDto = await _authService.FindByEmailAsync(registerDto.Email);

                    await _userDatesService.AddDateEntryAsync(userDto.Id);

                    return(Ok(_resources.ResourceForErrors["Confirm-Registration"]));
                }
            }
        }
예제 #2
0
 private async Task AddEntryMembershipDateAsync(string userId)
 {
     if (!(await _userDatesService.UserHasMembership(userId)))
     {
         await _userDatesService.AddDateEntryAsync(userId);
     }
 }
예제 #3
0
        public async Task <IActionResult> InitializeUserDates(string userId)
        {
            if (await _userDatesService.AddDateEntryAsync(userId))
            {
                return(Ok(userId));
            }

            return(BadRequest());
        }
예제 #4
0
        public async Task <IActionResult> Register([FromBody] RegisterDto registerDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(_resourceForErrors["Register-InCorrectData"]));
            }
            var registeredUser = await _authService.FindByEmailAsync(registerDto.Email);

            if (registeredUser != null)
            {
                return(BadRequest(_resourceForErrors["Register-RegisteredUser"]));
            }
            else
            {
                var result = await _authService.CreateUserAsync(registerDto);

                if (!result.Succeeded)
                {
                    return(BadRequest(_resourceForErrors["Register-InCorrectPassword"]));
                }
                else
                {
                    string token = await _authService.AddRoleAndTokenAsync(registerDto);

                    var userDto = await _authService.FindByEmailAsync(registerDto.Email);

                    string confirmationLink = Url.Action(
                        nameof(ConfirmingEmail),
                        "Auth",
                        new { token = token, userId = userDto.Id },
                        protocol: HttpContext.Request.Scheme);
                    await _authService.SendEmailRegistr(confirmationLink, userDto);

                    await _userDatesService.AddDateEntryAsync(userDto.Id);

                    return(Ok(_resourceForErrors["Confirm-Registration"]));
                }
            }
        }