private async Task <int> OnExecute(IConsole console, DatabaseContext database, ConfirmationMailService mailingService) { MailConfirmation confirmation = await database.MailConfirmations.SingleOrDefaultAsync(c => c.MailAddress == MailAddress).ConfigureAwait(false); if (confirmation != null) { console.Out.WriteLine("Sending confirmation mail..."); await mailingService.SendMailAsync(MailAddress, confirmation.Token).ConfigureAwait(false); return(0); } else { console.Out.WriteLine($"The AccountName {MailAddress} does not exist!"); return(1); } }
private async Task <int> OnExecute(IConsole console, DatabaseContext database, ConfirmationMailService mailingService) { if (!MailUtilities.IsValidAddress(AccountName)) { console.Error.WriteLine("Please use a valid email address!"); return(1); } console.Out.WriteLine("WARNING: Argon2 hash is currently not supported!"); (var account, var confirmation, bool success) = await database.AddAccount(AccountName, Array.Empty <byte>()).ConfigureAwait(false); if (success) { console.Out.WriteLine($"Created account with ID {account.AccountId}"); console.Out.WriteLine($"Visit {mailingService.GetConfirmationUrl(confirmation.Token)} to confirm the mail address"); if (SendMail) { console.Out.WriteLine("Sending confirmation mail..."); await mailingService.SendMailAsync(AccountName, confirmation.Token).ConfigureAwait(false); } return(0); } else { console.Error.WriteLine($"The AccountName {AccountName} already exists!"); return(1); } }
public P02CreateAccountHandler(MessageInjectionService injector, ConfirmationMailService mailing) { this.injector = injector; this.mailing = mailing; }