private void AddOrUpdateEmailTemplateSettings(EmailTemplateSettings emailTemplateSettings, string subject, string senderName, string senderAddress, string toAddresses, string ccAddresses, string bccAddresses, string templateFile, long?languageId = null)
        {
            if (!string.IsNullOrEmpty(subject) || !string.IsNullOrEmpty(senderName) || !string.IsNullOrEmpty(senderAddress) || !string.IsNullOrEmpty(toAddresses) || !string.IsNullOrEmpty(ccAddresses) || !string.IsNullOrEmpty(bccAddresses) || !string.IsNullOrEmpty(templateFile))
            {
                if (emailTemplateSettings == null)
                {
                    emailTemplateSettings            = new EmailTemplateSettings();
                    emailTemplateSettings.LanguageId = languageId;
                    emailTemplate.Settings.Add(emailTemplateSettings);
                }

                emailTemplateSettings.Subject       = subject;
                emailTemplateSettings.SenderName    = senderName;
                emailTemplateSettings.SenderAddress = senderAddress;
                emailTemplateSettings.ToAddresses   = new List <string>(toAddresses.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries));
                emailTemplateSettings.CcAddresses   = new List <string>(ccAddresses.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries));
                emailTemplateSettings.BccAddresses  = new List <string>(bccAddresses.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries));
                emailTemplateSettings.TemplateFile  = templateFile;
            }
            else
            {
                //Remove it - if it's empty
                if (emailTemplateSettings != null)
                {
                    emailTemplate.Settings.Remove(emailTemplateSettings);
                }
            }
        }
        protected override void OnLoad(EventArgs e)
        {
            if (!IsPostBack)
            {
                TemplateFileSelectorControl.LoadTemplateFiles();

                TxtName.Text  = emailTemplate.Name;
                TxtAlias.Text = emailTemplate.Alias;
                ChkShouldClientReceiveEmail.Checked = emailTemplate.SendEmailToCustomer;

                EmailTemplateSettings defaultSettings = emailTemplate.Settings.SingleOrDefault(s => s.LanguageId == null);
                if (defaultSettings != null)
                {
                    TxtSubject.Text       = defaultSettings.Subject;
                    TxtSenderName.Text    = defaultSettings.SenderName;
                    TxtSenderAddress.Text = defaultSettings.SenderAddress;
                    TxtToAddresses.Text   = string.Join(";", defaultSettings.ToAddresses);
                    TxtCCAddresses.Text   = string.Join(";", defaultSettings.CcAddresses);
                    TxtBCCAddresses.Text  = string.Join(";", defaultSettings.BccAddresses);

                    TemplateFileSelectorControl.Items.TrySelectByValue(defaultSettings.TemplateFile);
                }

                foreach (Language language in umbracoLanguages)
                {
                    TemplateFileSelector templateFileSelectorControl = CurrentTabView.FindControl <TemplateFileSelector>("TemplateFileSelectorControl" + language.id);
                    templateFileSelectorControl.LoadTemplateFiles();

                    EmailTemplateSettings emailTemplateSettings = emailTemplate.Settings.SingleOrDefault(s => s.LanguageId == language.id);
                    if (emailTemplateSettings != null)
                    {
                        TextBox txtSubject       = CurrentTabView.FindControl <TextBox>("TxtSubject" + language.id);
                        TextBox txtSenderName    = CurrentTabView.FindControl <TextBox>("TxtSenderName" + language.id);
                        TextBox txtSenderAddress = CurrentTabView.FindControl <TextBox>("TxtSenderAddress" + language.id);
                        TextBox txtToAddresses   = CurrentTabView.FindControl <TextBox>("TxtToAddresses" + language.id);
                        TextBox txtCCAddresses   = CurrentTabView.FindControl <TextBox>("TxtCCAddresses" + language.id);
                        TextBox txtBCCAddresses  = CurrentTabView.FindControl <TextBox>("TxtBCCAddresses" + language.id);

                        txtSubject.Text       = emailTemplateSettings.Subject;
                        txtSenderName.Text    = emailTemplateSettings.SenderName;
                        txtSenderAddress.Text = emailTemplateSettings.SenderAddress;
                        txtToAddresses.Text   = string.Join(";", emailTemplateSettings.ToAddresses);
                        txtCCAddresses.Text   = string.Join(";", emailTemplateSettings.CcAddresses);
                        txtBCCAddresses.Text  = string.Join(";", emailTemplateSettings.BccAddresses);

                        foreach (ListItem item in templateFileSelectorControl.Items)
                        {
                            item.Selected = item.Value == emailTemplateSettings.TemplateFile;
                            if (item.Selected)
                            {
                                break;
                            }
                        }
                    }
                }
            }

            base.OnLoad(e);
        }
Example #3
0
 public EmailNotificationsSettingsService(EmailTemplateSettings p2PSuccessForSenderTemplateSettings,
                                          EmailTemplateSettings p2PSuccessForReceiverTemplateSettings,
                                          EmailTemplateSettings p2PFailureForSenderTemplateSettings)
 {
     P2PSuccessForSenderTemplateSettings   = p2PSuccessForSenderTemplateSettings;
     P2PSuccessForReceiverTemplateSettings = p2PSuccessForReceiverTemplateSettings;
     P2PFailureForSenderTemplateSettings   = p2PFailureForSenderTemplateSettings;
 }
Example #4
0
 public EmailService(
     IEmailTemplatesManager emailTemplatesManager,
     IEmailManager emailManager, IEmailTemplateParser emailTemplateParser,
     IOptions <EmailTemplateSettings> emailTemplatesOptions)
 {
     this.emailTemplatesManager = emailTemplatesManager;
     this.emailManager          = emailManager;
     this.emailTemplateParser   = emailTemplateParser;
     this.emailTemplateSettings = emailTemplatesOptions.Value;
 }
 public EmailNotificationsSettingsService(EmailTemplateSettings p2PSuccessForSenderTemplateSettings,
                                          EmailTemplateSettings p2PSuccessForReceiverTemplateSettings,
                                          EmailTemplateSettings p2PFailureForSenderTemplateSettings,
                                          EmailTemplateSettings paymentTransferAcceptedTemplateSettings,
                                          EmailTemplateSettings paymentTransferRejectedTemplateSettings)
 {
     P2PSuccessForSenderTemplateSettings     = p2PSuccessForSenderTemplateSettings;
     P2PSuccessForReceiverTemplateSettings   = p2PSuccessForReceiverTemplateSettings;
     P2PFailureForSenderTemplateSettings     = p2PFailureForSenderTemplateSettings;
     PaymentTransferAcceptedTemplateSettings = paymentTransferAcceptedTemplateSettings;
     PaymentTransferRejectedTemplateSettings = paymentTransferRejectedTemplateSettings;
 }
Example #6
0
 public SendBankDetailsRepeatReminderEmailCommandHandler(ICommandPublisher commandPublisher,
                                                         IOptions <EmailTemplateSettings> emailTemplates,
                                                         IAccountDomainRepository accountDomainRepository,
                                                         IHashingService hashingService,
                                                         IOptions <ApplicationSettings> applicationSettings)
 {
     _commandPublisher        = commandPublisher;
     _emailTemplates          = emailTemplates.Value;
     _accountDomainRepository = accountDomainRepository;
     _hashingService          = hashingService;
     _applicationSettings     = applicationSettings.Value;
 }
Example #7
0
 public void Arrange()
 {
     _fixture          = new Fixture();
     _commandPublisher = new Mock <ICommandPublisher>();
     _settings         = new Mock <IOptions <EmailTemplateSettings> >();
     _templates        = new EmailTemplateSettings {
         BankDetailsRequired = new EmailTemplate {
             TemplateId = Guid.NewGuid().ToString()
         }
     };
     _settings.Setup(x => x.Value).Returns(_templates);
     _sut = new SendBankDetailsRequiredEmailCommandHandler(_commandPublisher.Object, _settings.Object);
 }
Example #8
0
 public void Arrange()
 {
     _fixture          = new Fixture();
     _commandPublisher = new Mock <ICommandPublisher>();
     _emailSettings    = new Mock <IOptions <EmailTemplateSettings> >();
     _templates        = new EmailTemplateSettings {
         BankDetailsRepeatReminder = new EmailTemplate {
             TemplateId = Guid.NewGuid().ToString()
         }
     };
     _emailSettings.Setup(x => x.Value).Returns(_templates);
     _accountRepository   = new Mock <IAccountDomainRepository>();
     _applicationSettings = new Mock <IOptions <ApplicationSettings> >();
     _hashingService      = new Mock <IHashingService>();
 }
Example #9
0
 private static IDictionary<string, IEnumerable<string>> GetTemplateParameters(EmailTemplateSettings template,
     IDictionary<string, IEnumerable<string>> parameters)
     => (parameters?.Any() == true
         ? parameters.ToDictionary(x => x.Key, x => x.Value)
         : template.Parameters?.ToDictionary(x => x.Name, x => x.Values.AsEnumerable())) ??
        new Dictionary<string, IEnumerable<string>>();
        private void AddOrUpdateEmailTemplateSettings( EmailTemplateSettings emailTemplateSettings, string subject, string senderName, string senderAddress, string toAddresses, string ccAddresses, string bccAddresses, string templateFile, long? languageId = null )
        {
            if ( !string.IsNullOrEmpty( subject ) || !string.IsNullOrEmpty( senderName ) || !string.IsNullOrEmpty( senderAddress ) || !string.IsNullOrEmpty( toAddresses ) || !string.IsNullOrEmpty( ccAddresses ) || !string.IsNullOrEmpty( bccAddresses ) || !string.IsNullOrEmpty( templateFile ) ) {
            if ( emailTemplateSettings == null ) {
              emailTemplateSettings = new EmailTemplateSettings();
              emailTemplateSettings.LanguageId = languageId;
              emailTemplate.Settings.Add( emailTemplateSettings );
            }

            emailTemplateSettings.Subject = subject;
            emailTemplateSettings.SenderName = senderName;
            emailTemplateSettings.SenderAddress = senderAddress;
            emailTemplateSettings.ToAddresses = new List<string>( toAddresses.Split( new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries ) );
            emailTemplateSettings.CcAddresses = new List<string>( ccAddresses.Split( new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries ) );
            emailTemplateSettings.BccAddresses = new List<string>( bccAddresses.Split( new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries ) );
            emailTemplateSettings.TemplateFile = templateFile;
              } else {
            //Remove it - if it's empty
            if ( emailTemplateSettings != null ) {
              emailTemplate.Settings.Remove( emailTemplateSettings );
            }
              }
        }
        protected void BtnCreate_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                Store store = new Store(TxtName.Text);
                store.Save();

                //Give permissions to the current logged in user
                Permissions permissions = PermissionService.Instance.GetCurrentLoggedInUserPermissions();
                if (permissions != null && !permissions.IsUserSuperAdmin)
                {
                    StoreSpecificPermissionType storePermissions = StoreSpecificPermissionType.None;

                    foreach (StoreSpecificPermissionType permissionType in Enum.GetValues(typeof(StoreSpecificPermissionType)).Cast <StoreSpecificPermissionType>())
                    {
                        storePermissions |= permissionType;
                    }
                    permissions.StoreSpecificPermissions.Add(store.Id, storePermissions);
                    permissions.Save();
                }

                const string editOrderFilePath = @"macroScripts\tea-commerce\edit-order.cshtml";
                if (File.Exists(HostingEnvironment.MapPath("~" + Path.DirectorySeparatorChar + editOrderFilePath)))
                {
                    store.UISettings.EditOrderUiFile = editOrderFilePath;
                    store.Save();
                }

                if (store.GeneralSettings.ConfirmationEmailTemplateId != null)
                {
                    const string emailTemplateFile = @"macroScripts\tea-commerce\email-template-confirmation.cshtml";

                    if (File.Exists(HostingEnvironment.MapPath("~" + Path.DirectorySeparatorChar + emailTemplateFile)))
                    {
                        EmailTemplate         emailTemplate   = EmailTemplateService.Instance.Get(store.Id, store.GeneralSettings.ConfirmationEmailTemplateId.Value);
                        EmailTemplateSettings defaultSettings = emailTemplate.Settings.SingleOrDefault(s => s.LanguageId == null);
                        if (defaultSettings != null)
                        {
                            defaultSettings.TemplateFile = emailTemplateFile;
                        }
                        emailTemplate.Save();
                    }
                }

                if (store.GeneralSettings.PaymentInconsistencyEmailTemplateId != null)
                {
                    const string emailTemplateFile = @"macroScripts\tea-commerce\email-template-payment-inconsistency.cshtml";

                    if (File.Exists(HostingEnvironment.MapPath("~" + Path.DirectorySeparatorChar + emailTemplateFile)))
                    {
                        EmailTemplate         emailTemplate   = EmailTemplateService.Instance.Get(store.Id, store.GeneralSettings.PaymentInconsistencyEmailTemplateId.Value);
                        EmailTemplateSettings defaultSettings = emailTemplate.Settings.SingleOrDefault(s => s.LanguageId == null);
                        if (defaultSettings != null)
                        {
                            defaultSettings.TemplateFile = emailTemplateFile;
                        }
                        emailTemplate.Save();
                    }
                }

                Redirect(WebUtils.GetPageUrl(Constants.Pages.EditStore) + "?id=" + store.Id);
            }
        }
 public SendBankDetailsReminderEmailCommandHandler(ICommandPublisher commandPublisher,
                                                   IOptions <EmailTemplateSettings> emailTemplates)
 {
     _commandPublisher = commandPublisher;
     _emailTemplates   = emailTemplates.Value;
 }
Example #13
0
 private static IDictionary <string, IEnumerable <string> > GetTemplateParameters(EmailTemplateSettings template,
                                                                                  IDictionary <string, IEnumerable <string> > parameters)
 => (parameters?.Any() == true
         ? parameters.ToDictionary(x => x.Key, x => x.Value)
         : template.Parameters?.ToDictionary(x => x.Name, x => x.Values.AsEnumerable())) ??
 new Dictionary <string, IEnumerable <string> >();