public Dictionary <string, esEntityCollectionBase> GetAllCollections() { Dictionary <string, esEntityCollectionBase> collections = new Dictionary <string, esEntityCollectionBase>(); LoadAllAssemblies(); Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (Assembly assembly in assemblies) { try { Type[] types = assembly.GetExportedTypes(); foreach (Type type in types) { if (type.IsClass && !type.IsAbstract) { if (type.IsSubclassOf(typeof(esEntityCollectionBase))) { esEntityCollectionBase coll = Activator.CreateInstance(type) as esEntityCollectionBase; collections[type.Name] = coll; } } } } catch { } } return(collections); }
protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider) { esEntityCollectionBase data = (esEntityCollectionBase)objectProvider.GetObject(); using (esVisualizerForm displayForm = new esVisualizerForm(data)) { windowService.ShowDialog(displayForm); } }
private void BindCollection(esEntityCollectionBase entities) { IEntityCollection entityCollection = (IEntityCollection)entities; CollectionDataGridView.DataSource = entities; if (entityCollection.Query != null && entityCollection.Query.es.LastQuery != null) { this.txtLastQuery.Text = entityCollection.Query.es.LastQuery; } }
public esColumnMetadataCollection GetColumns(esEntityCollectionBase collection) { collection.EnableHierarchicalBinding = false; PropertyDescriptorCollection props = null; try { MethodInfo GetEntity = collection.GetType().GetMethod("CreateEntity", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); esEntity entity = GetEntity.Invoke(collection, null) as esEntity; MethodInfo GetProperties = collection.GetType().GetMethod("GetProperties", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); props = GetProperties.Invoke(collection, new object[] { entity }) as PropertyDescriptorCollection; } catch { } MethodInfo get_Meta = collection.GetType().GetMethod("get_Meta", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); IMetadata meta = get_Meta.Invoke(collection, null) as IMetadata; esColumnMetadataCollection esColumns = meta.Columns; esColumnMetadataCollection esCollection = new esColumnMetadataCollection(); try { foreach (esColumnMetadata col in esColumns) { esCollection.Add(col); } } catch { } try { if (props != null) { esExtendedPropertyAttribute att = new esExtendedPropertyAttribute(); foreach (PropertyDescriptor prop in props) { if (esColumns.FindByPropertyName(prop.Name) == null) { if (prop.Attributes.Contains(att)) { esColumnMetadata col = new esColumnMetadata(prop.Name, 1000, prop.PropertyType); col.PropertyName = prop.Name; esCollection.Add(col); } } } } } catch { } return(esCollection); }
public esDataSourceWizard(IServiceProvider provider, DataSourceControl esDataSource) { InitializeComponent(); this.esDataSource = esDataSource; this.provider = provider; this.helper = new esReflectionHelper(); //---------------------------------------------------- // Let's see if we can load our types right up !! //---------------------------------------------------- ITypeDiscoveryService discovery = null; if (esDataSource.Site != null) { discovery = (ITypeDiscoveryService)esDataSource.Site.GetService(typeof(ITypeDiscoveryService)); } ICollection types = discovery.GetTypes(typeof(esEntityCollectionBase), true); foreach (Type type in types) { if (type.IsClass && !type.IsAbstract) { if (type.IsSubclassOf(typeof(esEntityCollectionBase))) { try { esEntityCollectionBase coll = Activator.CreateInstance(type) as esEntityCollectionBase; if (coll != null) { collections[type.Name] = coll; } } catch { } } } } foreach (string collectionName in collections.Keys) { this.lboxCollections.Items.Add(collectionName); } }
public Dictionary <string, esEntityCollectionBase> GetCollections(string assemblyName) { Dictionary <string, esEntityCollectionBase> collections = new Dictionary <string, esEntityCollectionBase>(); Assembly asm = Assembly.LoadFile(assemblyName); Type[] types = asm.GetExportedTypes(); foreach (Type type in types) { if (type.IsClass && !type.IsAbstract) { if (type.IsSubclassOf(typeof(esEntityCollectionBase))) { esEntityCollectionBase coll = Activator.CreateInstance(type) as esEntityCollectionBase; collections[type.Name] = coll; } } } return(collections); }
public esVisualizerForm(esEntityCollectionBase entities) { InitializeComponent(); BindCollection(entities); }