public NotifyMessageEngine(NotifyMessageType notifyMessageType, INotifyMessageSender notifyMessageSender, IDatabase database, string notifyMessageTableName) { this.notifyMessageType = notifyMessageType; this.notifyMessageSender = notifyMessageSender; this.database = database; this.notifyMessageTableName = notifyMessageTableName; }
public NotifyManager(IDatabase database, INotifyMessageSender emailNotifyMessageSender = null, INotifyMessageSender phoneTextNotifyMessageSender = null, string notifyMessageTableName = "notify_message", string notifyVerifyTableName = "notify_verify", int verifyCodeExpiresSeconds = 3600, string verifyEmailFile = null, string verifyPhoneTextFile = null, string verifyCodeFormat = "###-###") { this.database = database; this.emailNotifyMessageEngine = emailNotifyMessageSender == null ? null : new NotifyMessageEngine(NotifyMessageType.Email, emailNotifyMessageSender, database, notifyMessageTableName); this.phoneTextNotifyMessageEngine = phoneTextNotifyMessageSender == null ? null : new NotifyMessageEngine(NotifyMessageType.PhoneText, phoneTextNotifyMessageSender, database, notifyMessageTableName); this.notifyMessageTableName = notifyMessageTableName; this.notifyVerifyTableName = notifyVerifyTableName; this.verifyCodeExpiresSeconds = verifyCodeExpiresSeconds; this.verifyEmailNotifyMessage = verifyEmailFile != null?NotifyMessage.ParseFile(verifyEmailFile) : null; this.verifyPhoneTextNotifyMessage = verifyPhoneTextFile != null?NotifyMessage.ParseFile(verifyPhoneTextFile) : null; this.verifyCodeFormat = verifyCodeFormat; }
public static async Task SendPhoneNotifyMessage(INotifyMessageSender notifyMessageSender) { IDatabase database = new Butterfly.Core.Database.Memory.MemoryDatabase(); await database.CreateFromResourceFileAsync(Assembly.GetExecutingAssembly(), "Butterfly.Notify.Test.db.sql"); database.SetDefaultValue("id", tableName => Guid.NewGuid().ToString()); database.SetDefaultValue("created_at", tableName => DateTime.Now); var notifyMessageManager = new NotifyManager(database, phoneNotifyMessageSender: notifyMessageSender); notifyMessageManager.Start(); var notifyMessage = new NotifyMessage("+1 316 712 7412", "+1 316 555 1212", null, "Just testing", null); using (ITransaction transaction = await database.BeginTransactionAsync()) { await notifyMessageManager.Queue(transaction, notifyMessage); } await Task.Delay(200000); }
public static async Task SendEmailNotifyMessage(INotifyMessageSender notifyMessageSender) { IDatabase database = new Butterfly.Core.Database.Memory.MemoryDatabase(); await database.CreateFromResourceFileAsync(Assembly.GetExecutingAssembly(), "Butterfly.Notify.Test.db.sql"); database.SetDefaultValue("id", tableName => Guid.NewGuid().ToString()); database.SetDefaultValue("created_at", tableName => DateTime.Now); var notifyMessageManager = new NotifyManager(database, emailNotifyMessageSender: notifyMessageSender); notifyMessageManager.Start(); var notifyMessage = new NotifyMessage("*****@*****.**", "*****@*****.**", "Test SES", "Just testing", null); using (ITransaction transaction = await database.BeginTransactionAsync()) { await notifyMessageManager.Queue(transaction, notifyMessage); await transaction.CommitAsync(); } await Task.Delay(200000); }