private static void GetByteConstraints(ADSchemaAttributeObject schemaObject, ADPropertyDefinition propDef, List <PropertyDefinitionConstraint> constraints) { if (propDef.Type == typeof(byte[])) { constraints.Add(new ByteArrayLengthConstraint(schemaObject.RangeLower ?? 0, schemaObject.RangeUpper ?? 0)); return; } if (propDef.Type == typeof(string)) { ADSchemaDataProvider.GetStringConstraints(schemaObject, propDef, constraints); return; } ExTraceGlobals.SchemaInitializationTracer.TraceDebug <DataSyntax, ADPropertyDefinition>(0L, "Unsupported property type '{1}' for data syntax '{0}'.", schemaObject.DataSyntax, propDef); }
private PropertyDefinitionConstraint[] GeneratePropertyConstraints(ADSchemaAttributeObject schemaObject, ADPropertyDefinition propDef) { List <PropertyDefinitionConstraint> list = new List <PropertyDefinitionConstraint>(); switch (schemaObject.DataSyntax) { case DataSyntax.Boolean: case DataSyntax.Sid: case DataSyntax.ObjectIdentifier: case DataSyntax.UTCTime: case DataSyntax.GeneralizedTime: case DataSyntax.Interval: case DataSyntax.NTSecDesc: case DataSyntax.AccessPoint: case DataSyntax.DNBinary: case DataSyntax.DNString: case DataSyntax.DSDN: case DataSyntax.ORName: case DataSyntax.PresentationAddress: case DataSyntax.ReplicaLink: goto IL_BE; case DataSyntax.Integer: case DataSyntax.Enumeration: ADSchemaDataProvider.GetIntegerConstraints(schemaObject, propDef, list); goto IL_BE; case DataSyntax.Octet: ADSchemaDataProvider.GetByteConstraints(schemaObject, propDef, list); goto IL_BE; case DataSyntax.Numeric: case DataSyntax.Printable: case DataSyntax.Teletex: case DataSyntax.IA5: case DataSyntax.CaseSensitive: case DataSyntax.Unicode: ADSchemaDataProvider.GetStringConstraints(schemaObject, propDef, list); goto IL_BE; case DataSyntax.LargeInteger: ADSchemaDataProvider.GetLargeIntegerConstraints(schemaObject, propDef, list); goto IL_BE; } ExTraceGlobals.SchemaInitializationTracer.TraceDebug <DataSyntax, ADPropertyDefinition>((long)this.GetHashCode(), "Unsupported DataSyntax '{0}' found for property '{1}'.", schemaObject.DataSyntax, propDef); IL_BE: return(list.ToArray()); }