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"])); } } }
private async Task AddEntryMembershipDateAsync(string userId) { if (!(await _userDatesService.UserHasMembership(userId))) { await _userDatesService.AddDateEntryAsync(userId); } }
public async Task <IActionResult> InitializeUserDates(string userId) { if (await _userDatesService.AddDateEntryAsync(userId)) { return(Ok(userId)); } return(BadRequest()); }
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"])); } } }