コード例 #1
0
            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);
                }
            }
コード例 #2
0
            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);
                }
            }
コード例 #3
0
 public P02CreateAccountHandler(MessageInjectionService injector, ConfirmationMailService mailing)
 {
     this.injector = injector;
     this.mailing  = mailing;
 }