コード例 #1
0
 void NewObjectViewControllerOnCollectCreatableItemTypes(object sender, CollectTypesEventArgs collectTypesEventArgs) {
     var modelCreatableItems = Application.Model as IModelApplicationCreatableItems;
     if (modelCreatableItems != null && modelCreatableItems.CreatableItems != null) {
         var creatableItems = modelCreatableItems.CreatableItems.Where(item => item.ModelClass.TypeInfo.FindAttribute<SessionLessPersistentAttribute>() != null).ToList();
         creatableItems.ForEach(creatableItem => collectTypesEventArgs.Types.Add(creatableItem.ModelClass.TypeInfo.Type));
     }
 }
コード例 #2
0
        /// <summary>
        /// Add additional custom types to the ReflectionDictionary.
        /// Required if you add your own PersistentXYZAttributes (similar to PersistentAggregatedAttribute, ...) implementations.
        /// </summary>
        /// <param name="e"></param>
        private static void OnAddAdditionalReflectionDictionaryTypes(CollectTypesEventArgs e)
        {
            EventHandler <CollectTypesEventArgs> handler = AddAdditionalReflectionDictionaryTypes;

            if (handler != null)
            {
                handler(null, e);
            }
        }
コード例 #3
0
        void OnCollectDescendantTypes(object sender, CollectTypesEventArgs collectTypesEventArgs)
        {
            var objectTypeInfo = ((NewObjectViewController)sender).View.ObjectTypeInfo;

            if (objectTypeInfo.FindAttribute <SessionLessPersistentAttribute>() != null)
            {
                collectTypesEventArgs.Types.Add(objectTypeInfo.Type);
            }
        }
コード例 #4
0
        void NewObjectViewControllerOnCollectCreatableItemTypes(object sender, CollectTypesEventArgs collectTypesEventArgs)
        {
            var modelCreatableItems = Application.Model as IModelApplicationCreatableItems;

            if (modelCreatableItems != null && modelCreatableItems.CreatableItems != null)
            {
                var creatableItems = modelCreatableItems.CreatableItems.Where(item => item.ModelClass.TypeInfo.FindAttribute <SessionLessPersistentAttribute>() != null).ToList();
                creatableItems.ForEach(creatableItem => collectTypesEventArgs.Types.Add(creatableItem.ModelClass.TypeInfo.Type));
            }
        }
コード例 #5
0
        void OnCollectDescendantTypes(object sender, CollectTypesEventArgs collectTypesEventArgs)
        {
            List <ITypeInfo>           removeGroupedTypes         = RemoveGroupedTypes(collectTypesEventArgs.Types).ToList();
            ChoiceActionItemCollection choiceActionItemCollection = Frame.GetController <NewObjectViewController>().NewObjectAction.Items;

            foreach (var removeGroupedType in removeGroupedTypes.ToList())
            {
                string[] strings = removeGroupedType.FindAttribute <NewObjectCreateGroupAttribute>().GroupPath.Split('/');
                AddItem(choiceActionItemCollection, strings.ToList(), removeGroupedType);
            }
        }
コード例 #6
0
        private void CustomNewActionController_CollectDescendantTypes(object sender, CollectTypesEventArgs e)
        {
//            Frame.View.ObjectTypeInfo
//            if (view != null) {
//                if (Frame.View.ObjectTypeInfo.Type == typeof(crmIParty)) {
//                    e.Types.Clear();
//                    e.Types.Add(typeof(crmLegalPerson));
//                    e.Types.Add(typeof(crmLegalPersonUnit));
//                }
//            }
        }
コード例 #7
0
 private void NewObjectViewController_CollectDescendantTypes(object sender, CollectTypesEventArgs e)
 {
     User u = (User)SecuritySystem.CurrentUser;
     XPCollection<Role> xpc = new XPCollection<Role>(u.Roles,
         new BinaryOperator("Name", "Administrators"));
     if (xpc.Count == 0)
     {
         foreach (Type type in e.Types)
         {
             if (type.Name == "RegisterDetail") { e.Types.Remove(type); break; }
         }
     }
 }
コード例 #8
0
        void permissionsController_CollectCreatablePermissionTypes(object sender, CollectTypesEventArgs e)
        {
            List<Type> typesToRemove = new List<Type>();

            foreach(Type creatableType in e.Types) {
                if(creatableType.IsAssignableFrom(typeof(EditModelPermission))) {
                    typesToRemove.Add(creatableType);
                }
            }

            foreach(Type type in typesToRemove) {
                e.Types.Remove(type);
            }
        }
コード例 #9
0
 void OnCollectDescendantTypes(object sender, CollectTypesEventArgs e) {
     var nestedFrame = Frame as NestedFrame;
     if (nestedFrame != null && nestedFrame.ViewItem.View as ObjectView!=null) {
         var parentType = nestedFrame.ViewItem.View.ObjectTypeInfo.Type;
         var typeInfos = e.Types.Select(type => Application.TypesInfo.FindTypeInfo(type));
         var typeAttributes = typeInfos.Select(info => new{info.Type, Attributes = info.FindAttributes<CreateableItemAttribute>()}).
             Where(arg => arg.Attributes.Any()).ToList();
         foreach (var typeAttribute in typeAttributes) {
             if (typeAttribute.Attributes.Any(attribute => attribute.MasterObjectType == null))
                 e.Types.Remove(typeAttribute.Type);
             else if(!typeAttribute.Attributes.Any(attribute => attribute.MasterObjectType.IsAssignableFrom(parentType))) {
                 e.Types.Remove(typeAttribute.Type);
             }
         }                
     }
 }
コード例 #10
0
        private void NewObjectViewController_CollectDescendantTypes(object sender, CollectTypesEventArgs e)
        {
            User u = (User)SecuritySystem.CurrentUser;
            XPCollection <Role> xpc = new XPCollection <Role>(u.Roles,
                                                              new BinaryOperator("Name", "Administrators"));

            if (xpc.Count == 0)
            {
                foreach (Type type in e.Types)
                {
                    if (type.Name == "RegisterDetail")
                    {
                        e.Types.Remove(type); break;
                    }
                }
            }
        }
コード例 #11
0
        void OnCollectDescendantTypes(object sender, CollectTypesEventArgs e)
        {
            var objectTypeInfo = ((ViewController)sender).View.ObjectTypeInfo.Type;

            if (objectTypeInfo == typeof(XpandPermissionData))
            {
                var collection = e.Types.ToList();
                for (int i = collection.Count - 1; i > -1; i--)
                {
                    var type = collection[i];
                    if (!typeof(XpandPermissionData).IsAssignableFrom(type))
                    {
                        e.Types.Remove(type);
                    }
                }
            }
        }
コード例 #12
0
        void permissionsController_CollectCreatablePermissionTypes(object sender, CollectTypesEventArgs e)
        {
            List <Type> typesToRemove = new List <Type>();

            foreach (Type creatableType in e.Types)
            {
                if (creatableType.IsAssignableFrom(typeof(EditModelPermission)))
                {
                    typesToRemove.Add(creatableType);
                }
            }

            foreach (Type type in typesToRemove)
            {
                e.Types.Remove(type);
            }
        }
コード例 #13
0
 private void CustomNewActionController_CollectDescendantTypes(object sender, CollectTypesEventArgs e)
 {
     if (Frame.View.ObjectTypeInfo.Type == typeof(fmIDirection))
     {
         e.Types.Clear();
         e.Types.Add(typeof(fmIDirection));
     }
     if (Frame.View.ObjectTypeInfo.Type == typeof(fmISubject))
     {
         e.Types.Clear();
         e.Types.Add(typeof(fmISubjectExt));
     }
     if (Frame.View.ObjectTypeInfo.Type == typeof(fmIOrder))
     {
         e.Types.Clear();
         e.Types.Add(typeof(fmIOrderExt));
     }
 }
コード例 #14
0
 private void NewController_CollectDescendantTypes(object sender, CollectTypesEventArgs e)
 {
     if (newController != null && newController.View is ListView listView && listView.ObjectTypeInfo != null)
     {
         List <Type> esFilterTypes = null;
         if (typeof(DevExpress.ExpressApp.Security.Strategy.SecuritySystemObjectPermissionsObject).IsAssignableFrom(listView.ObjectTypeInfo.Type))
         {
             esFilterTypes = XafTypesInfo.Instance.PersistentTypes.Where(p => p.Implements <IObjectPermissionElasticSearchFilter>() && typeof(DevExpress.ExpressApp.Security.Strategy.SecuritySystemObjectPermissionsObject).IsAssignableFrom(p.Type)).Select(p => p.Type).ToList();
         }
         if (typeof(IPermissionPolicyObjectPermissionsObject).IsAssignableFrom(listView.ObjectTypeInfo.Type))
         {
             esFilterTypes = XafTypesInfo.Instance.PersistentTypes.Where(p => p.Implements <IObjectPermissionElasticSearchFilter>() && p.Implements <IPermissionPolicyObjectPermissionsObject>()).Select(p => p.Type).ToList();
         }
         if (esFilterTypes != null && esFilterTypes.Any())
         {
             e.Types.Clear();
             esFilterTypes.ForEach(e.Types.Add);
         }
     }
 }
コード例 #15
0
        public static ReflectionDictionary GetReflectionDictionary(XpandModuleBase moduleBase)
        {
            var  externalModelBusinessClassesList = moduleBase.GetAdditionalClasses(moduleBase.Application.Modules);
            Type persistentAssemblyInfoType       = externalModelBusinessClassesList.FirstOrDefault(type1 => typeof(IPersistentAssemblyInfo).IsAssignableFrom(type1));

            if (persistentAssemblyInfoType == null)
            {
                throw new ArgumentNullException("Add a business object that implements " +
                                                typeof(IPersistentAssemblyInfo).FullName + " at your AdditionalBusinessClasses (module.designer.cs)");
            }
            var types = persistentAssemblyInfoType.Assembly.GetTypes().Where(type => (type.Namespace + "").StartsWith(persistentAssemblyInfoType.Namespace + ""));
            var reflectionDictionary = new ReflectionDictionary();

            var collectTypesEventArgs = new CollectTypesEventArgs(new List <Type>());

            OnAddAdditionalReflectionDictionaryTypes(collectTypesEventArgs);

            foreach (var type in types.Union(collectTypesEventArgs.Types))
            {
                reflectionDictionary.QueryClassInfo(type);
            }
            return(reflectionDictionary);
        }
コード例 #16
0
        void OnCollectDescendantTypes(object sender, CollectTypesEventArgs e)
        {
            var nestedFrame = Frame as NestedFrame;

            if (nestedFrame != null && nestedFrame.ViewItem.View as ObjectView != null)
            {
                var parentType     = nestedFrame.ViewItem.View.ObjectTypeInfo.Type;
                var typeInfos      = e.Types.Select(type => Application.TypesInfo.FindTypeInfo(type));
                var typeAttributes = typeInfos.Select(info => new{ info.Type, Attributes = info.FindAttributes <CreateableItemAttribute>() }).
                                     Where(arg => arg.Attributes.Any()).ToList();
                foreach (var typeAttribute in typeAttributes)
                {
                    if (typeAttribute.Attributes.Any(attribute => attribute.MasterObjectType == null))
                    {
                        e.Types.Remove(typeAttribute.Type);
                    }
                    else if (!typeAttribute.Attributes.Any(attribute => attribute.MasterObjectType.IsAssignableFrom(parentType)))
                    {
                        e.Types.Remove(typeAttribute.Type);
                    }
                }
            }
        }
 private void NewObjectViewController_CollectDescendantTypes(object sender, CollectTypesEventArgs e)
 {
     CustomizeList(e.Types);
 }
コード例 #18
0
 private void CustomNewActionController_CollectCreatableItemTypes(object sender, CollectTypesEventArgs e)
 {
     if (newview == null)
     {
         return;
     }
     if (newview.ObjectTypeInfo.Type != typeof(crmCParty))
     {
         return;
     }
     e.Types.Add(typeof(crmCBusinessman));
     e.Types.Add(typeof(crmCLegalPerson));
     e.Types.Add(typeof(crmCLegalPersonUnit));
     e.Types.Add(typeof(crmCPhysicalParty));
 }
コード例 #19
0
 void OnCollectDescendantTypes(object sender, CollectTypesEventArgs collectTypesEventArgs) {
     var objectTypeInfo = ((NewObjectViewController)sender).View.ObjectTypeInfo;
     if (objectTypeInfo.FindAttribute<SessionLessPersistentAttribute>()!=null)
         collectTypesEventArgs.Types.Add(objectTypeInfo.Type);
 }
コード例 #20
0
 void OnCollectDescendantPermissionTypes(object sender, CollectTypesEventArgs e)
 {
 }
コード例 #21
0
 void NewCntrl_CollectDescendantTypes(object sender, CollectTypesEventArgs e)
 {
     //e.Types.Add(typeof(fmCAVTInvoicePayment));
 }
コード例 #22
0
 /// <summary>
 /// Add additional custom types to the ReflectionDictionary. 
 /// Required if you add your own PersistentXYZAttributes (similar to PersistentAggregatedAttribute, ...) implementations.
 /// </summary>
 /// <param name="e"></param>
 private static void OnAddAdditionalReflectionDictionaryTypes(CollectTypesEventArgs e) {
     EventHandler<CollectTypesEventArgs> handler = AddAdditionalReflectionDictionaryTypes;
     if (handler != null) {
         handler(null, e);
     }
 }
コード例 #23
0
        public static ReflectionDictionary GetReflectionDictionary(XpandModuleBase moduleBase) {
            var externalModelBusinessClassesList = moduleBase.GetAdditionalClasses(moduleBase.Application.Modules);
            Type persistentAssemblyInfoType = externalModelBusinessClassesList.FirstOrDefault(type1 => typeof(IPersistentAssemblyInfo).IsAssignableFrom(type1));
            if (persistentAssemblyInfoType == null)
                throw new ArgumentNullException("Add a business object that implements " +
                                                typeof(IPersistentAssemblyInfo).FullName + " at your AdditionalBusinessClasses (module.designer.cs)");
            var types = persistentAssemblyInfoType.Assembly.GetTypes().Where(type => (type.Namespace + "").StartsWith(persistentAssemblyInfoType.Namespace + ""));
            var reflectionDictionary = new ReflectionDictionary();

            var collectTypesEventArgs = new CollectTypesEventArgs(new List<Type>());
            OnAddAdditionalReflectionDictionaryTypes(collectTypesEventArgs);

            foreach (var type in types.Union(collectTypesEventArgs.Types)) {
                reflectionDictionary.QueryClassInfo(type);
            }
            return reflectionDictionary;
        }
コード例 #24
0
 private void NewObjectViewController_CollectCreatableItemTypes(object sender, CollectTypesEventArgs e)
 {
     CustomizeList(e.Types);
 }
コード例 #25
0
 void MyController_CollectDescendantTypes(object sender, CollectTypesEventArgs e)
 {
     CustomizeList(e.Types);
 }
コード例 #26
0
 private void newObjectViewController_CollectDescendantTypes(object sender, CollectTypesEventArgs e)
 {
     e.Types.Add(typeof(ActionExecutePermissionDescriptor));
 }
コード例 #27
0
 void MyController_CollectCreatableItemTypes(object sender, CollectTypesEventArgs e)
 {
     CustomizeList(e.Types);
 }
コード例 #28
0
 // Сборка типов
 private void CustomNewActionController_CollectCreatableItemTypes(object sender, CollectTypesEventArgs e)
 {
 }