/// <summary> /// Notifies contacts via multilanguage templates. /// </summary> /// <param name="userConnection">User connection.</param> /// <param name="parameters">Parameters.</param> public virtual void Execute(UserConnection userConnection, IDictionary <string, object> parameters) { if (EmailWithMacrosManager == null) { EmailWithMacrosManager = new EmailWithMacrosManager(userConnection); } EmailData emailData = new EmailData(); emailData.ParseParameters(parameters); if (userConnection.GetIsFeatureEnabled("EmailMessageMultiLanguageV2")) { SendEmail(emailData, emailData.TplId); } else { if (TemplateLoader == null) { TemplateLoader = new EmailTemplateStore(userConnection); } if (EmailTemplateLanguageHelper == null) { EmailTemplateLanguageHelper = new EmailTemplateLanguageHelper(emailData.CaseId, userConnection); } Guid languageId = EmailTemplateLanguageHelper.GetLanguageId(emailData.TplId, TemplateLoader); Entity templateEntity = TemplateLoader.GetTemplate(emailData.TplId, languageId); SendEmail(emailData, templateEntity.PrimaryColumnValue); } }
private EmailWithMacrosManager MapManager(string managerName) { EmailWithMacrosManager manager = DefaultMacrosManager; if (IsEmailWithMacrosManagerType(managerName)) { manager = CreateManagerInstace(managerName); } _managerMap.Add(managerName, manager); return(manager); }
public EmailMacrosManagerFactory(UserConnection userConnection, EmailWithMacrosManager defaultManager) : this() { UserConnection = userConnection; DefaultMacrosManager = defaultManager; }
/// <summary> /// Initializes a new instance of the <see cref="EmailMacrosManagerFactory"/> class. /// </summary> /// <param name="userConnection">The user connection.</param> public EmailMacrosManagerFactory(UserConnection userConnection) : this() { UserConnection = userConnection; DefaultMacrosManager = new EmailWithMacrosManager(UserConnection); }
/// <summary> /// Send email to recipient. /// </summary> /// <param name="emailData">Email data container.</param> /// <param name="multilangTemplateId">Multilanguage template.</param> protected virtual void SendEmail(EmailData emailData, Guid multilangTemplateId) { EmailWithMacrosManager.SendEmailTo(emailData.CaseId, multilangTemplateId, emailData.Recipient); }