public void ExecuteApp(HubCrawlApp app) { String directory = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); String loadDllPath = String.Format(@"{0}\{1}", directory, app.FilePath); Assembly ass = Assembly.LoadFile(loadDllPath); foreach (Type t in ass.GetExportedTypes()) { if (t.BaseType == typeof(HubCrawl.WPF.AppCluster)) { HubCrawl.WPF.AppCluster cluster = (HubCrawl.WPF.AppCluster)t.InvokeMember(null, BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null); ExecuteApp(cluster); break; } else if (t.BaseType == typeof(HubCrawl.Winform.AppCluster)) { HubCrawl.Winform.AppCluster cluster = (HubCrawl.Winform.AppCluster)t.InvokeMember(null, BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null); ExecuteApp(cluster, AppType.Winform); break; } else if (t.BaseType == typeof(HubCrawl.Browser.AppCluster)) { HubCrawl.Browser.AppCluster cluster = (HubCrawl.Browser.AppCluster)t.InvokeMember(null, BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null); ExecuteApp(cluster, AppType.Browser); break; } } }
protected void ExecuteApp(HubCrawlApp app) { if (AppExecuter != null) { AppExecuter.ExecuteApp(app); } else { System.Windows.MessageBox.Show("Executer is Null"); } }
public override System.Windows.DataTemplate SelectTemplate(object item, System.Windows.DependencyObject container) { FrameworkElement element = container as FrameworkElement; if (element != null && item != null && item is HubCrawlApp) { HubCrawlApp appItem = item as HubCrawlApp; switch (appItem.TileType) { case HubCrawl.Core.Apps.HubCrawlAppTileType.Single: return(element.FindResource("SingleHubCrawlApp") as DataTemplate); case HubCrawl.Core.Apps.HubCrawlAppTileType.Double: return(element.FindResource("DoubleHubCrawlApp") as DataTemplate); case HubCrawl.Core.Apps.HubCrawlAppTileType.Quadruple: return(element.FindResource("QuadrupleHubCrawlApp") as DataTemplate); default: break; } } return(base.SelectTemplate(item, container)); }
public HubCrawlAppEventArgs(HubCrawlApp app = null) { this.App = app; }