Exemple #1
0
        public async Task <Unit> Handle(CreateAccountCommand request, CancellationToken cancellationToken)
        {
            var newPassword = new PasswordCredential();

            newPassword.SetPassword(request.Password, _passwordHashingService, _securePasswordSaltGenerator);

            var newEmailAddress = new AccountEmailAddress()
            {
                EmailAddress = request.EmailAddress
            };

            var newAccount = new Account()
            {
                Username           = request.Username,
                PasswordCredential = newPassword
            };

            newAccount.Emails.Add(newEmailAddress);

            newAccount.PrimaryEmail = newEmailAddress;

            await _unitOfWork.Accounts.CreateAsync(newAccount);

            await _unitOfWork.SaveChangesAsync();

            newEmailAddress.SendVerificationRequest(_emailVerifierService, _alphanumericTokenGenerator);

            await _unitOfWork.SaveChangesAsync();

            return(Unit.Value);
        }
 public void SendResetToken(AccountEmailAddress primaryEmail, PasswordResetToken token)
 {
     _emailSender.SendEmail(
         new Email()
     {
         Recipient     = primaryEmail.EmailAddress,
         Subject       = "Password Reset",
         EmailBodyType = EmailBodyType.HTML,
         Body          = $"your token : {token.ResetToken}"
     });
 }
 public void AttemptToVerify(AccountEmailAddress emailAddress, EmailVerificationToken token)
 {
     _emailSender.SendEmail(
         new Email()
     {
         Recipient     = emailAddress.EmailAddress,
         Subject       = "Email Address Verification",
         EmailBodyType = EmailBodyType.HTML,
         Body          = $"your token : {token.VerificationToken}"
     });
 }
        public async Task <Unit> Handle(AddEmailAddressCommand request, CancellationToken cancellationToken)
        {
            var account = await _unitOfWork.Accounts.ReadByIdAsync(request.AccountId);

            var newEmailAddress = new AccountEmailAddress()
            {
                EmailAddress = request.EmailAddress,
                IsVerified   = false
            };

            account.Emails.Add(newEmailAddress);

            await _unitOfWork.SaveChangesAsync();

            newEmailAddress.SendVerificationRequest(_emailVerifierService, _alphanumericTokenGenerator);

            return(Unit.Value);
        }