Example #1
0
        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)));
        }
Example #3
0
 /// <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);
     }
 }
Example #4
0
 /// <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());
 }