Beispiel #1
0
        public override void CustomizeTypesInfo(ITypesInfo typesInfo)
        {
            base.CustomizeTypesInfo(typesInfo);
            var logicRuleTypes = typesInfo.DomainSealedInfos <IContextLogicRule>();

            foreach (var logicRuleType in logicRuleTypes)
            {
                logicRuleType.AddAttribute(new NewObjectCreateGroupAttribute("Logic"));
            }
        }
Beispiel #2
0
        public override void CustomizeTypesInfo(ITypesInfo typesInfo)
        {
            base.CustomizeTypesInfo(typesInfo);
            CurrentUserNameOperator.Instance.Register();
            ApplySecurityOperations(typesInfo);
            var types = typesInfo.DomainSealedInfos <IModifier>();

            foreach (var typeInfo in types)
            {
                typeInfo.AddAttribute(new NewObjectCreateGroupAttribute("SimpleModifer"));
            }
        }
Beispiel #3
0
        private void ApplySecurityOperations(ITypesInfo typesInfo)
        {
            var securityOperationInfos = typesInfo.PersistentTypes.Where(info => info.FindAttribute <SecurityOperationsAttribute>() != null);
            var roleInfos = typesInfo.DomainSealedInfos <ISecurityRole>().ToArray();

            foreach (var securityOperationInfo in securityOperationInfos)
            {
                var securityOperationsAttributes = securityOperationInfo.FindAttributes <SecurityOperationsAttribute>();
                foreach (var securityOperationsAttribute in securityOperationsAttributes)
                {
                    foreach (var roleInfo in roleInfos.Where(info => (!RuntimeMode || info.Type == RoleType) && !(((TypeInfo)info).Source is ReflectionTypeInfoSource)))
                    {
                        if (roleInfo.FindMember(securityOperationsAttribute.OperationProviderProperty) == null)
                        {
                            roleInfo.CreateMember(securityOperationsAttribute.OperationProviderProperty, typeof(SecurityOperationsEnum));
                        }
                        if (!RuntimeMode)
                        {
                            CreateWeaklyTypedCollection(typesInfo, roleInfo.Type, securityOperationsAttribute.CollectionName);
                        }
                    }
                }
            }
        }
Beispiel #4
0
 public static IEnumerable <ITypeInfo> DomainSealedInfos <T>(this ITypesInfo typesInfo)
 {
     return(typesInfo.DomainSealedInfos(typeof(T)));
 }