Exemplo n.º 1
0
        private IEnumerable <ContentProviderAttributeModel> ScanForContentProviderList()
        {
            List <Type> types = AttributedTypesUtility.GetTypesWithAttribute(typeof(VisitorGroupContentProviderAttribute));

            foreach (var type in types)
            {
                var typeAttribute =
                    AttributedTypesUtility.GetAttribute(type, typeof(VisitorGroupContentProviderAttribute))
                    as VisitorGroupContentProviderAttribute;

                if (typeAttribute == null)
                {
                    continue;
                }

                yield return(new ContentProviderAttributeModel()
                {
                    TypeName = type.FullName, DisplayName = typeAttribute.DisplayName, CriteriaEditModelTypeName = typeAttribute.CriteriaEditModel.FullName
                });
            }
        }
        public virtual IEnumerable <PageTypeDefinition> GetPageTypeDefinitions()
        {
            List <Type> pageTypes = AttributedTypesUtility.GetTypesWithAttribute(_assemblyLocator, typeof(PageTypeAttribute));

            pageTypes = pageTypes.Where(type => !type.IsAbstract).ToList();

            List <PageTypeDefinition> pageTypeDefinitions = new List <PageTypeDefinition>();

            foreach (Type type in pageTypes)
            {
                PageTypeAttribute  pageTypeAttribute = (PageTypeAttribute)AttributedTypesUtility.GetAttribute(type, typeof(PageTypeAttribute));
                PageTypeDefinition definition        = new PageTypeDefinition
                {
                    Type      = type,
                    Attribute = pageTypeAttribute
                };
                pageTypeDefinitions.Add(definition);
            }

            _pageTypeDefinitions = pageTypeDefinitions;

            return(_pageTypeDefinitions);
        }