/// <summary> /// Initializes a new instance of the PrimitiveDataTypeRepositoryBase class. /// </summary> /// <param name="dataGenerationHintsResolver">Data generation hints resolver.</param> protected PrimitiveDataTypeRepositoryBase(IPrimitiveDataTypeToDataGenerationHintsResolver dataGenerationHintsResolver) { ExceptionUtilities.CheckArgumentNotNull(dataGenerationHintsResolver, "dataGenerationHintsResolver"); this.RandomDataGeneratorResolver = new RandomDataGeneratorResolver(); this.UniqueDataGeneratorResolver = new UniqueDataGeneratorResolver(); this.DataGenerationHintsResolver = dataGenerationHintsResolver; }
/// <summary> /// Initializes a new instance of the PrimitiveDataTypeRepositoryBase class. /// </summary> /// <param name="dataGenerationHintsResolver">Data generation hints resolver.</param> protected PrimitiveDataTypeRepositoryBase(IPrimitiveDataTypeToDataGenerationHintsResolver dataGenerationHintsResolver) { ExceptionUtilities.CheckArgumentNotNull(dataGenerationHintsResolver, "dataGenerationHintsResolver"); this.RandomDataGeneratorResolver = new RandomDataGeneratorResolver(); this.UniqueDataGeneratorResolver = new UniqueDataGeneratorResolver(); this.DataGenerationHintsResolver = dataGenerationHintsResolver; }
/// <summary> /// Resolves data generation hints for the entity model. /// </summary> /// <param name="model">The entity model to resolve data generation hints for.</param> /// <param name="dataGenerationHintsResolver">The data generation hints resolver.</param> public void ResolveDataGenerationHints(EntityModelSchema model, IPrimitiveDataTypeToDataGenerationHintsResolver dataGenerationHintsResolver) { ExceptionUtilities.CheckArgumentNotNull(model, "model"); ExceptionUtilities.CheckArgumentNotNull(dataGenerationHintsResolver, "dataGenerationHintsResolver"); foreach (ComplexType comlexType in model.ComplexTypes) { Resolve(comlexType.Properties, dataGenerationHintsResolver); } foreach (EntityType entityType in model.EntityTypes) { Resolve(entityType.Properties, dataGenerationHintsResolver); } }
/// <summary> /// Resolves data generation hints for the entity model. /// </summary> /// <param name="model">The entity model to resolve data generation hints for.</param> /// <param name="dataGenerationHintsResolver">The data generation hints resolver.</param> public void ResolveDataGenerationHints(EntityModelSchema model, IPrimitiveDataTypeToDataGenerationHintsResolver dataGenerationHintsResolver) { ExceptionUtilities.CheckArgumentNotNull(model, "model"); ExceptionUtilities.CheckArgumentNotNull(dataGenerationHintsResolver, "dataGenerationHintsResolver"); foreach (ComplexType comlexType in model.ComplexTypes) { Resolve(comlexType.Properties, dataGenerationHintsResolver); } foreach (EntityType entityType in model.EntityTypes) { Resolve(entityType.Properties, dataGenerationHintsResolver); } }
private static void Resolve(IEnumerable <MemberProperty> properties, IPrimitiveDataTypeToDataGenerationHintsResolver dataGenerationHintsResolver) { foreach (MemberProperty property in properties) { var collectionType = property.PropertyType as CollectionDataType; var elementType = collectionType != null ? collectionType.ElementDataType : property.PropertyType; var primitiveDataType = elementType as PrimitiveDataType; if (primitiveDataType != null) { var hints = dataGenerationHintsResolver.ResolveDataGenerationHints(primitiveDataType).ToList(); property.WithDataGenerationHints(hints.ToArray()); } } }
private static void Resolve(IEnumerable<MemberProperty> properties, IPrimitiveDataTypeToDataGenerationHintsResolver dataGenerationHintsResolver) { foreach (MemberProperty property in properties) { var collectionType = property.PropertyType as CollectionDataType; var elementType = collectionType != null ? collectionType.ElementDataType : property.PropertyType; var primitiveDataType = elementType as PrimitiveDataType; if (primitiveDataType != null) { var hints = dataGenerationHintsResolver.ResolveDataGenerationHints(primitiveDataType).ToList(); property.WithDataGenerationHints(hints.ToArray()); } } }