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)); } }
/// <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); } }
void OnCollectDescendantTypes(object sender, CollectTypesEventArgs collectTypesEventArgs) { var objectTypeInfo = ((NewObjectViewController)sender).View.ObjectTypeInfo; if (objectTypeInfo.FindAttribute <SessionLessPersistentAttribute>() != null) { collectTypesEventArgs.Types.Add(objectTypeInfo.Type); } }
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)); } }
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); } }
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)); // } // } }
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; } } } }
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); } }
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) { 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; } } } }
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); } } } }
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); } }
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)); } }
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); } } }
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); }
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); }
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)); }
void OnCollectDescendantTypes(object sender, CollectTypesEventArgs collectTypesEventArgs) { var objectTypeInfo = ((NewObjectViewController)sender).View.ObjectTypeInfo; if (objectTypeInfo.FindAttribute<SessionLessPersistentAttribute>()!=null) collectTypesEventArgs.Types.Add(objectTypeInfo.Type); }
void OnCollectDescendantPermissionTypes(object sender, CollectTypesEventArgs e) { }
void NewCntrl_CollectDescendantTypes(object sender, CollectTypesEventArgs e) { //e.Types.Add(typeof(fmCAVTInvoicePayment)); }
/// <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); } }
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; }
private void NewObjectViewController_CollectCreatableItemTypes(object sender, CollectTypesEventArgs e) { CustomizeList(e.Types); }
void MyController_CollectDescendantTypes(object sender, CollectTypesEventArgs e) { CustomizeList(e.Types); }
private void newObjectViewController_CollectDescendantTypes(object sender, CollectTypesEventArgs e) { e.Types.Add(typeof(ActionExecutePermissionDescriptor)); }
void MyController_CollectCreatableItemTypes(object sender, CollectTypesEventArgs e) { CustomizeList(e.Types); }
// Сборка типов private void CustomNewActionController_CollectCreatableItemTypes(object sender, CollectTypesEventArgs e) { }