public static T add_IIS_Viewer <T>(this API_IIS7 iis7, T control) where T : Control { var site_WebBrowser = control.add_GroupBox("Selected Site: Web view").add_WebBrowser_Control(); var sites_TreeView = site_WebBrowser.parent().insert_Left(200, "IIS Websites").add_TreeView(); var site_PropertyGrid = sites_TreeView.insert_Below(150).add_PropertyGrid().helpVisible(false); var site_Options = sites_TreeView.insert_Below(50, "Options"); var site_folderViewer = site_WebBrowser.parent().insert_Below("Selected Site: File System View").add_FolderViewer(); var site_Logs = site_folderViewer.parent().parent().insert_Right("Seleted Site: Logs").add_FolderViewer(); site_WebBrowser.add_NavigationBar(); //bug: this is currently being enforeced on all websites //site_Options.add_Link("Allow Directory Browsing (globally)", 0 ,0, ()=> iis7.config(iis7.CurrentSite).directoryBrowse().value("enabled")); site_Options.add_CheckBox("Directory Browse on all websites", 0, 0, (value) => { iis7.value(iis7.config(iis7.websites()[0]).directoryBrowse(), "enabled", value); }).@checked(iis7.config(iis7.websites()[0]).directoryBrowse().value <bool>("enabled")) .autoSize(); sites_TreeView.afterSelect <object>( (item) => site_PropertyGrid.show(item)); sites_TreeView.afterSelect <Site>( (site) => { iis7.CurrentSite = site; site_WebBrowser.open(site.url()); site_folderViewer.open(site.rootFolder()); site_Logs.open(site.logFolder()); }); site_folderViewer.FolderView.afterSelect <string>( (fileOrFolder) => { var url = "{0}{1}".format(iis7.CurrentSite.url(), site_folderViewer.virtualPath(fileOrFolder)); "Showing Url:{0}".info(url); site_WebBrowser.open(url); //var virtualPath = fileOrFolder.remove( }); iis7.show_IIS_Websites(sites_TreeView); sites_TreeView.afterSelect <VirtualDirectory>( (virtualDirectory) => { var url = "{0}{1}".format(iis7.CurrentSite.url(), virtualDirectory.Path); "Showing Virtual Directory that is mapped to path:{0}".info(url); site_WebBrowser.open(url); }); sites_TreeView.afterSelect <Microsoft.Web.Administration.Application>( (application) => { var url = "{0}{1}".format(iis7.CurrentSite.url(), application.Path); "Showing Application that is mapped to path:{0}".info(url); site_WebBrowser.open(url); }); sites_TreeView.add_ContextMenu().add_MenuItem("Refresh", () => iis7.show_IIS_Websites(sites_TreeView)); return(control); }
public static Configuration config(this API_IIS7 iis7, string siteName) { return(iis7.config(iis7.website(siteName))); }