void CreateMember(ITypesInfo typesInfo, IRoleTypeProvider roleTypeProvider, SecurityOperationsAttribute attribute) { var roleTypeInfo = typesInfo.FindTypeInfo(roleTypeProvider.RoleType); if (roleTypeInfo.FindMember(attribute.OperationProviderProperty) == null) { var memberInfo = roleTypeInfo.CreateMember(attribute.OperationProviderProperty, typeof(SecurityOperationsEnum)); memberInfo.AddAttribute(new RuleRequiredFieldAttribute()); } }
static string Convert(ISecurityRole securityRole, ITypeInfo roleTypeInfo, SecurityOperationsAttribute operationsAttribute) { var memberInfo = MemberInfo(roleTypeInfo, operationsAttribute); if (memberInfo != null) { var value = memberInfo.GetValue(securityRole); if (value == null || ReferenceEquals(value, "")) return null; var securityOperations = (SecurityOperationsEnum)value; var fieldInfo = typeof(SecurityOperations).GetField(securityOperations.ToString(), BindingFlags.Public | BindingFlags.Static); if (fieldInfo != null) return fieldInfo.GetValue(null).ToString(); throw new NotImplementedException(value.ToString()); } return null; }
static string Convert(ISecurityRole securityRole, ITypeInfo roleTypeInfo, SecurityOperationsAttribute operationsAttribute) { var memberInfo = MemberInfo(roleTypeInfo, operationsAttribute); if (memberInfo != null) { var value = memberInfo.GetValue(securityRole); if (value == null || ReferenceEquals(value, "")) { return(null); } var securityOperations = (SecurityOperationsEnum)value; var fieldInfo = typeof(SecurityOperations).GetField(securityOperations.ToString()); if (fieldInfo != null) { return(fieldInfo.GetValue(null).ToString()); } throw new NotImplementedException(value.ToString()); } return(null); }
void CreateMember(ITypesInfo typesInfo, IRoleTypeProvider roleTypeProvider, SecurityOperationsAttribute attribute) { var roleTypeInfo = typesInfo.FindTypeInfo(roleTypeProvider.RoleType); if (roleTypeInfo.FindMember(attribute.OperationProviderProperty) == null) { roleTypeInfo.CreateMember(attribute.OperationProviderProperty, typeof(SecurityOperationsEnum)); } }
static IMemberInfo MemberInfo(ITypeInfo roleTypeInfo, SecurityOperationsAttribute operationsAttribute) { return(roleTypeInfo.FindMember(operationsAttribute.OperationProviderProperty)); }
static IMemberInfo MemberInfo(ITypeInfo roleTypeInfo, SecurityOperationsAttribute operationsAttribute) { return roleTypeInfo.FindMember(operationsAttribute.OperationProviderProperty); }