public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context) { // only add empty option if there is 1 non empty template remaining, so user has to choose. var NonEmptyTemplates = pageTemplates.Where(t => !GetTemplates().Contains(t.Identifier)); if (NonEmptyTemplates.Count() > 0) { return(pageTemplates); } else { // Remove the empty template as an option return(pageTemplates.Where(t => !GetTemplates().Contains(t.Identifier))); } }
/// <summary> /// Applies filtering on the given <paramref name="pageTemplates" /> collection based on the given <paramref name="context" />. /// </summary> /// <returns> /// Returns only those page templates that are allowed for article pages if the given context matches the article page type. /// </returns> public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context) { if (context.PageType.Equals("DancingGoatMvc.Article", StringComparison.InvariantCultureIgnoreCase)) { return(pageTemplates.Where(t => GetArticlePageTemplates().Contains(t.Identifier))); } // Exclude all article page templates from the final collection if the context does not match this filter return(pageTemplates.Where(t => !GetArticlePageTemplates().Contains(t.Identifier))); }
public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context) { // Remove Empty.Template always return(pageTemplates.Where(t => !GetTemplates().Contains(t.Identifier))); }
public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context) { // Applies filtering to a collection of page templates based on the page type of the currently edited page if (context.PageType.Equals("LearningKit.LandingPage", StringComparison.InvariantCultureIgnoreCase)) { // Filters the collection to only contain filters allowed for landing pages return(pageTemplates.Where(t => GetLandingPageTemplates().Contains(t.Identifier))); } // Excludes all landing page templates from the collection if the context does not match this filter // Assumes that the categories of page templates are mutually exclusive return(pageTemplates.Where(t => !GetLandingPageTemplates().Contains(t.Identifier))); }
public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context) { if (context.PageType.Equals(Registrations.PAGETYPE_ADVANCED, StringComparison.InvariantCultureIgnoreCase)) { return(pageTemplates.Where(t => GetAllowedTemplates().Contains(t.Identifier))); } return(pageTemplates.Where(t => !GetAllowedTemplates().Contains(t.Identifier))); }
public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context) { if (LandingPageTypeCodenames.Any(codename => context.PageType.Equals(codename, StringComparison.OrdinalIgnoreCase))) { return(context.PageType.Equals(EventLandingPageTypeCodename, StringComparison.OrdinalIgnoreCase) ? pageTemplates.Where(template => LandingPageTemplates.Contains(template.Identifier, StringComparer.OrdinalIgnoreCase)) : pageTemplates.Where(template => template.Identifier.Equals(BasicTemplateCodename, StringComparison.OrdinalIgnoreCase))); } return(pageTemplates.Where(template => !LandingPageTemplates.Contains(template.Identifier))); }
/// <inheritdoc cref="IPageTemplateFilter" /> public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context) { if (context.PageType.Equals(PageTypeClassName, StringComparison.InvariantCultureIgnoreCase)) { return(pageTemplates.Where(d => PageTemplateFilterBy(d, context, PageTypeClassName))); } if (ExcludeIfNoMatch) { return(pageTemplates.Where(d => !PageTemplateFilterBy(d, context, PageTypeClassName))); } return(pageTemplates); }
public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context) { // only add empty option if there is 1 non empty template remaining, so user has to choose. if (context.PageType.Equals("KMVCHelper.GenericWidgetPage", StringComparison.InvariantCultureIgnoreCase)) { return(pageTemplates); } else { // Remove the empty template as an option return(pageTemplates.Where(t => !GetTemplates().Contains(t.Identifier))); } }
public IEnumerable <PageTemplateDefinition> Filter(IEnumerable <PageTemplateDefinition> pageTemplates, PageTemplateFilterContext context) => pageTemplates;