Example #1
0
        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;
            }
        }
Example #4
0
        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);
            }
        }
Example #6
0
        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);
 }