internal static EmailTemplateEntity CreateDefaultTemplate(EmailModelEntity emailModel) { EmailModelInfo info = registeredModels.GetOrThrow(entityToType.Value.GetOrThrow(emailModel)); if (info.DefaultTemplateConstructor == null) { throw new InvalidOperationException($"No EmailTemplate for {emailModel} found and DefaultTemplateConstructor = null"); } EmailTemplateEntity template = info.DefaultTemplateConstructor.Invoke(); if (template.MasterTemplate != null) { template.MasterTemplate = EmailMasterTemplateLogic.GetDefaultMasterTemplate(); } if (template.Name == null) { template.Name = emailModel.FullClassName; } template.Model = emailModel; template.Query = QueryLogic.GetQueryEntity(info.QueryName); template.ParseData(QueryLogic.Queries.QueryDescription(info.QueryName)); return(template); }
static void EmailTemplateLogic_Retrieved(EmailTemplateEntity emailTemplate) { using (emailTemplate.DisableAuthorization ? ExecutionMode.Global() : null) { object queryName = QueryLogic.ToQueryName(emailTemplate.Query.Key); QueryDescription description = QueryLogic.Queries.QueryDescription(queryName); using (emailTemplate.DisableAuthorization ? ExecutionMode.Global() : null) emailTemplate.ParseData(description); } }
public static EmailTemplateEntity ParseData(this EmailTemplateEntity emailTemplate) { if (!emailTemplate.IsNew || emailTemplate.queryName == null) { throw new InvalidOperationException("emailTemplate should be new and have queryName"); } emailTemplate.Query = QueryLogic.GetQueryEntity(emailTemplate.queryName); QueryDescription description = QueryLogic.Queries.QueryDescription(emailTemplate.queryName); emailTemplate.ParseData(description); return(emailTemplate); }
internal static EmailTemplateEntity CreateDefaultTemplate(SystemEmailEntity systemEmail) { SystemEmailInfo info = systemEmails.GetOrThrow(systemEmailToType.Value.GetOrThrow(systemEmail)); EmailTemplateEntity template = info.DefaultTemplateConstructor(); if (template.MasterTemplate != null) { template.MasterTemplate = EmailMasterTemplateLogic.GetDefaultMasterTemplate(); } if (template.Name == null) { template.Name = systemEmail.FullClassName; } template.SystemEmail = systemEmail; template.Query = QueryLogic.GetQueryEntity(info.QueryName); template.ParseData(DynamicQueryManager.Current.QueryDescription(info.QueryName)); return(template); }