public async Task <IActionResult> ChangeEmail([FromBody] NewEmailDto newEmailDto) { var newEmail = newEmailDto.NewEmail; var id = HttpContext.User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier); if (id == null) { return(NotFound()); } var user = await _userManager.FindByIdAsync(id.Value); if (newEmail == user.Email) { return(ValidationProblem("New email can't be the same as the old one")); } if (await _userManager.FindByEmailAsync(newEmail) != null) { return(Conflict("Email is already in use")); } user.Email = newEmail; var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { return(Ok()); } return(Problem()); }
public IActionResult Post([FromBody] NewEmailDto email) { var emailSettings = _options.Value; IEmailSender service = _emailSender.FirstOrDefault(x => x.providerName == emailSettings.ActiveProviderName); service.sendEmail(email.EmailAddress, email.Message); return(Ok(nameof(service))); }
/// <summary> /// Request reset email. A verification email will be sent to the new email. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='email'> /// </param> /// <param name='dto'> /// The users' new email /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async System.Threading.Tasks.Task <object> ResetEmailByemaildtoAsync(this IUsers operations, string email, NewEmailDto dto, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { using (var _result = await operations.ResetEmailByemaildtoWithHttpMessagesAsync(email, dto, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Request reset email. A verification email will be sent to the new email. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='email'> /// </param> /// <param name='dto'> /// The users' new email /// </param> public static object ResetEmailByemaildto(this IUsers operations, string email, NewEmailDto dto) { return(System.Threading.Tasks.Task.Factory.StartNew(s => ((IUsers)s).ResetEmailByemaildtoAsync(email, dto), operations, System.Threading.CancellationToken.None, System.Threading.Tasks.TaskCreationOptions.None, System.Threading.Tasks.TaskScheduler.Default).Unwrap().GetAwaiter().GetResult()); }