Example #1
0
        protected virtual Tokenizer GetTokenizer(UserAccountEvent evt)
        {
            Type type = evt.GetType();

            if (type == typeof(EmailChangeRequestedEvent))
            {
                return(new EmailChangeRequestedTokenizer());
            }
            if (type == typeof(EmailChangedEvent))
            {
                return(new EmailChangedTokenizer());
            }
            if (type == typeof(CertificateAddedEvent))
            {
                return(new CertificateAddedTokenizer());
            }
            if (type == typeof(CertificateRemovedEvent))
            {
                return(new CertificateRemovedTokenizer());
            }
            if (type == typeof(LinkedAccountAddedEvent))
            {
                return(new LinkedAccountAddedTokenizer());
            }
            if (type == typeof(LinkedAccountRemovedEvent))
            {
                return(new LinkedAccountRemovedTokenizer());
            }
            return(new Tokenizer());
        }
            public virtual string Tokenize(
                UserAccountEvent <TAccount> accountEvent,
                ApplicationInformation appInfo,
                string msg,
                IDictionary <string, string> values)
            {
                var user = accountEvent.Account;

                msg = msg.Replace("{username}", user.Username);
                msg = msg.Replace("{email}", user.Email);
                msg = msg.Replace("{mobile}", user.MobilePhoneNumber);

                msg = msg.Replace("{applicationName}", appInfo.ApplicationName);
                msg = msg.Replace("{emailSignature}", appInfo.EmailSignature);
                msg = msg.Replace("{loginUrl}", appInfo.LoginUrl);

                if (values.ContainsKey("VerificationKey"))
                {
                    msg = msg.Replace("{confirmPasswordResetUrl}", appInfo.ConfirmPasswordResetUrl + values["VerificationKey"]);
                    msg = msg.Replace("{confirmChangeEmailUrl}", appInfo.ConfirmChangeEmailUrl + values["VerificationKey"]);
                    msg = msg.Replace("{cancelVerificationUrl}", appInfo.CancelVerificationUrl + values["VerificationKey"]);
                }

                foreach (var item in values)
                {
                    msg = msg.Replace("{" + item.Key + "}", item.Value);
                }

                return(msg);
            }
 protected virtual Tokenizer GetTokenizer(UserAccountEvent evt)
 {
     Type type = evt.GetType();
     if (type == typeof(EmailChangeRequestedEvent)) return new EmailChangeRequestedTokenizer();
     if (type == typeof(EmailChangedEvent)) return new EmailChangedTokenizer();
     return new Tokenizer();
 }
 public override string Tokenize(UserAccountEvent accountEvent, ApplicationInformation appInfo, string msg)
 {
     var evt = (LinkedAccountAddedEvent)accountEvent;
     msg = base.Tokenize(accountEvent, appInfo, msg);
     msg = msg.Replace("{provider}", evt.LinkedAccount.ProviderName);
     return msg;
 }
Example #5
0
        public virtual void Process(UserAccountEvent <TAccount> evt, object extra = null)
        {
            Tracing.Information("[{0}] Processing Event: {1}", this.GetType(), evt.GetType());

            var data = new Dictionary <string, string>();

            if (extra != null)
            {
                foreach (PropertyDescriptor descriptor in TypeDescriptor.GetProperties(extra))
                {
                    object obj2 = descriptor.GetValue(extra);
                    if (obj2 != null)
                    {
                        data.Add(descriptor.Name, obj2.ToString());
                    }
                }
            }

            var msg = CreateMessage(evt, data);

            if (msg != null)
            {
                SendSms(msg);
            }
        }
Example #6
0
        public virtual void Process(UserAccountEvent <TAccount> evt, object extra = null)
        {
            var data = new Dictionary <string, string>();

            if (extra != null)
            {
                foreach (PropertyDescriptor descriptor in TypeDescriptor.GetProperties(extra))
                {
                    object obj2 = descriptor.GetValue(extra);
                    if (obj2 != null)
                    {
                        data.Add(descriptor.Name, obj2.ToString());
                    }
                }
            }

            var msg = this.messageFormatter.Format(evt, data);

            if (msg != null)
            {
                if (data.ContainsKey("NewEmail"))
                {
                    msg.To = data["NewEmail"];
                }
                else
                {
                    msg.To = evt.Account.Email;
                }

                if (!String.IsNullOrWhiteSpace(msg.To))
                {
                    this.messageDelivery.Send(msg);
                }
            }
        }
 public Message Format(UserAccountEvent <TAccount> accountEvent, IDictionary <string, string> values)
 {
     if (accountEvent == null)
     {
         throw new ArgumentNullException("accountEvent");
     }
     return(CreateMessage(GetSubject(accountEvent, values), GetBody(accountEvent, values)));
 }
 public override string Tokenize(UserAccountEvent accountEvent, ApplicationInformation appInfo, string msg)
 {
     var evt = (EmailChangedEvent)accountEvent;
     msg = base.Tokenize(accountEvent, appInfo, msg);
     msg = msg.Replace("{newEmail}", accountEvent.Account.Email);
     msg = msg.Replace("{oldEmail}", evt.OldEmail);
     return msg;
 }
Example #9
0
            public override string Tokenize(UserAccountEvent accountEvent, ApplicationInformation appInfo, string msg)
            {
                var evt = (LinkedAccountRemovedEvent)accountEvent;

                msg = base.Tokenize(accountEvent, appInfo, msg);
                msg = msg.Replace("{provider}", evt.LinkedAccount.ProviderName);
                return(msg);
            }
 public override string Tokenize(UserAccountEvent accountEvent, ApplicationInformation appInfo, string msg)
 {
     var evt = (CertificateRemovedEvent)accountEvent;
     msg = base.Tokenize(accountEvent, appInfo, msg);
     msg = msg.Replace("{thumbprint}", evt.Certificate.Thumbprint);
     msg = msg.Replace("{subject}", evt.Certificate.Subject);
     return msg;
 }
 public Message Format(UserAccountEvent accountEvent)
 {
     if (accountEvent == null)
     {
         throw new ArgumentNullException("accountEvent");
     }
     return(CreateMessage(GetSubject(accountEvent), GetBody(accountEvent)));
 }
            public override string Tokenize(UserAccountEvent accountEvent, ApplicationInformation appInfo, string msg)
            {
                var evt = (EmailChangedEvent)accountEvent;

                msg = base.Tokenize(accountEvent, appInfo, msg);
                msg = msg.Replace("{newEmail}", accountEvent.Account.Email);
                msg = msg.Replace("{oldEmail}", evt.OldEmail);
                return(msg);
            }
        private string GetMessageBody(UserAccountEvent accountEvent, dynamic extra)
        {
            var txt = LoadTemplate();
            
            txt = txt.Replace("{applicationName}", ApplicationInformation.ApplicationName);
            txt = txt.Replace("{code}", extra.Code);

            return txt;
        }
Example #14
0
        private string GetMessageBody(UserAccountEvent accountEvent)
        {
            var txt = LoadTemplate();

            txt = txt.Replace("{applicationName}", ApplicationInformation.ApplicationName);
            txt = txt.Replace("{code}", accountEvent.Account.MobileCode);

            return(txt);
        }
Example #15
0
            public override string Tokenize(UserAccountEvent accountEvent, ApplicationInformation appInfo, string msg)
            {
                var evt = (CertificateRemovedEvent)accountEvent;

                msg = base.Tokenize(accountEvent, appInfo, msg);
                msg = msg.Replace("{thumbprint}", evt.Certificate.Thumbprint);
                msg = msg.Replace("{subject}", evt.Certificate.Subject);
                return(msg);
            }
Example #16
0
        public virtual void Process(UserAccountEvent evt, string phone = null)
        {
            var msg = CreateMessage(evt, phone);

            if (msg != null)
            {
                SendSms(msg);
            }
        }
 public override string Tokenize(UserAccountEvent accountEvent, ApplicationInformation appInfo, string msg, dynamic extra)
 {
     Func<UserAccountEvent, ApplicationInformation, string, dynamic, string> b = base.Tokenize;
     var evt = (EmailChangedEvent)accountEvent;
     msg = b(accountEvent, appInfo, msg, extra);
     msg = msg.Replace("{newEmail}", accountEvent.Account.Email);
     msg = msg.Replace("{oldEmail}", evt.OldEmail);
     return msg;
 }
        private string GetMessageBody(UserAccountEvent accountEvent)
        {
            var txt = LoadTemplate();
            
            txt = txt.Replace("{applicationName}", ApplicationInformation.ApplicationName);
            txt = txt.Replace("{code}", accountEvent.Account.MobileCode);

            return txt;
        }
 public override string Tokenize(UserAccountEvent accountEvent, ApplicationInformation appInfo, string msg, dynamic extra)
 {
     var evt = (CertificateAddedEvent)accountEvent;
     Func<UserAccountEvent, ApplicationInformation, string, dynamic, string> b = base.Tokenize;
     msg = b(accountEvent, appInfo, msg, extra);
     msg = msg.Replace("{thumbprint}", evt.Certificate.Thumbprint);
     msg = msg.Replace("{subject}", evt.Certificate.Subject);
     return msg;
 }
        public virtual void Process(UserAccountEvent evt, string email = null)
        {
            var msg = this.messageFormatter.Format(evt);

            if (msg != null)
            {
                msg.To = email ?? evt.Account.Email;
                this.messageDelivery.Send(msg);
            }
        }
Example #21
0
        protected virtual Message CreateMessage(UserAccountEvent evt, string phone)
        {
            var msg = this.messageFormatter.Format(evt);

            if (msg != null)
            {
                msg.To = phone ?? evt.Account.MobilePhoneNumber;
            }
            return(msg);
        }
        public Message Format(UserAccountEvent accountEvent, dynamic extra)
        {
            if (accountEvent == null) throw new ArgumentNullException("accountEvent");

            var message = GetMessageBody(accountEvent, extra);
            return new Message
            {
                Subject = message,
                Body = message
            };
        }
        protected string FormatValue(UserAccountEvent evt, string value)
        {
            if (value == null)
            {
                return(null);
            }

            var tokenizer = GetTokenizer(evt);

            return(tokenizer.Tokenize(evt, this.ApplicationInformation, value));
        }
        protected string FormatValue(UserAccountEvent <TAccount> evt, string value, IDictionary <string, string> values)
        {
            if (value == null)
            {
                return(null);
            }

            var tokenizer = GetTokenizer(evt);

            return(tokenizer.Tokenize(evt, this.ApplicationInformation, value, values));
        }
        private string GetMessageBody(UserAccountEvent <TAccount> accountEvent, IDictionary <string, string> values)
        {
            var txt = LoadTemplate();

            txt = txt.Replace("{applicationName}", ApplicationInformation.ApplicationName);
            if (values.ContainsKey("Code"))
            {
                txt = txt.Replace("{code}", values["Code"]);
            }

            return(txt);
        }
        protected virtual Tokenizer GetTokenizer(UserAccountEvent evt)
        {
            Type type = evt.GetType();

            if (type == typeof(EmailChangeRequestedEvent))
            {
                return(new EmailChangeRequestedTokenizer());
            }
            if (type == typeof(EmailChangedEvent))
            {
                return(new EmailChangedTokenizer());
            }
            return(new Tokenizer());
        }
        public Message Format(UserAccountEvent <TAccount> accountEvent, IDictionary <string, string> values)
        {
            if (accountEvent == null)
            {
                throw new ArgumentNullException("accountEvent");
            }

            var message = GetMessageBody(accountEvent, values);

            return(new Message
            {
                Subject = message,
                Body = message
            });
        }
Example #28
0
        public Message Format(UserAccountEvent accountEvent)
        {
            if (accountEvent == null)
            {
                throw new ArgumentNullException("accountEvent");
            }

            var message = GetMessageBody(accountEvent);

            return(new Message
            {
                Subject = message,
                Body = message
            });
        }
        protected virtual Message CreateMessage(UserAccountEvent <TAccount> evt, IDictionary <string, string> extra)
        {
            var msg = this.messageFormatter.Format(evt, extra);

            if (msg != null)
            {
                if (extra.ContainsKey("NewMobilePhoneNumber"))
                {
                    msg.To = extra["NewMobilePhoneNumber"];
                }
                else
                {
                    msg.To = evt.Account.MobilePhoneNumber;
                }
            }
            return(msg);
        }
            public virtual string Tokenize(UserAccountEvent accountEvent, ApplicationInformation appInfo, string msg)
            {
                var user = accountEvent.Account;

                msg = msg.Replace("{username}", user.Username);
                msg = msg.Replace("{email}", user.Email);

                msg = msg.Replace("{applicationName}", appInfo.ApplicationName);
                msg = msg.Replace("{emailSignature}", appInfo.EmailSignature);
                msg = msg.Replace("{loginUrl}", appInfo.LoginUrl);

                msg = msg.Replace("{confirmAccountCreateUrl}", appInfo.VerifyAccountUrl + user.VerificationKey);
                msg = msg.Replace("{cancelNewAccountUrl}", appInfo.CancelNewAccountUrl + user.VerificationKey);

                msg = msg.Replace("{confirmPasswordResetUrl}", appInfo.ConfirmPasswordResetUrl + user.VerificationKey);
                msg = msg.Replace("{confirmChangeEmailUrl}", appInfo.ConfirmChangeEmailUrl + user.VerificationKey);

                return(msg);
            }
            public virtual string Tokenize(UserAccountEvent accountEvent, ApplicationInformation appInfo, string msg)
            {
                var user = accountEvent.Account;

                msg = msg.Replace("{username}", user.Username);
                msg = msg.Replace("{email}", user.Email);

                msg = msg.Replace("{applicationName}", appInfo.ApplicationName);
                msg = msg.Replace("{emailSignature}", appInfo.EmailSignature);
                msg = msg.Replace("{loginUrl}", appInfo.LoginUrl);

                msg = msg.Replace("{confirmAccountCreateUrl}", appInfo.VerifyAccountUrl + user.VerificationKey);
                msg = msg.Replace("{cancelNewAccountUrl}", appInfo.CancelNewAccountUrl + user.VerificationKey);

                msg = msg.Replace("{confirmPasswordResetUrl}", appInfo.ConfirmPasswordResetUrl + user.VerificationKey);
                msg = msg.Replace("{confirmChangeEmailUrl}", appInfo.ConfirmChangeEmailUrl + user.VerificationKey);

                return msg;
            }
 protected virtual string LoadSubjectTemplate(UserAccountEvent evt)
 {
     return(LoadTemplate(evt.GetType().Name + "_Subject"));
 }
 protected virtual Tokenizer GetTokenizer(UserAccountEvent <TAccount> evt)
 {
     return(new Tokenizer());
 }
 protected virtual string LoadBodyTemplate(UserAccountEvent evt)
 {
     return(LoadTemplate(evt.GetType().Name + "_Body"));
 }
 protected virtual string GetBody(UserAccountEvent evt, dynamic extra)
 {
     return FormatValue(evt, LoadBodyTemplate(evt), extra);
 }
 protected virtual string GetSubject(UserAccountEvent evt)
 {
     return FormatValue(evt, LoadSubjectTemplate(evt));
 }
 public override string Tokenize(UserAccountEvent accountEvent, ApplicationInformation appInfo, string msg, dynamic extra)
 {
     Func<UserAccountEvent, ApplicationInformation, string, dynamic, string> b = base.Tokenize;
     var evt = (LinkedAccountRemovedEvent)accountEvent;
     msg = b(accountEvent, appInfo, msg, extra);
     msg = msg.Replace("{provider}", evt.LinkedAccount.ProviderName);
     return msg;
 }
 protected virtual string LoadBodyTemplate(UserAccountEvent evt)
 {
     return LoadTemplate(evt.GetType().Name + "_Body");
 }
 protected virtual string LoadSubjectTemplate(UserAccountEvent evt)
 {
     return LoadTemplate(evt.GetType().Name + "_Subject");
 }
 /// <summary>
 /// Apply transformations on the <paramref name="message"/> just before it is sent
 /// </summary>
 /// <remarks>
 /// Tip: Override this method to changes things like the email recipient(s)
 /// <para>
 /// A note to subclass implementors: whatever message is returned by this override will be the one that
 /// is sent. The message you return can be the same as the <paramref name="message"/> supplied.
 /// If you do not return a message then no email will be sent.
 /// </para>
 /// </remarks>
 /// <param name="message"></param>
 /// <param name="evt"></param>
 /// <param name="data"></param>
 /// <returns></returns>
 protected virtual Message CustomizeEmail(Message message, UserAccountEvent <TAccount> evt, Dictionary <string, string> data)
 {
     return(message);
 }
 protected virtual string GetBody(UserAccountEvent evt)
 {
     return(FormatValue(evt, LoadBodyTemplate(evt)));
 }
 protected virtual string GetBody(UserAccountEvent <TAccount> evt, IDictionary <string, string> values)
 {
     return(FormatValue(evt, LoadBodyTemplate(evt), values));
 }
 protected virtual string GetSubject(UserAccountEvent evt)
 {
     return(FormatValue(evt, LoadSubjectTemplate(evt)));
 }
 protected virtual string LoadBodyTemplate(UserAccountEvent <TAccount> evt)
 {
     return(LoadTemplate(CleanGenericName(evt.GetType()) + "_Body"));
 }
 public Message Format(UserAccountEvent accountEvent, dynamic extra)
 {
     if (accountEvent == null) throw new ArgumentNullException("accountEvent");
     return CreateMessage(GetSubject(accountEvent, extra), GetBody(accountEvent, extra));
 }
        protected string FormatValue(UserAccountEvent evt, string value, dynamic extra)
        {
            if (value == null) return null;

            var tokenizer = GetTokenizer(evt);
            return tokenizer.Tokenize(evt, this.ApplicationInformation, value, extra);
        }
 public virtual void Process(UserAccountEvent evt, string email = null)
 {
     var msg = this.messageFormatter.Format(evt);
     if (msg != null)
     {
         msg.To = email ?? evt.Account.Email;
         this.messageDelivery.Send(msg);
     }
 }
 protected virtual Tokenizer GetTokenizer(UserAccountEvent evt)
 {
     Type type = evt.GetType();
     if (type == typeof(EmailChangeRequestedEvent)) return new EmailChangeRequestedTokenizer();
     if (type == typeof(EmailChangedEvent)) return new EmailChangedTokenizer();
     if (type == typeof(CertificateAddedEvent)) return new CertificateAddedTokenizer();
     if (type == typeof(CertificateRemovedEvent)) return new CertificateRemovedTokenizer();
     if (type == typeof(LinkedAccountAddedEvent)) return new LinkedAccountAddedTokenizer();
     if (type == typeof(LinkedAccountRemovedEvent)) return new LinkedAccountRemovedTokenizer();
     return new Tokenizer();
 }