예제 #1
0
        private List <T2> GenerateAttributeNodes(ModelNode node)
        {
            var modelMemberViewItem = node.GetParent <IModelMemberViewItem>();
            var nodes = new List <T2>();

            if (modelMemberViewItem != null)
            {
                var modelAdapterAttributes = modelMemberViewItem.ModelMember.MemberInfo.FindAttributes <ModelAdapterAttribute>().ToArray();

                for (var index = 0; index < modelAdapterAttributes.Length; index++)
                {
                    var modelAdapterAttribute = modelAdapterAttributes[index];
                    if (typeof(T).Name.EndsWith(modelAdapterAttribute.Adapter.ToString()))
                    {
                        var id           = ModelAdapterContextsNodeGenerator.ModelAdapterAttribute + "-" + modelAdapterAttribute.Adapter;
                        var newNode      = node.AddNode <T2>(id);
                        var modelAdapter = ((IModelApplicationModelAdapterContexts)node.Application).ModelAdapterContexts[
                            ModelAdapterContextsNodeGenerator.ModelAdapterAttribute].OfType <T>().FirstOrDefault(arg => arg.Id() == id);
                        newNode.ModelAdapter = modelAdapter;
                        newNode.Index        = index + 1;
                        nodes.Add(newNode);
                    }
                }
            }
            return(nodes);
        }
예제 #2
0
        protected override void GenerateNodesCore(ModelNode node)
        {
            var modelOptionsAdvBandedView = ((IModelApplicationModelAdapterContexts)node.Application).ModelAdapterContexts.GetAdapters <T>().FirstOrDefault();
            var optionsAdvBandedView      = node.AddNode <T2>("Default");

            optionsAdvBandedView.ModelAdapter = modelOptionsAdvBandedView;
        }
예제 #3
0
        private void AddFontSizeOption(ModelNode node, string caption, double size)
        {
            IModelFontSizeOption option = node.AddNode <IModelFontSizeOption>(caption);

            option.Caption  = caption;
            option.FontSize = size;
        }
예제 #4
0
 protected override void GenerateNodesCore(ModelNode node)
 {
     foreach (var module in ((IModelSources)node.Application).Modules)
     {
         var modelModule = node.AddNode <IModelModule>();
         modelModule.Name = module.GetType().FullName;
     }
 }
예제 #5
0
        private T2 GenerateDefaultNode(ModelNode node)
        {
            var modelAdapter = ((IModelApplicationModelAdapterContexts)node.Application).ModelAdapterContexts.GetAdapters <T>().FirstOrDefault(arg => arg.GetParent <IModelModelAdapters>().Id() != ModelAdapterContextsNodeGenerator.ModelAdapterAttribute);
            var newNode      = node.AddNode <T2>(ModelAdapterContextsNodeGenerator.Default);

            newNode.ModelAdapter = modelAdapter;
            newNode.Index        = 0;
            return(newNode);
        }
 protected override void GenerateNodesCore(ModelNode node)
 {
     foreach (Controller controller in ((IModelSources)node.Application).Controllers)
     {
         if (controller is ViewController)
         {
             node.AddNode <IModelPreviewRowViewController>(controller.Name);
         }
         else if (controller is WindowController)
         {
             node.AddNode <IModelPreviewRowWindowController>(controller.Name);
         }
         else
         {
             node.AddNode <IModelPreviewRowController>(controller.Name);
         }
     }
 }
예제 #7
0
        protected override void GenerateNodesCore(ModelNode node)
        {
            var findTypeInfo        = XafTypesInfo.Instance.FindTypeInfo(typeof(DevExpress.ExpressApp.ModuleBase));
            var findTypeDescendants = ReflectionHelper.FindTypeDescendants(findTypeInfo).Where(ModulesFilterPredicate(node));

            foreach (ITypeInfo typeInfo in findTypeDescendants)
            {
                var module = node.AddNode <IModelModule>();
                module.Name = typeInfo.FullName;
            }
        }
예제 #8
0
        public override void UpdateNode(ModelNode node)
        {
            IModelAssemblyResourceImageSource customImages = (IModelAssemblyResourceImageSource)node[CustomImages.CustomImagesAssemblyInfo.AssemblyName];

            if (customImages == null)
            {
                customImages       = node.AddNode <IModelAssemblyResourceImageSource>(CustomImages.CustomImagesAssemblyInfo.AssemblyName);
                customImages.Index = node.NodeCount - 1;
            }
            customImages.Folder = "Images";
        }
예제 #9
0
        protected override void GenerateNodesCore(ModelNode node)
        {
            var modelAdapterTypeInfos = XafTypesInfo.Instance.FindTypeInfo(typeof(IModelModelAdapter)).Descendants.Where(info
                                                                                                                         => info.FindAttribute <ModelAbstractClassAttribute>(false) == null && info.IsInterface);

            var installedInfos = GetInstalledAdapters(modelAdapterTypeInfos, node.Application);

            foreach (var typeInfo in installedInfos)
            {
                node.AddNode(GetName(typeInfo), typeInfo.Type);
            }
        }
예제 #10
0
        public override void UpdateNode(ModelNode node)
        {
            string assemblyName = typeof(SecurityDemoModule).Assembly.GetName().Name;
            IModelAssemblyResourceImageSource customImages = (IModelAssemblyResourceImageSource)node[assemblyName];

            if (customImages == null)
            {
                customImages       = node.AddNode <IModelAssemblyResourceImageSource>(assemblyName);
                customImages.Index = node.NodeCount - 1;
            }
            customImages.Folder = "Images";
        }
예제 #11
0
        protected override void GenerateNodesCore(ModelNode node)
        {
            var typesInfo = ((IModelTypesInfoProvider)node.Application).TypesInfo;
            var typeInfo  = typesInfo.FindTypeInfo <ReadOnlyParameter>();

            foreach (var descendant in typeInfo.Descendants.Where(info => !info.IsAbstract))
            {
                var readOnlyParameter      = (ReadOnlyParameter)descendant.Type.CreateInstance();
                var modelReadOnlyParameter = node.AddNode <IModelReadOnlyParameter>(readOnlyParameter.Name);
                modelReadOnlyParameter.Type = descendant.Type;
            }
        }
예제 #12
0
 void AddRules(ModelNode node, IEnumerable <TLogicRule> attributes, IModelClass modelClass)
 {
     foreach (TLogicRule attribute in attributes)
     {
         var rule = node.AddNode <TModelLogicRule>(attribute.Id);
         SetAttribute(rule, attribute);
         ((IModelNode)rule).Index = attribute.Index;
         rule.ModelClass          = modelClass;
         rule.TypeInfo            = modelClass.TypeInfo;
         ConvertModelNodes(attribute, rule);
     }
 }
예제 #13
0
        public override void UpdateNode(ModelNode node)
        {
            var typeInfos = XafTypesInfo.Instance.PersistentTypes.Where(info => {
                var startsWith = (info.Type.Namespace + "").StartsWith(typeof(PersistentClassInfo).Namespace + "");
                return(startsWith);
            });

            foreach (var typeInfo in typeInfos)
            {
                node.AddNode <IModelFilterDataStoreSystemTable>(typeInfo.Type.Name);
            }
        }
예제 #14
0
        protected override void GenerateNodesCore(ModelNode node)
        {
            var modelObjectView = node.GetParent <IModelObjectView>();

            var typeInfo = modelObjectView.ModelClass.TypeInfo;
            var infos    = typeInfo.FindAttributes <ModelMergedDifferencesAttribute>();

            foreach (var info in infos.Where(_ => _.TargetView == modelObjectView.Id && node[_.TargetView] == null))
            {
                var difference = node.AddNode <IModelMergedDifference>(info.TargetView);
                difference.View = node.Application.Views[info.SourceView].AsObjectView;
            }
        }
예제 #15
0
 public override void UpdateNode(ModelNode node)
 {
     if (node.GetParent <IModelClass>().TypeInfo.Type == typeof(TraceEvent))
     {
         foreach (var module in Modules)
         {
             var modelAppearanceRule = node.AddNode <IModelAppearanceRule>($"{module.Key}Source");
             modelAppearanceRule.TargetItems = nameof(TraceEvent.Source);
             modelAppearanceRule.FontColor   = module.Value;
             modelAppearanceRule.Context     = "ListView";
             modelAppearanceRule.Criteria    = "[" + nameof(TraceEvent.Source) + "] = '" + module.Key + "'";
         }
     }
 }
예제 #16
0
        protected override void GenerateNodesCore(ModelNode node)
        {
            foreach (var module in TraceEventAppearenceRulesGenerator.Modules)
            {
                node.AddNode <IModelTraceSourcedModule>(module.Key);
            }
            var modules = TraceEventAppearenceRulesGenerator.Modules
                          .SelectMany(_ => ((IModelSources)node.Application).Modules.Where(m => m.Name == _.Key).ToTraceSource());

            foreach (var valueTuple in modules)
            {
                var moduleName = valueTuple.module.Name;
                AddTraceSource(node, moduleName, valueTuple);
            }
        }
예제 #17
0
        private void ProcessItem(NavigationItem item, ChoiceActionItemCollection choiceActionItemCollection, ModelNode parentModel)
        {
            object objectKey = Session.GetKeyValue(item);
            IModelNavigationItem modelNavigaionItem = parentModel.AddNode <IModelNavigationItem>(objectKey.ToString());

            FillNavigationItemModel(item, modelNavigaionItem);
            ChoiceActionItem choiceActionItem = new ChoiceActionItem(modelNavigaionItem, item);

            choiceActionItem.ImageName = item.ImageName;
            choiceActionItemCollection.Add(choiceActionItem);
            SortItems(item.Items);
            foreach (NavigationItem childItem in item.Items)
            {
                ProcessItem(childItem, choiceActionItem.Items, (ModelNode)modelNavigaionItem);
            }
        }
예제 #18
0
        public override void UpdateNode(ModelNode node)
        {
            var Parent = (IModelDetailView)node.Parent;
            var type   = XafTypesInfo.Instance.FindTypeInfo(Parent.ModelClass.Name);

            if (WXafHelper.CheckIfWXafBase(type))
            {
                //var type = Type.GetType(Parent.ModelClass.Name);
                //if (type != null && type is IWXafObject) {
                string          Name       = "UserPanel";
                IModelUserPanel Item       = node.AddNode <IModelUserPanel>(Name);
                var             layoutItem = Parent.Layout.AddNode <IModelLayoutViewItem>(Name + "Layout");
                layoutItem.ShowCaption = false;
                layoutItem.ViewItem    = Item;
            }
            // }
        }
예제 #19
0
        /// <summary>
        /// Generate Nodes for all ElasticSearch Indexes
        /// </summary>
        /// <param name="node">The parent node</param>
        protected override void GenerateNodesCore(ModelNode node)
        {
            if (node == null)
            {
                throw new ArgumentNullException(nameof(node));
            }
            var indexNames = new HashSet <string>();

            foreach (var ti in XafTypesInfo.Instance.PersistentTypes.Where(t => t.IsPersistent))
            {
                var bi = BYteWareTypeInfo.GetBYteWareTypeInfo(ti.Type);
                if (bi?.ESAttribute != null && indexNames.Add(bi.ESAttribute.IndexName))
                {
                    var modelElasticSearchIndex = node.AddNode <IModelElasticSearchIndex>();
                    modelElasticSearchIndex.Name = bi.ESAttribute.IndexName;
                }
            }
        }
예제 #20
0
 private void GenerateModelClasses(ModelNode boModel, ITypeInfo typeTnfo)
 {
     foreach (IMemberInfo memberInfo in typeTnfo.OwnMembers)
     {
         ModelDefaultAttribute attribute = CustomLayoutHelper.FindModelDefaultAttribute(memberInfo, CustomDetailViewItemsGenarator.VisiblePropertiesAttribute);
         if ((attribute != null) && (!string.IsNullOrEmpty(attribute.PropertyValue)))
         {
             IModelClass modelClass = ((IModelBOModel)boModel)[memberInfo.MemberType.FullName];
             if (modelClass == null)
             {
                 modelClass = boModel.AddNode <IModelClass>(memberInfo.MemberType.FullName);
                 ITypeInfo typeInfo = XafTypesInfo.Instance.FindTypeInfo(memberInfo.MemberType);
                 modelClass.SetValue <ITypeInfo>("TypeInfo", typeInfo);
             }
             CustomLayoutHelper.Instance.RegisterClassVisibleProperties(modelClass.Name, attribute.PropertyValue);
         }
     }
 }
예제 #21
0
 public override void UpdateNode(ModelNode node)
 {
     if (FilterProviderManager.IsRegistered)
     {
         foreach (FilterProviderBase provider in FilterProviderManager.Providers)
         {
             if (((IModelClass)node.Parent).TypeInfo.Type == typeof(FDSCCustomer) && provider.Name == "ContinentFilterProvider")
             {
                 continue;
             }
             if (((IModelClass)node.Parent).TypeInfo.Type == typeof(FDSUCustomer) && provider.Name == "UserFilterProvider")
             {
                 continue;
             }
             var modelDisabledDataStoreFilter = node.AddNode <IModelDisabledDataStoreFilter>();
             modelDisabledDataStoreFilter.Name = provider.Name;
         }
     }
 }
        protected override void GenerateNodesCore(ModelNode node) {
            Type[] typelist = GetTypesInNamespace(assembly, nameSpace);

            for (int i = 0; i < typelist.Length; i++) {
                string childNodeName = typelist[i].Name;
                node.AddNode<IModelCustomDataSource>(childNodeName);
                ((IModelCustomDataSource)node.GetNode(childNodeName)).Description = typelist[i].Name;
                //((IModelCustomDataSource)node.GetNode(childNodeName)).CustomDataSourceTypeName = typelist[i].ToString();
                ((IModelCustomDataSource)node.GetNode(childNodeName)).CustomDataSourceType = typelist[i];

                // Выходной тип linq-запроса
                Type baseType = typelist[i].BaseType;
                Type[] paramTypes = baseType.GetGenericArguments();
                foreach (Type type in paramTypes) {
                    ((IModelCustomDataSource)node.GetNode(childNodeName)).ObjectType = type;
                    break;
                }
            }
        }
 public static void GenerateNodesCoreSub(ModelNode node) {
     IList<Type> typelist = CustomCollectionSourceManager.CollectionTypes;
     //IList<Type> typelist = AutoGetTypes();
     
     foreach (Type type in typelist) {
         string childNodeName = type.Name;
         node.AddNode<IModelCustomDataSource>(childNodeName);
         ((IModelCustomDataSource)node.GetNode(childNodeName)).Description = type.Name;
         ((IModelCustomDataSource)node.GetNode(childNodeName)).CustomDataSourceType = type;
         // Паша!!! Переписать правильно для определения типа результата
         Type baseType = type.BaseType;
         if (baseType != null) {
             Type[] paramTypes = baseType.GetGenericArguments();
             foreach (Type typepar in paramTypes) {
                 ((IModelCustomDataSource)node.GetNode(childNodeName)).ObjectType = typepar;
                 break;
             }
         }
     }
 }
예제 #24
0
 public override void UpdateNode(ModelNode node)
 {
     foreach (IModelClass classInfo in node.Application.BOModel)
     {
         if (classInfo.TypeInfo.IsPersistent)
         {
             if (!string.IsNullOrEmpty(classInfo.Name))
             {
                 foreach (string method in LinqCollectionSourceHelper.GetXPQueryMethods(classInfo.TypeInfo.Type))
                 {
                     string id           = ModelListViewNodesGenerator.GetListViewId(classInfo.TypeInfo.Name) + "_" + method + LinqCollectionSource.DefaultSuffix;
                     var    listViewInfo = (IModelListView)(node.Application.Views[id] ??
                                                            node.AddNode <IModelListView>(id));
                     listViewInfo.ModelClass = classInfo;
                     ((IModelListViewLinq)listViewInfo).XPQueryMethod = method;
                 }
             }
         }
     }
 }
예제 #25
0
        /// <summary>
        /// Append empty selector to BaseObject (replicate all BaseObject descendants by default)
        /// </summary>
        /// <param name="node">The node.</param>
        protected override void GenerateNodesCore(ModelNode node)
        {
            base.GenerateNodesCore(node);

            if (node == null || node.Parent == null || !(node.Parent is IModelClass))
            {
                return;
            }
            var modelClass = node.Parent as IModelClass;

            foreach (var member in modelClass.OwnMembers)
            {
                var memberAttr = member.MemberInfo.FindAttribute <NonReplicableAttribute>()
                                 ?? (Attribute)member.MemberInfo.FindAttribute <IsLocalAttribute>();

                if (memberAttr != null)
                {
                    var newSelector = node.AddNode <IRecipientSelectorNode>();
                    newSelector.SetValue("Id", memberAttr.GetType().Name + " for " + member.Name + " property");
                    newSelector.Expression   = string.Format(@"Not IsNull(ProtocolRecord) And ProtocolRecord.PropertyName = '{0}'", member.Name);
                    newSelector.SelectorType = SelectorType.Exclude;
                }
            }
        }
예제 #26
0
//        private static IEnumerable<IEnumerable<ITypeInfo>> GetTypeInfos(ModelNode node, ITypeInfo[] installedInfos){
//            var modelMembers = node.Application.BOModel.SelectMany(c => c.OwnMembers)
//                .Where(member => member.MemberInfo.FindAttributes<ModelMapperAttribute>().Any());
//            foreach (var modelMember in modelMembers){
//                foreach (var mapperAttribute in modelMember.MemberInfo.FindAttributes<ModelMapperAttribute>()){
//                    yield return installedInfos.Where(info => info.Type.Name == "IModel" + mapperAttribute.Mapper);
//                }
//            }
//        }

        private ModelNode AddNode(ModelNode node, ITypeInfo typeInfo)
        {
            var name = GetName(typeInfo);

            return(node.AddNode(name, typeInfo.Type));
        }
예제 #27
0
        private void AddNode(ModelNode node, ITypeInfo typeInfo)
        {
            var name = GetName(typeInfo);

            node.AddNode(name, typeInfo.Type);
        }
예제 #28
0
 private static void AddNodes <T>(ModelNode node) where T : IModelNode
 {
     node.AddNode <T>(Default);
     node.AddNode <T>(ModelMapperAttribute);
 }
예제 #29
0
 protected override void GenerateNodesCore(ModelNode node)
 {
     node.AddNode <IModelFilterDataStoreSystemTable>("SecurityRole");
     node.AddNode <IModelFilterDataStoreSystemTable>("SecurityUser");
     node.AddNode <IModelFilterDataStoreSystemTable>("PropertyBag");
     node.AddNode <IModelFilterDataStoreSystemTable>("PropertyBagDescriptor");
     node.AddNode <IModelFilterDataStoreSystemTable>("PropertyDescriptor");
     node.AddNode <IModelFilterDataStoreSystemTable>("PropertyDescriptorPropertyDescriptors_PropertyBagDescriptorPropertyBags");
     node.AddNode <IModelFilterDataStoreSystemTable>("PropertyValue");
     node.AddNode <IModelFilterDataStoreSystemTable>("ServerPrefix");
     node.AddNode <IModelFilterDataStoreSystemTable>("XpoSequencer");
     node.AddNode <IModelFilterDataStoreSystemTable>("XpoServerId");
     node.AddNode <IModelFilterDataStoreSystemTable>("AuditDataItemPersistent");
     node.AddNode <IModelFilterDataStoreSystemTable>("AuditedObjectWeakReference");
     node.AddNode <IModelFilterDataStoreSystemTable>("XPWeakReference");
     node.AddNode <IModelFilterDataStoreSystemTable>("ModuleInfo");
     node.AddNode <IModelFilterDataStoreSystemTable>("User");
     node.AddNode <IModelFilterDataStoreSystemTable>("SimpleUser");
     node.AddNode <IModelFilterDataStoreSystemTable>("Party");
     node.AddNode <IModelFilterDataStoreSystemTable>("Person");
     node.AddNode <IModelFilterDataStoreSystemTable>("Role");
     node.AddNode <IModelFilterDataStoreSystemTable>("RoleBase");
     node.AddNode <IModelFilterDataStoreSystemTable>("PersistentPermission");
     node.AddNode <IModelFilterDataStoreSystemTable>("UserUsers_RoleRoles");
     node.AddNode <IModelFilterDataStoreSystemTable>("XPObjectType");
     node.AddNode <IModelFilterDataStoreSystemTable>("ModelDifferenceObject");
     node.AddNode <IModelFilterDataStoreSystemTable>("AspectObject");
     node.AddNode <IModelFilterDataStoreSystemTable>("PersistentApplication");
     node.AddNode <IModelFilterDataStoreSystemTable>("RoleModelDifferenceObject");
     node.AddNode <IModelFilterDataStoreSystemTable>("UserModelDifferenceObject");
     node.AddNode <IModelFilterDataStoreSystemTable>("RoleRoles_RoleModelDifferenceObjectRoleModelDifferenceObjects");
     node.AddNode <IModelFilterDataStoreSystemTable>("UserUsers_UserModelDifferenceObjectUserModelDifferenceObjects");
 }
예제 #30
0
        public override void UpdateNode(ModelNode node)
        {
            var source = node.AddNode <IModelJobSchedulerSource>();

            source.AssemblyName = typeof(JobService).Assembly.GetName().Name;
        }
예제 #31
0
 protected override void GenerateNodesCore(ModelNode node)
 {
     node.AddNode <IModelLoggerClientRange>("default client range 61456-61486");
     node.AddNode <IModelLoggerServerPort>("default server port 61456");
 }
예제 #32
0
 protected override void GenerateNodesCore(ModelNode node)
 {
     node.AddNode <IModelModelAdapters>(Default);
 }
 protected override void GenerateNodesCore(ModelNode node)
 {
     node.AddNode<IModelGroup>("Admin");
 }
 protected override void GenerateNodesCore(ModelNode node) {
     node.AddNode<IModelFilterDataStoreSystemTable>("SecurityRole");
     node.AddNode<IModelFilterDataStoreSystemTable>("SecurityUser");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyBag");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyBagDescriptor");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyDescriptor");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyDescriptorPropertyDescriptors_PropertyBagDescriptorPropertyBags");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyValue");
     node.AddNode<IModelFilterDataStoreSystemTable>("ServerPrefix");
     node.AddNode<IModelFilterDataStoreSystemTable>("XpoSequencer");
     node.AddNode<IModelFilterDataStoreSystemTable>("XpoServerId");
     node.AddNode<IModelFilterDataStoreSystemTable>("AuditDataItemPersistent");
     node.AddNode<IModelFilterDataStoreSystemTable>("AuditedObjectWeakReference");
     node.AddNode<IModelFilterDataStoreSystemTable>("XPWeakReference");
     node.AddNode<IModelFilterDataStoreSystemTable>("ModuleInfo");
     node.AddNode<IModelFilterDataStoreSystemTable>("User");
     node.AddNode<IModelFilterDataStoreSystemTable>("SimpleUser");
     node.AddNode<IModelFilterDataStoreSystemTable>("Party");
     node.AddNode<IModelFilterDataStoreSystemTable>("Person");
     node.AddNode<IModelFilterDataStoreSystemTable>("Role");
     node.AddNode<IModelFilterDataStoreSystemTable>("RoleBase");
     node.AddNode<IModelFilterDataStoreSystemTable>("PersistentPermission");
     node.AddNode<IModelFilterDataStoreSystemTable>("UserUsers_RoleRoles");
     node.AddNode<IModelFilterDataStoreSystemTable>("XPObjectType");
     node.AddNode<IModelFilterDataStoreSystemTable>("ModelDifferenceObject");
     node.AddNode<IModelFilterDataStoreSystemTable>("AspectObject");
     node.AddNode<IModelFilterDataStoreSystemTable>("PersistentApplication");
     node.AddNode<IModelFilterDataStoreSystemTable>("RoleModelDifferenceObject");
     node.AddNode<IModelFilterDataStoreSystemTable>("UserModelDifferenceObject");
     node.AddNode<IModelFilterDataStoreSystemTable>("RoleRoles_RoleModelDifferenceObjectRoleModelDifferenceObjects");
     node.AddNode<IModelFilterDataStoreSystemTable>("UserUsers_UserModelDifferenceObjectUserModelDifferenceObjects");
 }
 protected override void GenerateNodesCore(ModelNode node)
 {
     node.AddNode<IModelRole>("Admin");
     node.AddNode<IModelRole>("Users");
 }
        protected override void GenerateNodesCore(ModelNode node) {

            foreach (var modelClass in node.Application.BOModel.Where(@class => @class.TypeInfo.IsInterface)) {
                node.AddNode<IModelFilterDataStoreSystemTable>(modelClass.Name);
            }
            node.AddNode<IModelFilterDataStoreSystemTable>("DCRuntimeCalcMember");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecurityRole");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecurityUser");
            node.AddNode<IModelFilterDataStoreSystemTable>("PropertyBag");
            node.AddNode<IModelFilterDataStoreSystemTable>("PropertyBagDescriptor");
            node.AddNode<IModelFilterDataStoreSystemTable>("PropertyDescriptor");
            node.AddNode<IModelFilterDataStoreSystemTable>("PropertyDescriptorPropertyDescriptors_PropertyBagDescriptorPropertyBags");
            node.AddNode<IModelFilterDataStoreSystemTable>("PropertyValue");
            node.AddNode<IModelFilterDataStoreSystemTable>("ServerPrefix");
            node.AddNode<IModelFilterDataStoreSystemTable>("XpoSequencer");
            node.AddNode<IModelFilterDataStoreSystemTable>("XpoServerId");
            node.AddNode<IModelFilterDataStoreSystemTable>("AuditDataItemPersistent");
            node.AddNode<IModelFilterDataStoreSystemTable>("AuditedObjectWeakReference");
            node.AddNode<IModelFilterDataStoreSystemTable>("XPWeakReference");
            node.AddNode<IModelFilterDataStoreSystemTable>("ModuleInfo");
            node.AddNode<IModelFilterDataStoreSystemTable>("User");
            node.AddNode<IModelFilterDataStoreSystemTable>("SimpleUser");
            node.AddNode<IModelFilterDataStoreSystemTable>("Party");
            node.AddNode<IModelFilterDataStoreSystemTable>("Person");
            node.AddNode<IModelFilterDataStoreSystemTable>("Role");
            node.AddNode<IModelFilterDataStoreSystemTable>("RoleBase");
            node.AddNode<IModelFilterDataStoreSystemTable>("PersistentPermission");
            node.AddNode<IModelFilterDataStoreSystemTable>("UserUsers_RoleRoles");
            node.AddNode<IModelFilterDataStoreSystemTable>("XPObjectType");
            node.AddNode<IModelFilterDataStoreSystemTable>("ModelDifferenceObject");
            node.AddNode<IModelFilterDataStoreSystemTable>("AspectObject");
            node.AddNode<IModelFilterDataStoreSystemTable>("PersistentApplication");
            node.AddNode<IModelFilterDataStoreSystemTable>("RoleModelDifferenceObject");
            node.AddNode<IModelFilterDataStoreSystemTable>("UserModelDifferenceObject");
            node.AddNode<IModelFilterDataStoreSystemTable>("RoleRoles_RoleModelDifferenceObjectRoleModelDifferenceObjects");
            node.AddNode<IModelFilterDataStoreSystemTable>("UserUsers_UserModelDifferenceObjectUserModelDifferenceObjects");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecuritySystemRole");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecuritySystemRoleParentRoles_SecuritySystemRoleChildRoles");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecuritySystemTypePermissionsObject");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecuritySystemUser");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecuritySystemUserUsers_SecuritySystemRoleRoles");
            node.AddNode<IModelFilterDataStoreSystemTable>("XpandPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("XpandRole");
            node.AddNode<IModelFilterDataStoreSystemTable>("ActionStateOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("AdditionalViewControlsOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("ControllerStateOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("MasterDetailOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("ModelCombineOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("PivotSettingsOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("ShowInAnalysisOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("StateMachineTransitionOperationPermissionData");
        }
 protected override void GenerateNodesCore(ModelNode node) {
     foreach (var modelClass in node.Application.BOModel.Where(@class => @class.TypeInfo.IsInterface)) {
         node.AddNode<IModelFilterDataStoreSystemTable>(modelClass.Name);
     }
     node.AddNode<IModelFilterDataStoreSystemTable>("DCRuntimeCalcMember");
     node.AddNode<IModelFilterDataStoreSystemTable>("SecurityRole");
     node.AddNode<IModelFilterDataStoreSystemTable>("SecurityUser");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyBag");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyBagDescriptor");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyDescriptor");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyDescriptorPropertyDescriptors_PropertyBagDescriptorPropertyBags");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyValue");
     node.AddNode<IModelFilterDataStoreSystemTable>("ServerPrefix");
     node.AddNode<IModelFilterDataStoreSystemTable>("XpoSequencer");
     node.AddNode<IModelFilterDataStoreSystemTable>("XpoServerId");
     node.AddNode<IModelFilterDataStoreSystemTable>("AuditDataItemPersistent");
     node.AddNode<IModelFilterDataStoreSystemTable>("AuditedObjectWeakReference");
     node.AddNode<IModelFilterDataStoreSystemTable>("XPWeakReference");
     node.AddNode<IModelFilterDataStoreSystemTable>("ModuleInfo");
     node.AddNode<IModelFilterDataStoreSystemTable>("User");
     node.AddNode<IModelFilterDataStoreSystemTable>("SimpleUser");
     node.AddNode<IModelFilterDataStoreSystemTable>("Party");
     node.AddNode<IModelFilterDataStoreSystemTable>("Person");
     node.AddNode<IModelFilterDataStoreSystemTable>("Role");
     node.AddNode<IModelFilterDataStoreSystemTable>("RoleBase");
     node.AddNode<IModelFilterDataStoreSystemTable>("PersistentPermission");
     node.AddNode<IModelFilterDataStoreSystemTable>("UserUsers_RoleRoles");
     node.AddNode<IModelFilterDataStoreSystemTable>("XPObjectType");
     node.AddNode<IModelFilterDataStoreSystemTable>("ModelDifferenceObject");
     node.AddNode<IModelFilterDataStoreSystemTable>("AspectObject");
     node.AddNode<IModelFilterDataStoreSystemTable>("PersistentApplication");
     node.AddNode<IModelFilterDataStoreSystemTable>("RoleModelDifferenceObject");
     node.AddNode<IModelFilterDataStoreSystemTable>("UserModelDifferenceObject");
     node.AddNode<IModelFilterDataStoreSystemTable>("RoleRoles_RoleModelDifferenceObjectRoleModelDifferenceObjects");
     node.AddNode<IModelFilterDataStoreSystemTable>("UserUsers_UserModelDifferenceObjectUserModelDifferenceObjects");
 }