private ColumnValue BuildColumnValue(Type entityType, string columnName) { var entityName = _entities.GetNameForType(entityType); var entityInfo = _entities[entityName]; return(ToColumnValue(entityInfo, columnName)); }
private void RecurseCreation(object item, EntityInfoCollection <EntityInfo> entities) { Random rand = new Random(DateTime.Now.Millisecond * DateTime.Now.Minute); string entityName = entities.GetNameForType(item.GetType()); if (entities.HasEntity(entityName) && entities[entityName].References.Count > 0) { object primarykey = entities[entityName].Fields.KeyField.PropertyInfo.GetValue(item, null); foreach (var refentity in entities[entityName].References) { if (this._stopGenerator) { break; } var genType = typeof(List <>).MakeGenericType(refentity.ReferenceEntityType); var items = (System.Collections.IList)Activator.CreateInstance(genType); Model.modelbase reference = (Model.modelbase)Activator.CreateInstance(refentity.ReferenceEntityType); int iCount = rand.Next(this._config.GenerateChildrenBaseAmount); for (int i = 0; i < iCount; i++) { if (this._stopGenerator) { break; } var newelement = reference.CreateRandomObject(primarykey); AddMessage(newelement.ToString()); items.Add(newelement); //this._DataStore.Insert(newelement); RecurseCreation(newelement, entities); } if (refentity.IsArray) { var arr = Array.CreateInstance(refentity.ReferenceEntityType, items.Count); items.CopyTo(arr, 0); refentity.PropertyInfo.SetValue(item, arr, null); } else if (refentity.IsList) { refentity.PropertyInfo.SetValue(item, items, null); } else { refentity.PropertyInfo.SetValue(item, items[0], null); } } } }
public IFilter GetColumnName(MemberExpression body) { if (body == null) { throw new ArgumentNullException("memberExpression"); } var entityName = _entityInfos.GetNameForType(typeof(T)); var entityInfo = _entityInfos[entityName]; var property = body.Member; var requestedProperty = entityInfo.GetField(property); if (requestedProperty == null) { throw new NotSupportedException(string.Format("Type doesn't contains member expression property. Requested type:{0}. Property name:{1}.", typeof(T), property.Name)); } return(_filterFactory.ToColumnValue(entityInfo, requestedProperty.FieldName)); }
private void RecurseCreation(object item, EntityInfoCollection<EntityInfo> entities) { Random rand = new Random(DateTime.Now.Millisecond * DateTime.Now.Minute); string entityName = entities.GetNameForType(item.GetType()); if (entities.HasEntity(entityName) && entities[entityName].References.Count > 0) { object primarykey = entities[entityName].Fields.KeyField.PropertyInfo.GetValue(item, null); foreach (var refentity in entities[entityName].References) { if (this._stopGenerator) break; var genType = typeof(List<>).MakeGenericType(refentity.ReferenceEntityType); var items = (System.Collections.IList)Activator.CreateInstance(genType); Model.modelbase reference = (Model.modelbase)Activator.CreateInstance(refentity.ReferenceEntityType); int iCount = rand.Next(this._config.GenerateChildrenBaseAmount); for (int i = 0; i < iCount; i++) { if (this._stopGenerator) break; var newelement = reference.CreateRandomObject(primarykey); AddMessage(newelement.ToString()); items.Add(newelement); //this._DataStore.Insert(newelement); RecurseCreation(newelement, entities); } if (refentity.IsArray) { var arr = Array.CreateInstance(refentity.ReferenceEntityType, items.Count); items.CopyTo(arr, 0); refentity.PropertyInfo.SetValue(item, arr, null); } else if (refentity.IsList) { refentity.PropertyInfo.SetValue(item, items, null); } else { refentity.PropertyInfo.SetValue(item, items[0], null); } } } }