public List <Lite <EmailTemplateEntity> > GetEmailTemplates(string queryKey, EmailTemplateVisibleOn visibleOn, [Required, FromBody] GetEmailTemplatesRequest request) { object queryName = QueryLogic.ToQueryName(queryKey); var entity = request.lite?.RetrieveAndForget(); return(EmailTemplateLogic.GetApplicableEmailTemplates(queryName, entity, visibleOn)); }
public List <Lite <EmailTemplateEntity> > GetWordTemplates(string queryKey, EmailTemplateVisibleOn visibleOn, Lite <Entity> lite) { object queryName = QueryLogic.ToQueryName(queryKey); var entity = lite?.RetrieveAndForget(); return(EmailTemplateLogic.GetApplicableEmailTemplates(queryName, entity, visibleOn)); }
public static bool IsVisible(EmailTemplateEntity et, EmailTemplateVisibleOn visibleOn) { if (et.Model == null) { return(visibleOn == EmailTemplateVisibleOn.Single); } if (EmailModelLogic.HasDefaultTemplateConstructor(et.Model)) { return(false); } var entityType = EmailModelLogic.GetEntityType(et.Model.ToType()); if (entityType.IsEntity()) { return(visibleOn == EmailTemplateVisibleOn.Single); } var should = VisibleOnDictionary.TryGet(entityType, EmailTemplateVisibleOn.Single); return((should & visibleOn) != 0); }
public static List <Lite <EmailTemplateEntity> > GetApplicableEmailTemplates(object queryName, Entity?entity, EmailTemplateVisibleOn visibleOn) { var isAllowed = Schema.Current.GetInMemoryFilter <EmailTemplateEntity>(userInterface: true); return(TemplatesByQueryName.Value.TryGetC(queryName).EmptyIfNull() .Where(a => isAllowed(a) && IsVisible(a, visibleOn)) .Where(a => a.IsApplicable(entity)) .Select(a => a.ToLite()) .ToList()); }