public static void RegisterEmailModel(Type model, Func <EmailTemplateEntity>?defaultTemplateConstructor, object?queryName = null) { registeredModels[model] = new EmailModelInfo(queryName ?? GetEntityType(model)) { DefaultTemplateConstructor = defaultTemplateConstructor, }; }
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); }
public static void RegisterEmailModel(Type model, Func <EmailTemplateEntity>?defaultTemplateConstructor, object?queryName = null) { if (defaultTemplateConstructor == null) { throw new ArgumentNullException(nameof(defaultTemplateConstructor)); } registeredModels[model] = new EmailModelInfo(queryName ?? GetEntityType(model)) { DefaultTemplateConstructor = defaultTemplateConstructor, }; }
internal static bool HasDefaultTemplateConstructor(EmailModelEntity emailModelEntity) { EmailModelInfo info = registeredModels.GetOrThrow(emailModelEntity.ToType()); return(info.DefaultTemplateConstructor != null); }