diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/HeliconZooProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/HeliconZooProxy.cs index 72272bb0..0f17cc27 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/HeliconZooProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/HeliconZooProxy.cs @@ -29,19 +29,18 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.5456 +// Runtime Version:2.0.50727.5466 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ +using WebsitePanel.Providers.HeliconZoo; + // // This source code was auto-generated by wsdl, Version=2.0.50727.42. // - -using WebsitePanel.Providers.HeliconZoo; - namespace WebsitePanel.EnterpriseServer { using System.Xml.Serialization; using System.Web.Services; @@ -72,9 +71,13 @@ namespace WebsitePanel.EnterpriseServer { private System.Threading.SendOrPostCallback SetEnabledEnginesForSiteOperationCompleted; + private System.Threading.SendOrPostCallback IsWebCosoleEnabledOperationCompleted; + + private System.Threading.SendOrPostCallback SetWebCosoleEnabledOperationCompleted; + /// public esHeliconZoo() { - this.Url = "http://localhost:9005/esHeliconZoo.asmx"; + this.Url = "http://localhost:9002/esHeliconZoo.asmx"; } /// @@ -98,6 +101,12 @@ namespace WebsitePanel.EnterpriseServer { /// public event SetEnabledEnginesForSiteCompletedEventHandler SetEnabledEnginesForSiteCompleted; + /// + public event IsWebCosoleEnabledCompletedEventHandler IsWebCosoleEnabledCompleted; + + /// + public event SetWebCosoleEnabledCompletedEventHandler SetWebCosoleEnabledCompleted; + /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetEngines", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public HeliconZooEngine[] GetEngines(int serviceId) { @@ -395,6 +404,89 @@ namespace WebsitePanel.EnterpriseServer { } } + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/IsWebCosoleEnabled", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public bool IsWebCosoleEnabled(int serviceId) { + object[] results = this.Invoke("IsWebCosoleEnabled", new object[] { + serviceId}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginIsWebCosoleEnabled(int serviceId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("IsWebCosoleEnabled", new object[] { + serviceId}, callback, asyncState); + } + + /// + public bool EndIsWebCosoleEnabled(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void IsWebCosoleEnabledAsync(int serviceId) { + this.IsWebCosoleEnabledAsync(serviceId, null); + } + + /// + public void IsWebCosoleEnabledAsync(int serviceId, object userState) { + if ((this.IsWebCosoleEnabledOperationCompleted == null)) { + this.IsWebCosoleEnabledOperationCompleted = new System.Threading.SendOrPostCallback(this.OnIsWebCosoleEnabledOperationCompleted); + } + this.InvokeAsync("IsWebCosoleEnabled", new object[] { + serviceId}, this.IsWebCosoleEnabledOperationCompleted, userState); + } + + private void OnIsWebCosoleEnabledOperationCompleted(object arg) { + if ((this.IsWebCosoleEnabledCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.IsWebCosoleEnabledCompleted(this, new IsWebCosoleEnabledCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetWebCosoleEnabled", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public void SetWebCosoleEnabled(int serviceId, bool enabled) { + this.Invoke("SetWebCosoleEnabled", new object[] { + serviceId, + enabled}); + } + + /// + public System.IAsyncResult BeginSetWebCosoleEnabled(int serviceId, bool enabled, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetWebCosoleEnabled", new object[] { + serviceId, + enabled}, callback, asyncState); + } + + /// + public void EndSetWebCosoleEnabled(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void SetWebCosoleEnabledAsync(int serviceId, bool enabled) { + this.SetWebCosoleEnabledAsync(serviceId, enabled, null); + } + + /// + public void SetWebCosoleEnabledAsync(int serviceId, bool enabled, object userState) { + if ((this.SetWebCosoleEnabledOperationCompleted == null)) { + this.SetWebCosoleEnabledOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetWebCosoleEnabledOperationCompleted); + } + this.InvokeAsync("SetWebCosoleEnabled", new object[] { + serviceId, + enabled}, this.SetWebCosoleEnabledOperationCompleted, userState); + } + + private void OnSetWebCosoleEnabledOperationCompleted(object arg) { + if ((this.SetWebCosoleEnabledCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetWebCosoleEnabledCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// public new void CancelAsync(object userState) { base.CancelAsync(userState); @@ -516,4 +608,34 @@ namespace WebsitePanel.EnterpriseServer { /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetEnabledEnginesForSiteCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void IsWebCosoleEnabledCompletedEventHandler(object sender, IsWebCosoleEnabledCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class IsWebCosoleEnabledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal IsWebCosoleEnabledCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public bool Result { + get { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetWebCosoleEnabledCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs index fefe8560..ca41633f 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/ServersProxy.cs @@ -26,10 +26,11 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.6387 +// Runtime Version:2.0.50727.5466 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -37,7 +38,7 @@ //------------------------------------------------------------------------------ // -// This source code was auto-generated by wsdl, Version=2.0.50727.3038. +// This source code was auto-generated by wsdl, Version=2.0.50727.42. // namespace WebsitePanel.EnterpriseServer { using System.Xml.Serialization; @@ -47,8 +48,6 @@ namespace WebsitePanel.EnterpriseServer { using System; using System.Diagnostics; using System.Data; - - using WebsitePanel.Providers; using WebsitePanel.Providers.Common; using WebsitePanel.Server; @@ -58,7 +57,7 @@ namespace WebsitePanel.EnterpriseServer { /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name="esServersSoap", Namespace="http://smbsaas/websitepanel/enterpriseserver")] @@ -268,6 +267,8 @@ namespace WebsitePanel.EnterpriseServer { private System.Threading.SendOrPostCallback GetWPIProductsFilteredOperationCompleted; + private System.Threading.SendOrPostCallback GetWPIProductByIdOperationCompleted; + private System.Threading.SendOrPostCallback GetWPIProductsWithDependenciesOperationCompleted; private System.Threading.SendOrPostCallback InstallWPIProductsOperationCompleted; @@ -605,6 +606,9 @@ namespace WebsitePanel.EnterpriseServer { /// public event GetWPIProductsFilteredCompletedEventHandler GetWPIProductsFilteredCompleted; + /// + public event GetWPIProductByIdCompletedEventHandler GetWPIProductByIdCompleted; + /// public event GetWPIProductsWithDependenciesCompletedEventHandler GetWPIProductsWithDependenciesCompleted; @@ -5104,6 +5108,50 @@ namespace WebsitePanel.EnterpriseServer { } } + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetWPIProductById", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public WPIProduct GetWPIProductById(int serverId, string productdId) { + object[] results = this.Invoke("GetWPIProductById", new object[] { + serverId, + productdId}); + return ((WPIProduct)(results[0])); + } + + /// + public System.IAsyncResult BeginGetWPIProductById(int serverId, string productdId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetWPIProductById", new object[] { + serverId, + productdId}, callback, asyncState); + } + + /// + public WPIProduct EndGetWPIProductById(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((WPIProduct)(results[0])); + } + + /// + public void GetWPIProductByIdAsync(int serverId, string productdId) { + this.GetWPIProductByIdAsync(serverId, productdId, null); + } + + /// + public void GetWPIProductByIdAsync(int serverId, string productdId, object userState) { + if ((this.GetWPIProductByIdOperationCompleted == null)) { + this.GetWPIProductByIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetWPIProductByIdOperationCompleted); + } + this.InvokeAsync("GetWPIProductById", new object[] { + serverId, + productdId}, this.GetWPIProductByIdOperationCompleted, userState); + } + + private void OnGetWPIProductByIdOperationCompleted(object arg) { + if ((this.GetWPIProductByIdCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetWPIProductByIdCompleted(this, new GetWPIProductByIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetWPIProductsWithDependencies", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public WPIProduct[] GetWPIProductsWithDependencies(int serverId, string[] products) { @@ -5670,11 +5718,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetAllServersCompletedEventHandler(object sender, GetAllServersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetAllServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5696,11 +5744,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawAllServersCompletedEventHandler(object sender, GetRawAllServersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetRawAllServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5722,11 +5770,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServersCompletedEventHandler(object sender, GetServersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5748,11 +5796,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawServersCompletedEventHandler(object sender, GetRawServersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetRawServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5774,11 +5822,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServerShortDetailsCompletedEventHandler(object sender, GetServerShortDetailsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetServerShortDetailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5800,11 +5848,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServerByIdCompletedEventHandler(object sender, GetServerByIdCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetServerByIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5826,11 +5874,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServerByNameCompletedEventHandler(object sender, GetServerByNameCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetServerByNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5852,11 +5900,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CheckServerAvailableCompletedEventHandler(object sender, CheckServerAvailableCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CheckServerAvailableCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5878,11 +5926,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddServerCompletedEventHandler(object sender, AddServerCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5904,11 +5952,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateServerCompletedEventHandler(object sender, UpdateServerCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5930,11 +5978,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateServerConnectionPasswordCompletedEventHandler(object sender, UpdateServerConnectionPasswordCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateServerConnectionPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5956,11 +6004,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateServerADPasswordCompletedEventHandler(object sender, UpdateServerADPasswordCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateServerADPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5982,11 +6030,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteServerCompletedEventHandler(object sender, DeleteServerCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6008,11 +6056,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetVirtualServersCompletedEventHandler(object sender, GetVirtualServersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetVirtualServersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6034,11 +6082,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetAvailableVirtualServicesCompletedEventHandler(object sender, GetAvailableVirtualServicesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetAvailableVirtualServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6060,11 +6108,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetVirtualServicesCompletedEventHandler(object sender, GetVirtualServicesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetVirtualServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6086,11 +6134,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddVirtualServicesCompletedEventHandler(object sender, AddVirtualServicesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddVirtualServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6112,11 +6160,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteVirtualServicesCompletedEventHandler(object sender, DeleteVirtualServicesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteVirtualServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6138,11 +6186,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateVirtualGroupsCompletedEventHandler(object sender, UpdateVirtualGroupsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateVirtualGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6164,11 +6212,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawServicesByServerIdCompletedEventHandler(object sender, GetRawServicesByServerIdCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetRawServicesByServerIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6190,11 +6238,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServicesByServerIdCompletedEventHandler(object sender, GetServicesByServerIdCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetServicesByServerIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6216,11 +6264,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServicesByServerIdGroupNameCompletedEventHandler(object sender, GetServicesByServerIdGroupNameCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetServicesByServerIdGroupNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6242,11 +6290,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawServicesByGroupIdCompletedEventHandler(object sender, GetRawServicesByGroupIdCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetRawServicesByGroupIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6268,11 +6316,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawServicesByGroupNameCompletedEventHandler(object sender, GetRawServicesByGroupNameCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetRawServicesByGroupNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6294,11 +6342,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServiceInfoCompletedEventHandler(object sender, GetServiceInfoCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetServiceInfoCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6320,11 +6368,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddServiceCompletedEventHandler(object sender, AddServiceCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6346,11 +6394,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateServiceCompletedEventHandler(object sender, UpdateServiceCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6372,11 +6420,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteServiceCompletedEventHandler(object sender, DeleteServiceCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6398,11 +6446,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServiceSettingsCompletedEventHandler(object sender, GetServiceSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetServiceSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6424,11 +6472,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateServiceSettingsCompletedEventHandler(object sender, UpdateServiceSettingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateServiceSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6450,11 +6498,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InstallServiceCompletedEventHandler(object sender, InstallServiceCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class InstallServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6476,11 +6524,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetProviderServiceQuotaCompletedEventHandler(object sender, GetProviderServiceQuotaCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetProviderServiceQuotaCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6502,11 +6550,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetInstalledProvidersCompletedEventHandler(object sender, GetInstalledProvidersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetInstalledProvidersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6528,11 +6576,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetResourceGroupsCompletedEventHandler(object sender, GetResourceGroupsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetResourceGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6554,11 +6602,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetResourceGroupCompletedEventHandler(object sender, GetResourceGroupCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetResourceGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6580,11 +6628,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetProviderCompletedEventHandler(object sender, GetProviderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetProviderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6606,11 +6654,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetProvidersCompletedEventHandler(object sender, GetProvidersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetProvidersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6632,11 +6680,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetProvidersByGroupIdCompletedEventHandler(object sender, GetProvidersByGroupIdCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetProvidersByGroupIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6658,11 +6706,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPackageServiceProviderCompletedEventHandler(object sender, GetPackageServiceProviderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetPackageServiceProviderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6684,11 +6732,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void IsInstalledCompletedEventHandler(object sender, IsInstalledCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class IsInstalledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6710,11 +6758,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetServerVersionCompletedEventHandler(object sender, GetServerVersionCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetServerVersionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6736,11 +6784,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetIPAddressesCompletedEventHandler(object sender, GetIPAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6762,11 +6810,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetIPAddressesPagedCompletedEventHandler(object sender, GetIPAddressesPagedCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetIPAddressesPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6788,11 +6836,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetIPAddressCompletedEventHandler(object sender, GetIPAddressCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6814,11 +6862,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddIPAddressCompletedEventHandler(object sender, AddIPAddressCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6840,11 +6888,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddIPAddressesRangeCompletedEventHandler(object sender, AddIPAddressesRangeCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddIPAddressesRangeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6866,11 +6914,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateIPAddressCompletedEventHandler(object sender, UpdateIPAddressCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6892,11 +6940,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateIPAddressesCompletedEventHandler(object sender, UpdateIPAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6918,11 +6966,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteIPAddressCompletedEventHandler(object sender, DeleteIPAddressCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteIPAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6944,11 +6992,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteIPAddressesCompletedEventHandler(object sender, DeleteIPAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6970,11 +7018,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetUnallottedIPAddressesCompletedEventHandler(object sender, GetUnallottedIPAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetUnallottedIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6996,11 +7044,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPackageIPAddressesCompletedEventHandler(object sender, GetPackageIPAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetPackageIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7022,11 +7070,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPackageUnassignedIPAddressesCompletedEventHandler(object sender, GetPackageUnassignedIPAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetPackageUnassignedIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7048,11 +7096,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AllocatePackageIPAddressesCompletedEventHandler(object sender, AllocatePackageIPAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AllocatePackageIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7074,11 +7122,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AllocateMaximumPackageIPAddressesCompletedEventHandler(object sender, AllocateMaximumPackageIPAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AllocateMaximumPackageIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7100,11 +7148,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeallocatePackageIPAddressesCompletedEventHandler(object sender, DeallocatePackageIPAddressesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeallocatePackageIPAddressesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7126,11 +7174,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetClustersCompletedEventHandler(object sender, GetClustersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetClustersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7152,11 +7200,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddClusterCompletedEventHandler(object sender, AddClusterCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddClusterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7178,11 +7226,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteClusterCompletedEventHandler(object sender, DeleteClusterCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteClusterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7204,11 +7252,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawDnsRecordsByServiceCompletedEventHandler(object sender, GetRawDnsRecordsByServiceCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetRawDnsRecordsByServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7230,11 +7278,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawDnsRecordsByServerCompletedEventHandler(object sender, GetRawDnsRecordsByServerCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetRawDnsRecordsByServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7256,11 +7304,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawDnsRecordsByPackageCompletedEventHandler(object sender, GetRawDnsRecordsByPackageCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetRawDnsRecordsByPackageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7282,11 +7330,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawDnsRecordsByGroupCompletedEventHandler(object sender, GetRawDnsRecordsByGroupCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetRawDnsRecordsByGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7308,11 +7356,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDnsRecordsByServiceCompletedEventHandler(object sender, GetDnsRecordsByServiceCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDnsRecordsByServiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7334,11 +7382,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDnsRecordsByServerCompletedEventHandler(object sender, GetDnsRecordsByServerCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDnsRecordsByServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7360,11 +7408,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDnsRecordsByPackageCompletedEventHandler(object sender, GetDnsRecordsByPackageCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDnsRecordsByPackageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7386,11 +7434,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDnsRecordsByGroupCompletedEventHandler(object sender, GetDnsRecordsByGroupCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDnsRecordsByGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7412,11 +7460,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDnsRecordCompletedEventHandler(object sender, GetDnsRecordCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDnsRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7438,11 +7486,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddDnsRecordCompletedEventHandler(object sender, AddDnsRecordCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddDnsRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7464,11 +7512,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateDnsRecordCompletedEventHandler(object sender, UpdateDnsRecordCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateDnsRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7490,11 +7538,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteDnsRecordCompletedEventHandler(object sender, DeleteDnsRecordCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteDnsRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7516,11 +7564,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDomainsCompletedEventHandler(object sender, GetDomainsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7542,11 +7590,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDomainsByDomainIdCompletedEventHandler(object sender, GetDomainsByDomainIdCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDomainsByDomainIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7568,11 +7616,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetMyDomainsCompletedEventHandler(object sender, GetMyDomainsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetMyDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7594,11 +7642,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetResellerDomainsCompletedEventHandler(object sender, GetResellerDomainsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetResellerDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7620,11 +7668,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDomainsPagedCompletedEventHandler(object sender, GetDomainsPagedCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDomainsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7646,11 +7694,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDomainCompletedEventHandler(object sender, GetDomainCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7672,11 +7720,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddDomainCompletedEventHandler(object sender, AddDomainCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7698,11 +7746,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddDomainWithProvisioningCompletedEventHandler(object sender, AddDomainWithProvisioningCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddDomainWithProvisioningCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7724,11 +7772,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateDomainCompletedEventHandler(object sender, UpdateDomainCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7750,11 +7798,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteDomainCompletedEventHandler(object sender, DeleteDomainCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7776,11 +7824,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DetachDomainCompletedEventHandler(object sender, DetachDomainCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DetachDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7802,11 +7850,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void EnableDomainDnsCompletedEventHandler(object sender, EnableDomainDnsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class EnableDomainDnsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7828,11 +7876,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DisableDomainDnsCompletedEventHandler(object sender, DisableDomainDnsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DisableDomainDnsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7854,11 +7902,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateDomainInstantAliasCompletedEventHandler(object sender, CreateDomainInstantAliasCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CreateDomainInstantAliasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7880,11 +7928,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteDomainInstantAliasCompletedEventHandler(object sender, DeleteDomainInstantAliasCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteDomainInstantAliasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7906,11 +7954,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetDnsZoneRecordsCompletedEventHandler(object sender, GetDnsZoneRecordsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetDnsZoneRecordsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7932,11 +7980,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawDnsZoneRecordsCompletedEventHandler(object sender, GetRawDnsZoneRecordsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetRawDnsZoneRecordsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7958,11 +8006,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddDnsZoneRecordCompletedEventHandler(object sender, AddDnsZoneRecordCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddDnsZoneRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -7984,11 +8032,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateDnsZoneRecordCompletedEventHandler(object sender, UpdateDnsZoneRecordCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateDnsZoneRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8010,11 +8058,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteDnsZoneRecordCompletedEventHandler(object sender, DeleteDnsZoneRecordCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteDnsZoneRecordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8036,11 +8084,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetTerminalServicesSessionsCompletedEventHandler(object sender, GetTerminalServicesSessionsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetTerminalServicesSessionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8062,11 +8110,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CloseTerminalServicesSessionCompletedEventHandler(object sender, CloseTerminalServicesSessionCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CloseTerminalServicesSessionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8088,11 +8136,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWindowsProcessesCompletedEventHandler(object sender, GetWindowsProcessesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetWindowsProcessesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8114,11 +8162,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void TerminateWindowsProcessCompletedEventHandler(object sender, TerminateWindowsProcessCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class TerminateWindowsProcessCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8140,11 +8188,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CheckLoadUserProfileCompletedEventHandler(object sender, CheckLoadUserProfileCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CheckLoadUserProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8166,19 +8214,19 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void EnableLoadUserProfileCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InitWPIFeedsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWPITabsCompletedEventHandler(object sender, GetWPITabsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetWPITabsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8200,11 +8248,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWPIKeywordsCompletedEventHandler(object sender, GetWPIKeywordsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetWPIKeywordsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8226,11 +8274,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWPIProductsCompletedEventHandler(object sender, GetWPIProductsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetWPIProductsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8252,11 +8300,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWPIProductsFilteredCompletedEventHandler(object sender, GetWPIProductsFilteredCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetWPIProductsFilteredCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8278,11 +8326,37 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetWPIProductByIdCompletedEventHandler(object sender, GetWPIProductByIdCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetWPIProductByIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetWPIProductByIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public WPIProduct Result { + get { + this.RaiseExceptionIfNecessary(); + return ((WPIProduct)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWPIProductsWithDependenciesCompletedEventHandler(object sender, GetWPIProductsWithDependenciesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetWPIProductsWithDependenciesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8304,19 +8378,19 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InstallWPIProductsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CancelInstallWPIProductsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWPIStatusCompletedEventHandler(object sender, GetWPIStatusCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetWPIStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8338,11 +8412,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void WpiGetLogFileDirectoryCompletedEventHandler(object sender, WpiGetLogFileDirectoryCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class WpiGetLogFileDirectoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8364,11 +8438,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void WpiGetLogsInDirectoryCompletedEventHandler(object sender, WpiGetLogsInDirectoryCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class WpiGetLogsInDirectoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8390,11 +8464,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWindowsServicesCompletedEventHandler(object sender, GetWindowsServicesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetWindowsServicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8416,11 +8490,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ChangeWindowsServiceStatusCompletedEventHandler(object sender, ChangeWindowsServiceStatusCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ChangeWindowsServiceStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8442,11 +8516,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetLogNamesCompletedEventHandler(object sender, GetLogNamesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetLogNamesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8468,11 +8542,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetLogEntriesCompletedEventHandler(object sender, GetLogEntriesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetLogEntriesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8494,11 +8568,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetLogEntriesPagedCompletedEventHandler(object sender, GetLogEntriesPagedCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetLogEntriesPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8520,11 +8594,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ClearLogCompletedEventHandler(object sender, ClearLogCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ClearLogCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -8546,11 +8620,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void RebootSystemCompletedEventHandler(object sender, RebootSystemCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class RebootSystemCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebServersProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebServersProxy.cs index bb40f65f..c6c29465 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebServersProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebServersProxy.cs @@ -29,7 +29,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.6387 +// Runtime Version:2.0.50727.5466 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -37,7 +37,7 @@ //------------------------------------------------------------------------------ // -// This source code was auto-generated by wsdl, Version=2.0.50727.3038. +// This source code was auto-generated by wsdl, Version=2.0.50727.42. // namespace WebsitePanel.EnterpriseServer { using System.Xml.Serialization; @@ -47,15 +47,14 @@ namespace WebsitePanel.EnterpriseServer { using System; using System.Diagnostics; using System.Data; - - using WebsitePanel.Providers; + using WebsitePanel.Providers; using WebsitePanel.Providers.Common; using WebsitePanel.Providers.Web; using WebsitePanel.Providers.ResultObjects; /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name="esWebServersSoap", Namespace="http://smbsaas/websitepanel/enterpriseserver")] @@ -104,6 +103,10 @@ namespace WebsitePanel.EnterpriseServer { private System.Threading.SendOrPostCallback ChangeSiteStateOperationCompleted; + private System.Threading.SendOrPostCallback ChangeAppPoolStateOperationCompleted; + + private System.Threading.SendOrPostCallback GetAppPoolStateOperationCompleted; + private System.Threading.SendOrPostCallback GetSharedSSLDomainsOperationCompleted; private System.Threading.SendOrPostCallback GetRawSSLFoldersPagedOperationCompleted; @@ -196,6 +199,14 @@ namespace WebsitePanel.EnterpriseServer { private System.Threading.SendOrPostCallback DeleteHeliconApeGroupOperationCompleted; + private System.Threading.SendOrPostCallback GetZooApplicationsOperationCompleted; + + private System.Threading.SendOrPostCallback SetZooEnvironmentVariableOperationCompleted; + + private System.Threading.SendOrPostCallback SetZooConsoleEnabledOperationCompleted; + + private System.Threading.SendOrPostCallback SetZooConsoleDisabledOperationCompleted; + private System.Threading.SendOrPostCallback GrantWebManagementAccessOperationCompleted; private System.Threading.SendOrPostCallback RevokeWebManagementAccessOperationCompleted; @@ -298,6 +309,12 @@ namespace WebsitePanel.EnterpriseServer { /// public event ChangeSiteStateCompletedEventHandler ChangeSiteStateCompleted; + /// + public event ChangeAppPoolStateCompletedEventHandler ChangeAppPoolStateCompleted; + + /// + public event GetAppPoolStateCompletedEventHandler GetAppPoolStateCompleted; + /// public event GetSharedSSLDomainsCompletedEventHandler GetSharedSSLDomainsCompleted; @@ -436,6 +453,18 @@ namespace WebsitePanel.EnterpriseServer { /// public event DeleteHeliconApeGroupCompletedEventHandler DeleteHeliconApeGroupCompleted; + /// + public event GetZooApplicationsCompletedEventHandler GetZooApplicationsCompleted; + + /// + public event SetZooEnvironmentVariableCompletedEventHandler SetZooEnvironmentVariableCompleted; + + /// + public event SetZooConsoleEnabledCompletedEventHandler SetZooConsoleEnabledCompleted; + + /// + public event SetZooConsoleDisabledCompletedEventHandler SetZooConsoleDisabledCompleted; + /// public event GrantWebManagementAccessCompletedEventHandler GrantWebManagementAccessCompleted; @@ -1208,8 +1237,7 @@ namespace WebsitePanel.EnterpriseServer { /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/DeleteWebSite", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public int DeleteWebSite(int siteItemId, bool deleteWebsiteDirectory) - { + public int DeleteWebSite(int siteItemId, bool deleteWebsiteDirectory) { object[] results = this.Invoke("DeleteWebSite", new object[] { siteItemId, deleteWebsiteDirectory}); @@ -1217,9 +1245,10 @@ namespace WebsitePanel.EnterpriseServer { } /// - public System.IAsyncResult BeginDeleteWebSite(int siteItemId, System.AsyncCallback callback, object asyncState) { + public System.IAsyncResult BeginDeleteWebSite(int siteItemId, bool deleteWebsiteDirectory, System.AsyncCallback callback, object asyncState) { return this.BeginInvoke("DeleteWebSite", new object[] { - siteItemId}, callback, asyncState); + siteItemId, + deleteWebsiteDirectory}, callback, asyncState); } /// @@ -1229,17 +1258,18 @@ namespace WebsitePanel.EnterpriseServer { } /// - public void DeleteWebSiteAsync(int siteItemId) { - this.DeleteWebSiteAsync(siteItemId, null); + public void DeleteWebSiteAsync(int siteItemId, bool deleteWebsiteDirectory) { + this.DeleteWebSiteAsync(siteItemId, deleteWebsiteDirectory, null); } /// - public void DeleteWebSiteAsync(int siteItemId, object userState) { + public void DeleteWebSiteAsync(int siteItemId, bool deleteWebsiteDirectory, object userState) { if ((this.DeleteWebSiteOperationCompleted == null)) { this.DeleteWebSiteOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteWebSiteOperationCompleted); } this.InvokeAsync("DeleteWebSite", new object[] { - siteItemId}, this.DeleteWebSiteOperationCompleted, userState); + siteItemId, + deleteWebsiteDirectory}, this.DeleteWebSiteOperationCompleted, userState); } private void OnDeleteWebSiteOperationCompleted(object arg) { @@ -1421,27 +1451,91 @@ namespace WebsitePanel.EnterpriseServer { this.ChangeSiteStateCompleted(this, new ChangeSiteStateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/ChangeAppPoolState", RequestNamespace = "http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace = "http://smbsaas/websitepanel/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public int ChangeAppPoolState(int siteItemId, AppPoolState state) - { + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/ChangeAppPoolState", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int ChangeAppPoolState(int siteItemId, AppPoolState state) { object[] results = this.Invoke("ChangeAppPoolState", new object[] { siteItemId, state}); return ((int)(results[0])); } - + /// - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetAppPoolState", RequestNamespace = "http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace = "http://smbsaas/websitepanel/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public AppPoolState GetAppPoolState(int siteItemId) - { + public System.IAsyncResult BeginChangeAppPoolState(int siteItemId, AppPoolState state, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("ChangeAppPoolState", new object[] { + siteItemId, + state}, callback, asyncState); + } + + /// + public int EndChangeAppPoolState(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void ChangeAppPoolStateAsync(int siteItemId, AppPoolState state) { + this.ChangeAppPoolStateAsync(siteItemId, state, null); + } + + /// + public void ChangeAppPoolStateAsync(int siteItemId, AppPoolState state, object userState) { + if ((this.ChangeAppPoolStateOperationCompleted == null)) { + this.ChangeAppPoolStateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeAppPoolStateOperationCompleted); + } + this.InvokeAsync("ChangeAppPoolState", new object[] { + siteItemId, + state}, this.ChangeAppPoolStateOperationCompleted, userState); + } + + private void OnChangeAppPoolStateOperationCompleted(object arg) { + if ((this.ChangeAppPoolStateCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.ChangeAppPoolStateCompleted(this, new ChangeAppPoolStateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetAppPoolState", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public AppPoolState GetAppPoolState(int siteItemId) { object[] results = this.Invoke("GetAppPoolState", new object[] { - siteItemId - }); + siteItemId}); return ((AppPoolState)(results[0])); } - + + /// + public System.IAsyncResult BeginGetAppPoolState(int siteItemId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetAppPoolState", new object[] { + siteItemId}, callback, asyncState); + } + + /// + public AppPoolState EndGetAppPoolState(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((AppPoolState)(results[0])); + } + + /// + public void GetAppPoolStateAsync(int siteItemId) { + this.GetAppPoolStateAsync(siteItemId, null); + } + + /// + public void GetAppPoolStateAsync(int siteItemId, object userState) { + if ((this.GetAppPoolStateOperationCompleted == null)) { + this.GetAppPoolStateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAppPoolStateOperationCompleted); + } + this.InvokeAsync("GetAppPoolState", new object[] { + siteItemId}, this.GetAppPoolStateOperationCompleted, userState); + } + + private void OnGetAppPoolStateOperationCompleted(object arg) { + if ((this.GetAppPoolStateCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetAppPoolStateCompleted(this, new GetAppPoolStateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetSharedSSLDomains", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] @@ -3424,6 +3518,185 @@ namespace WebsitePanel.EnterpriseServer { } } + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetZooApplications", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public WebVirtualDirectory[] GetZooApplications(int siteItemId) { + object[] results = this.Invoke("GetZooApplications", new object[] { + siteItemId}); + return ((WebVirtualDirectory[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetZooApplications(int siteItemId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetZooApplications", new object[] { + siteItemId}, callback, asyncState); + } + + /// + public WebVirtualDirectory[] EndGetZooApplications(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((WebVirtualDirectory[])(results[0])); + } + + /// + public void GetZooApplicationsAsync(int siteItemId) { + this.GetZooApplicationsAsync(siteItemId, null); + } + + /// + public void GetZooApplicationsAsync(int siteItemId, object userState) { + if ((this.GetZooApplicationsOperationCompleted == null)) { + this.GetZooApplicationsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetZooApplicationsOperationCompleted); + } + this.InvokeAsync("GetZooApplications", new object[] { + siteItemId}, this.GetZooApplicationsOperationCompleted, userState); + } + + private void OnGetZooApplicationsOperationCompleted(object arg) { + if ((this.GetZooApplicationsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetZooApplicationsCompleted(this, new GetZooApplicationsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetZooEnvironmentVariable", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public StringResultObject SetZooEnvironmentVariable(int siteItemId, string appName, string envName, string envValue) { + object[] results = this.Invoke("SetZooEnvironmentVariable", new object[] { + siteItemId, + appName, + envName, + envValue}); + return ((StringResultObject)(results[0])); + } + + /// + public System.IAsyncResult BeginSetZooEnvironmentVariable(int siteItemId, string appName, string envName, string envValue, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetZooEnvironmentVariable", new object[] { + siteItemId, + appName, + envName, + envValue}, callback, asyncState); + } + + /// + public StringResultObject EndSetZooEnvironmentVariable(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((StringResultObject)(results[0])); + } + + /// + public void SetZooEnvironmentVariableAsync(int siteItemId, string appName, string envName, string envValue) { + this.SetZooEnvironmentVariableAsync(siteItemId, appName, envName, envValue, null); + } + + /// + public void SetZooEnvironmentVariableAsync(int siteItemId, string appName, string envName, string envValue, object userState) { + if ((this.SetZooEnvironmentVariableOperationCompleted == null)) { + this.SetZooEnvironmentVariableOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetZooEnvironmentVariableOperationCompleted); + } + this.InvokeAsync("SetZooEnvironmentVariable", new object[] { + siteItemId, + appName, + envName, + envValue}, this.SetZooEnvironmentVariableOperationCompleted, userState); + } + + private void OnSetZooEnvironmentVariableOperationCompleted(object arg) { + if ((this.SetZooEnvironmentVariableCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetZooEnvironmentVariableCompleted(this, new SetZooEnvironmentVariableCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetZooConsoleEnabled", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public StringResultObject SetZooConsoleEnabled(int siteItemId, string appName) { + object[] results = this.Invoke("SetZooConsoleEnabled", new object[] { + siteItemId, + appName}); + return ((StringResultObject)(results[0])); + } + + /// + public System.IAsyncResult BeginSetZooConsoleEnabled(int siteItemId, string appName, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetZooConsoleEnabled", new object[] { + siteItemId, + appName}, callback, asyncState); + } + + /// + public StringResultObject EndSetZooConsoleEnabled(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((StringResultObject)(results[0])); + } + + /// + public void SetZooConsoleEnabledAsync(int siteItemId, string appName) { + this.SetZooConsoleEnabledAsync(siteItemId, appName, null); + } + + /// + public void SetZooConsoleEnabledAsync(int siteItemId, string appName, object userState) { + if ((this.SetZooConsoleEnabledOperationCompleted == null)) { + this.SetZooConsoleEnabledOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetZooConsoleEnabledOperationCompleted); + } + this.InvokeAsync("SetZooConsoleEnabled", new object[] { + siteItemId, + appName}, this.SetZooConsoleEnabledOperationCompleted, userState); + } + + private void OnSetZooConsoleEnabledOperationCompleted(object arg) { + if ((this.SetZooConsoleEnabledCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetZooConsoleEnabledCompleted(this, new SetZooConsoleEnabledCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetZooConsoleDisabled", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public StringResultObject SetZooConsoleDisabled(int siteItemId, string appName) { + object[] results = this.Invoke("SetZooConsoleDisabled", new object[] { + siteItemId, + appName}); + return ((StringResultObject)(results[0])); + } + + /// + public System.IAsyncResult BeginSetZooConsoleDisabled(int siteItemId, string appName, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetZooConsoleDisabled", new object[] { + siteItemId, + appName}, callback, asyncState); + } + + /// + public StringResultObject EndSetZooConsoleDisabled(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((StringResultObject)(results[0])); + } + + /// + public void SetZooConsoleDisabledAsync(int siteItemId, string appName) { + this.SetZooConsoleDisabledAsync(siteItemId, appName, null); + } + + /// + public void SetZooConsoleDisabledAsync(int siteItemId, string appName, object userState) { + if ((this.SetZooConsoleDisabledOperationCompleted == null)) { + this.SetZooConsoleDisabledOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetZooConsoleDisabledOperationCompleted); + } + this.InvokeAsync("SetZooConsoleDisabled", new object[] { + siteItemId, + appName}, this.SetZooConsoleDisabledOperationCompleted, userState); + } + + private void OnSetZooConsoleDisabledOperationCompleted(object arg) { + if ((this.SetZooConsoleDisabledCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetZooConsoleDisabledCompleted(this, new SetZooConsoleDisabledCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GrantWebManagementAccess", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public ResultObject GrantWebManagementAccess(int siteItemId, string accountName, string accountPassword) { @@ -4166,11 +4439,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawWebSitesPagedCompletedEventHandler(object sender, GetRawWebSitesPagedCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetRawWebSitesPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4192,11 +4465,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWebSitesCompletedEventHandler(object sender, GetWebSitesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetWebSitesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4218,11 +4491,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWebSiteCompletedEventHandler(object sender, GetWebSiteCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetWebSiteCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4244,11 +4517,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetVirtualDirectoriesCompletedEventHandler(object sender, GetVirtualDirectoriesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetVirtualDirectoriesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4270,11 +4543,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetVirtualDirectoryCompletedEventHandler(object sender, GetVirtualDirectoryCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetVirtualDirectoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4296,11 +4569,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWebSitePointersCompletedEventHandler(object sender, GetWebSitePointersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetWebSitePointersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4322,11 +4595,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddWebSitePointerCompletedEventHandler(object sender, AddWebSitePointerCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddWebSitePointerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4348,11 +4621,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteWebSitePointerCompletedEventHandler(object sender, DeleteWebSitePointerCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteWebSitePointerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4374,11 +4647,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddWebSiteCompletedEventHandler(object sender, AddWebSiteCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddWebSiteCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4400,11 +4673,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddVirtualDirectoryCompletedEventHandler(object sender, AddVirtualDirectoryCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddVirtualDirectoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4426,11 +4699,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateWebSiteCompletedEventHandler(object sender, UpdateWebSiteCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateWebSiteCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4452,11 +4725,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InstallFrontPageCompletedEventHandler(object sender, InstallFrontPageCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class InstallFrontPageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4478,11 +4751,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UninstallFrontPageCompletedEventHandler(object sender, UninstallFrontPageCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UninstallFrontPageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4504,11 +4777,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ChangeFrontPagePasswordCompletedEventHandler(object sender, ChangeFrontPagePasswordCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ChangeFrontPagePasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4530,11 +4803,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void RepairWebSiteCompletedEventHandler(object sender, RepairWebSiteCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class RepairWebSiteCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4556,11 +4829,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateVirtualDirectoryCompletedEventHandler(object sender, UpdateVirtualDirectoryCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateVirtualDirectoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4582,11 +4855,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteWebSiteCompletedEventHandler(object sender, DeleteWebSiteCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteWebSiteCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4608,11 +4881,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SwitchWebSiteToDedicatedIPCompletedEventHandler(object sender, SwitchWebSiteToDedicatedIPCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class SwitchWebSiteToDedicatedIPCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4634,11 +4907,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SwitchWebSiteToSharedIPCompletedEventHandler(object sender, SwitchWebSiteToSharedIPCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class SwitchWebSiteToSharedIPCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4660,11 +4933,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteVirtualDirectoryCompletedEventHandler(object sender, DeleteVirtualDirectoryCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteVirtualDirectoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4686,11 +4959,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ChangeSiteStateCompletedEventHandler(object sender, ChangeSiteStateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ChangeSiteStateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4712,11 +4985,63 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void ChangeAppPoolStateCompletedEventHandler(object sender, ChangeAppPoolStateCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ChangeAppPoolStateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal ChangeAppPoolStateCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetAppPoolStateCompletedEventHandler(object sender, GetAppPoolStateCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetAppPoolStateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetAppPoolStateCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public AppPoolState Result { + get { + this.RaiseExceptionIfNecessary(); + return ((AppPoolState)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSharedSSLDomainsCompletedEventHandler(object sender, GetSharedSSLDomainsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSharedSSLDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4738,11 +5063,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetRawSSLFoldersPagedCompletedEventHandler(object sender, GetRawSSLFoldersPagedCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetRawSSLFoldersPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4764,11 +5089,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSharedSSLFoldersCompletedEventHandler(object sender, GetSharedSSLFoldersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSharedSSLFoldersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4790,11 +5115,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSharedSSLFolderCompletedEventHandler(object sender, GetSharedSSLFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSharedSSLFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4816,11 +5141,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void AddSharedSSLFolderCompletedEventHandler(object sender, AddSharedSSLFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class AddSharedSSLFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4842,11 +5167,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateSharedSSLFolderCompletedEventHandler(object sender, UpdateSharedSSLFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateSharedSSLFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4868,11 +5193,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteSharedSSLFolderCompletedEventHandler(object sender, DeleteSharedSSLFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteSharedSSLFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4894,11 +5219,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InstallSecuredFoldersCompletedEventHandler(object sender, InstallSecuredFoldersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class InstallSecuredFoldersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4920,11 +5245,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UninstallSecuredFoldersCompletedEventHandler(object sender, UninstallSecuredFoldersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UninstallSecuredFoldersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4946,11 +5271,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSecuredFoldersCompletedEventHandler(object sender, GetSecuredFoldersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSecuredFoldersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4972,11 +5297,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSecuredFolderCompletedEventHandler(object sender, GetSecuredFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSecuredFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4998,11 +5323,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateSecuredFolderCompletedEventHandler(object sender, UpdateSecuredFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateSecuredFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5024,11 +5349,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteSecuredFolderCompletedEventHandler(object sender, DeleteSecuredFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteSecuredFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5050,11 +5375,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSecuredUsersCompletedEventHandler(object sender, GetSecuredUsersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSecuredUsersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5076,11 +5401,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSecuredUserCompletedEventHandler(object sender, GetSecuredUserCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSecuredUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5102,11 +5427,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateSecuredUserCompletedEventHandler(object sender, UpdateSecuredUserCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateSecuredUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5128,11 +5453,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteSecuredUserCompletedEventHandler(object sender, DeleteSecuredUserCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteSecuredUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5154,11 +5479,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSecuredGroupsCompletedEventHandler(object sender, GetSecuredGroupsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSecuredGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5180,11 +5505,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSecuredGroupCompletedEventHandler(object sender, GetSecuredGroupCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSecuredGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5206,11 +5531,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateSecuredGroupCompletedEventHandler(object sender, UpdateSecuredGroupCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateSecuredGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5232,11 +5557,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteSecuredGroupCompletedEventHandler(object sender, DeleteSecuredGroupCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteSecuredGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5258,11 +5583,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GrantWebDeployPublishingAccessCompletedEventHandler(object sender, GrantWebDeployPublishingAccessCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GrantWebDeployPublishingAccessCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5284,11 +5609,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SaveWebDeployPublishingProfileCompletedEventHandler(object sender, SaveWebDeployPublishingProfileCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class SaveWebDeployPublishingProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5310,15 +5635,15 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void RevokeWebDeployPublishingAccessCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWebDeployPublishingProfileCompletedEventHandler(object sender, GetWebDeployPublishingProfileCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetWebDeployPublishingProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5340,11 +5665,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ChangeWebDeployPublishingPasswordCompletedEventHandler(object sender, ChangeWebDeployPublishingPasswordCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ChangeWebDeployPublishingPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5366,11 +5691,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeStatusCompletedEventHandler(object sender, GetHeliconApeStatusCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5392,15 +5717,15 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InstallHeliconApeCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void EnableHeliconApeCompletedEventHandler(object sender, EnableHeliconApeCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class EnableHeliconApeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5422,11 +5747,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DisableHeliconApeCompletedEventHandler(object sender, DisableHeliconApeCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DisableHeliconApeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5448,11 +5773,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void EnableHeliconApeGloballyCompletedEventHandler(object sender, EnableHeliconApeGloballyCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class EnableHeliconApeGloballyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5474,11 +5799,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DisableHeliconApeGloballyCompletedEventHandler(object sender, DisableHeliconApeGloballyCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DisableHeliconApeGloballyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5500,11 +5825,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeFoldersCompletedEventHandler(object sender, GetHeliconApeFoldersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeFoldersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5526,11 +5851,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeHttpdFolderCompletedEventHandler(object sender, GetHeliconApeHttpdFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeHttpdFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5552,11 +5877,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeFolderCompletedEventHandler(object sender, GetHeliconApeFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5578,11 +5903,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateHeliconApeFolderCompletedEventHandler(object sender, UpdateHeliconApeFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateHeliconApeFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5604,11 +5929,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateHeliconApeHttpdFolderCompletedEventHandler(object sender, UpdateHeliconApeHttpdFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateHeliconApeHttpdFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5630,11 +5955,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteHeliconApeFolderCompletedEventHandler(object sender, DeleteHeliconApeFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteHeliconApeFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5656,11 +5981,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeUsersCompletedEventHandler(object sender, GetHeliconApeUsersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeUsersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5682,11 +6007,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeUserCompletedEventHandler(object sender, GetHeliconApeUserCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5708,11 +6033,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateHeliconApeUserCompletedEventHandler(object sender, UpdateHeliconApeUserCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateHeliconApeUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5734,11 +6059,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteHeliconApeUserCompletedEventHandler(object sender, DeleteHeliconApeUserCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteHeliconApeUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5760,11 +6085,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeGroupsCompletedEventHandler(object sender, GetHeliconApeGroupsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5786,11 +6111,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeGroupCompletedEventHandler(object sender, GetHeliconApeGroupCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5812,11 +6137,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateHeliconApeGroupCompletedEventHandler(object sender, UpdateHeliconApeGroupCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class UpdateHeliconApeGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5838,11 +6163,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteHeliconApeGroupCompletedEventHandler(object sender, DeleteHeliconApeGroupCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteHeliconApeGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5864,11 +6189,115 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetZooApplicationsCompletedEventHandler(object sender, GetZooApplicationsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetZooApplicationsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetZooApplicationsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public WebVirtualDirectory[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((WebVirtualDirectory[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetZooEnvironmentVariableCompletedEventHandler(object sender, SetZooEnvironmentVariableCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetZooEnvironmentVariableCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetZooEnvironmentVariableCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public StringResultObject Result { + get { + this.RaiseExceptionIfNecessary(); + return ((StringResultObject)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetZooConsoleEnabledCompletedEventHandler(object sender, SetZooConsoleEnabledCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetZooConsoleEnabledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetZooConsoleEnabledCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public StringResultObject Result { + get { + this.RaiseExceptionIfNecessary(); + return ((StringResultObject)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetZooConsoleDisabledCompletedEventHandler(object sender, SetZooConsoleDisabledCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetZooConsoleDisabledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetZooConsoleDisabledCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public StringResultObject Result { + get { + this.RaiseExceptionIfNecessary(); + return ((StringResultObject)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GrantWebManagementAccessCompletedEventHandler(object sender, GrantWebManagementAccessCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GrantWebManagementAccessCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5890,15 +6319,15 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void RevokeWebManagementAccessCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ChangeWebManagementAccessPasswordCompletedEventHandler(object sender, ChangeWebManagementAccessPasswordCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ChangeWebManagementAccessPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5920,11 +6349,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CertificateRequestCompletedEventHandler(object sender, CertificateRequestCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CertificateRequestCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5946,11 +6375,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InstallCertificateCompletedEventHandler(object sender, InstallCertificateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class InstallCertificateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5972,11 +6401,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InstallPfxCompletedEventHandler(object sender, InstallPfxCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class InstallPfxCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5998,11 +6427,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetPendingCertificatesCompletedEventHandler(object sender, GetPendingCertificatesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetPendingCertificatesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6024,11 +6453,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSSLCertificateByIDCompletedEventHandler(object sender, GetSSLCertificateByIDCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSSLCertificateByIDCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6050,11 +6479,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSiteCertCompletedEventHandler(object sender, GetSiteCertCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSiteCertCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6076,11 +6505,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CheckSSLForWebsiteCompletedEventHandler(object sender, CheckSSLForWebsiteCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CheckSSLForWebsiteCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6102,11 +6531,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CheckSSLForDomainCompletedEventHandler(object sender, CheckSSLForDomainCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CheckSSLForDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6128,11 +6557,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ExportCertificateCompletedEventHandler(object sender, ExportCertificateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ExportCertificateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6154,11 +6583,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetCertificatesForSiteCompletedEventHandler(object sender, GetCertificatesForSiteCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetCertificatesForSiteCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6180,11 +6609,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteCertificateCompletedEventHandler(object sender, DeleteCertificateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteCertificateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6206,11 +6635,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ImportCertificateCompletedEventHandler(object sender, ImportCertificateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ImportCertificateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6232,11 +6661,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CheckCertificateCompletedEventHandler(object sender, CheckCertificateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CheckCertificateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -6258,11 +6687,11 @@ namespace WebsitePanel.EnterpriseServer { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteCertificateRequestCompletedEventHandler(object sender, DeleteCertificateRequestCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteCertificateRequestCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HeliconZoo/HeliconZooController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HeliconZoo/HeliconZooController.cs index d2f4c5dd..b63e0526 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HeliconZoo/HeliconZooController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HeliconZoo/HeliconZooController.cs @@ -85,6 +85,8 @@ namespace WebsitePanel.EnterpriseServer allowedEngines.Add( new ShortHeliconZooEngine(){ Name = (string)reader["QuotaName"], DisplayName= (string)reader["QuotaDescription"], + Enabled = true + }); } @@ -120,6 +122,21 @@ namespace WebsitePanel.EnterpriseServer } + public static bool IsWebCosoleEnabled(int serviceId) + { + HeliconZoo zooServer = new HeliconZoo(); + ServiceProviderProxy.Init(zooServer, serviceId); + return zooServer.IsWebCosoleEnabled(); + } + + public static void SetWebCosoleEnabled(int serviceId, bool enabled) + { + HeliconZoo zooServer = new HeliconZoo(); + ServiceProviderProxy.Init(zooServer, serviceId); + zooServer.SetWebCosoleEnabled(enabled); + } + + #region private helpers private static void UpdateQuotas(int serviceId, HeliconZooEngine[] userEngines) { @@ -183,7 +200,7 @@ namespace WebsitePanel.EnterpriseServer DataProvider.AddHeliconZooQuota(groupId, quotaId, HeliconZooQuotaPrefix+engine.name, engine.displayName, - order++); + existingQuotas.Count + order++); } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs new file mode 100644 index 00000000..37cb9065 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/OperatingSystems/OperatingSystemController.cs @@ -0,0 +1,822 @@ +// Copyright (c) 2012, Outercurve Foundation. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// - Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// - Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// - Neither the name of the Outercurve Foundation nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +using System; +using System.IO; +using System.Data; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Text; +using System.Xml; +using System.Xml.Serialization; + +using WebsitePanel.Server; +using WebsitePanel.Providers; +using WebsitePanel.Providers.OS; +using OS = WebsitePanel.Providers.OS; +using System.Collections; + + +namespace WebsitePanel.EnterpriseServer +{ + public class OperatingSystemController : IImportController, IBackupController + { + private const int FILE_BUFFER_LENGTH = 5000000; // ~5MB + + private static OS.OperatingSystem GetOS(int serviceId) + { + OS.OperatingSystem os = new OS.OperatingSystem(); + ServiceProviderProxy.Init(os, serviceId); + return os; + } + + #region ODBC DSNs + public static DataSet GetRawOdbcSourcesPaged(int packageId, + string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { + return PackageController.GetRawPackageItemsPaged(packageId, ResourceGroups.Os, typeof(SystemDSN), + true, filterColumn, filterValue, sortColumn, startRow, maximumRows); + } + + public static List GetOdbcSources(int packageId, bool recursive) + { + List items = PackageController.GetPackageItemsByType( + packageId, ResourceGroups.Os, typeof(SystemDSN), recursive); + + return items.ConvertAll( + new Converter(ConvertItemToSystemDSN)); + } + + private static SystemDSN ConvertItemToSystemDSN(ServiceProviderItem item) + { + return (SystemDSN)item; + } + + public static string[] GetInstalledOdbcDrivers(int packageId) + { + // load service item + int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.Os); + OS.OperatingSystem os = GetOS(serviceId); + return os.GetInstalledOdbcDrivers(); + } + + public static SystemDSN GetOdbcSource(int itemId) + { + // load meta item + SystemDSN item = (SystemDSN)PackageController.GetPackageItem(itemId); + + // load service item + OS.OperatingSystem os = GetOS(item.ServiceId); + SystemDSN dsn = os.GetDSN(item.Name); + + // add common properties + dsn.Id = item.Id; + dsn.PackageId = item.PackageId; + dsn.ServiceId = item.ServiceId; + + if(dsn.Driver == "MsAccess" || dsn.Driver == "Excel" || dsn.Driver == "Text") + dsn.DatabaseName = FilesController.GetVirtualPackagePath(item.PackageId, dsn.DatabaseName); + + return dsn; + } + + public static int AddOdbcSource(SystemDSN item) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // check package + int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; + + // check quota + QuotaValueInfo quota = PackageController.GetPackageQuota(item.PackageId, Quotas.OS_ODBC); + if (quota.QuotaExhausted) + return BusinessErrorCodes.ERROR_OS_DSN_RESOURCE_QUOTA_LIMIT; + + // check if mail resource is available + int serviceId = PackageController.GetPackageServiceId(item.PackageId, ResourceGroups.Os); + if (serviceId == 0) + return BusinessErrorCodes.ERROR_OS_RESOURCE_UNAVAILABLE; + + // check package items + if (PackageController.GetPackageItemByName(item.PackageId, item.Name, typeof(SystemDSN)) != null) + return BusinessErrorCodes.ERROR_OS_DSN_PACKAGE_ITEM_EXISTS; + + // place log record + TaskManager.StartTask("ODBC_DSN", "ADD", item.Name); + + try + { + // check service items + OS.OperatingSystem os = GetOS(serviceId); + if (os.GetDSN(item.Name) != null) + return BusinessErrorCodes.ERROR_OS_DSN_SERVICE_ITEM_EXISTS; + + string[] dbNameParts = item.DatabaseName.Split('|'); + string groupName = null; + if (dbNameParts.Length > 1) + { + item.DatabaseName = dbNameParts[0]; + groupName = dbNameParts[1]; + } + + // get database server address + item.DatabaseServer = GetDatabaseServerName(groupName, item.PackageId); + + if (item.Driver == "MsAccess" || item.Driver == "Excel" || item.Driver == "Text") + item.DatabaseName = FilesController.GetFullPackagePath(item.PackageId, item.DatabaseName); + + // add service item + os.CreateDSN(item); + + // save item + item.DatabasePassword = CryptoUtils.Encrypt(item.DatabasePassword); + item.ServiceId = serviceId; + int itemId = PackageController.AddPackageItem(item); + + TaskManager.ItemId = itemId; + + return itemId; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int UpdateOdbcSource(SystemDSN item) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load original meta item + SystemDSN origItem = (SystemDSN)PackageController.GetPackageItem(item.Id); + if (origItem == null) + return BusinessErrorCodes.ERROR_OS_DSN_PACKAGE_ITEM_NOT_FOUND; + + // check package + int packageCheck = SecurityContext.CheckPackage(origItem.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; + + // place log record + TaskManager.StartTask("ODBC_DSN", "UPDATE", origItem.Name); + TaskManager.ItemId = item.Id; + + try + { + // get service + OS.OperatingSystem os = GetOS(origItem.ServiceId); + + // password + item.Driver = origItem.Driver; + item.Name = origItem.Name; + + if (item.DatabasePassword == "") + item.DatabasePassword = CryptoUtils.Decrypt(origItem.DatabasePassword); + + string[] dbNameParts = item.DatabaseName.Split('|'); + string groupName = null; + if (dbNameParts.Length > 1) + { + item.DatabaseName = dbNameParts[0]; + groupName = dbNameParts[1]; + } + + // get database server address + item.DatabaseServer = GetDatabaseServerName(groupName, item.PackageId); + + if (item.Driver == "MsAccess" || item.Driver == "Excel" || item.Driver == "Text") + item.DatabaseName = FilesController.GetFullPackagePath(origItem.PackageId, item.DatabaseName); + + // update service item + os.UpdateDSN(item); + + // update meta item + if (item.DatabasePassword != "") + { + item.DatabasePassword = CryptoUtils.Encrypt(item.DatabasePassword); + PackageController.UpdatePackageItem(item); + } + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + private static string GetDatabaseServerName(string groupName, int packageId) + { + int sqlServiceId = PackageController.GetPackageServiceId(packageId, groupName); + if (sqlServiceId > 0) + { + StringDictionary sqlSettings = ServerController.GetServiceSettings(sqlServiceId); + return sqlSettings["ExternalAddress"]; + } + return ""; + } + + public static int DeleteOdbcSource(int itemId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo); + if (accountCheck < 0) return accountCheck; + + // load original meta item + SystemDSN origItem = (SystemDSN)PackageController.GetPackageItem(itemId); + if (origItem == null) + return BusinessErrorCodes.ERROR_OS_DSN_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("ODBC_DSN", "DELETE", origItem.Name); + TaskManager.ItemId = itemId; + + try + { + // get service + OS.OperatingSystem os = GetOS(origItem.ServiceId); + + // delete service item + os.DeleteDSN(origItem.Name); + + // delete meta item + PackageController.DeletePackageItem(origItem.Id); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + private static WindowsServer GetServerService(int serverId) + { + WindowsServer winServer = new WindowsServer(); + ServiceProviderProxy.ServerInit(winServer, serverId); + return winServer; + } + + #region Terminal Services Sessions + public static TerminalSession[] GetTerminalServicesSessions(int serverId) + { + return GetServerService(serverId).GetTerminalServicesSessions(); + } + + public static int CloseTerminalServicesSession(int serverId, int sessionId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsAdmin + | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load server info + ServerInfo server = ServerController.GetServerById(serverId); + + // place log record + TaskManager.StartTask("SERVER", "RESET_TERMINAL_SESSION", sessionId); + TaskManager.ItemId = serverId; + + try + { + GetServerService(serverId).CloseTerminalServicesSession(sessionId); + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + #region Windows Processes + public static WindowsProcess[] GetWindowsProcesses(int serverId) + { + return GetServerService(serverId).GetWindowsProcesses(); + } + + public static int TerminateWindowsProcess(int serverId, int pid) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsAdmin + | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load server info + ServerInfo server = ServerController.GetServerById(serverId); + + // place log record + TaskManager.StartTask("SERVER", "TERMINATE_SYSTEM_PROCESS", pid); + TaskManager.ItemId = serverId; + + try + { + GetServerService(serverId).TerminateWindowsProcess(pid); + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + #region Windows Services + public static WindowsService[] GetWindowsServices(int serverId) + { + return GetServerService(serverId).GetWindowsServices(); + } + + public static int ChangeWindowsServiceStatus(int serverId, string id, WindowsServiceStatus status) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsAdmin + | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load server info + ServerInfo server = ServerController.GetServerById(serverId); + + // place log record + TaskManager.StartTask("SERVER", "CHANGE_WINDOWS_SERVICE_STATUS", id); + TaskManager.ItemId = serverId; + TaskManager.WriteParameter("New Status", status); + + try + { + GetServerService(serverId).ChangeWindowsServiceStatus(id, status); + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + // Check If FSRM Role services were installed + public static bool CheckFileServicesInstallation(int serviceId) + { + OS.OperatingSystem os = GetOS(serviceId); + return os.CheckFileServicesInstallation(); + + } + + #endregion + + #region Web Platform Installer + + public static bool CheckLoadUserProfile(int serverId) + { + int serviceId = getWebServiceId(serverId); + if (serviceId != -1) + { + return WebServerController.GetWebServer(serviceId).CheckLoadUserProfile(); + } + + return false; + } + + private static int getWebServiceId(int serverId) + { + DataSet dsServices = ServerController.GetRawServicesByServerId(serverId); + + int webGroup = -1; + + if (dsServices.Tables.Count < 1) return -1; + + foreach (DataRow r in dsServices.Tables[0].Rows) + { + if (r["GroupName"].ToString() == "Web") + { + webGroup = (int)r["GroupID"]; + break; + } + } + + if (webGroup == -1) return -1; + + foreach (DataRow r in dsServices.Tables[1].Rows) + { + if ((int)r["GroupID"] == webGroup) + { + return (int)r["ServiceID"]; + } + } + + return -1; + } + + + + public static void EnableLoadUserProfile(int serverId) + { + int serviceId = getWebServiceId(serverId); + if (serviceId != -1) + { + WebServerController.GetWebServer(serviceId).EnableLoadUserProfile(); + } + } + + + + public static void InitWPIFeeds(int serverId, string feedUrls) + { + GetServerService(serverId).InitWPIFeeds(feedUrls); + } + + public static WPITab[] GetWPITabs(int serverId) + { + return GetServerService(serverId).GetWPITabs(); + } + + public static WPIKeyword[] GetWPIKeywords(int serverId) + { + return GetServerService(serverId).GetWPIKeywords(); + } + + public static WPIProduct[] GetWPIProducts(int serverId, string tabId, string keywordId) + { + return GetServerService(serverId).GetWPIProducts(tabId, keywordId); + } + + public static WPIProduct[] GetWPIProductsFiltered(int serverId, string keywordId) + { + return GetServerService(serverId).GetWPIProductsFiltered(keywordId); + } + + public static WPIProduct GetWPIProductById(int serverId, string productdId) + { + return GetServerService(serverId).GetWPIProductById(productdId); + } + + + + public static WPIProduct[] GetWPIProductsWithDependencies(int serverId, string[] products) + { + return GetServerService(serverId).GetWPIProductsWithDependencies(products); + } + public static void InstallWPIProducts(int serverId, string[] products) + { + GetServerService(serverId).InstallWPIProducts(products); + } + + public static void CancelInstallWPIProducts(int serverId) + { + GetServerService(serverId).CancelInstallWPIProducts(); + } + + public static string GetWPIStatus(int serverId) + { + return GetServerService(serverId).GetWPIStatus(); + } + + public static string WpiGetLogFileDirectory(int serverId) + { + return GetServerService(serverId).WpiGetLogFileDirectory(); + } + + public static SettingPair[] WpiGetLogsInDirectory(int serverId, string Path) + { + return GetServerService(serverId).WpiGetLogsInDirectory(Path); + } + + + #endregion + + #region Event Viewer + public static string[] GetLogNames(int serverId) + { + return GetServerService(serverId).GetLogNames(); + } + + public static SystemLogEntry[] GetLogEntries(int serverId, string logName) + { + return GetServerService(serverId).GetLogEntries(logName); + } + + public static SystemLogEntriesPaged GetLogEntriesPaged(int serverId, string logName, int startRow, int maximumRows) + { + return GetServerService(serverId).GetLogEntriesPaged(logName, startRow, maximumRows); + } + + public static int ClearLog(int serverId, string logName) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsAdmin + | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + TaskManager.StartTask("SERVER", "CLEAR_EVENT_LOG", logName); + TaskManager.ItemId = serverId; + + try + { + GetServerService(serverId).ClearLog(logName); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + return 0; + } + #endregion + + #region Server Reboot + public static int RebootSystem(int serverId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsAdmin + | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load server info + ServerInfo server = ServerController.GetServerById(serverId); + + // place log record + TaskManager.StartTask("SERVER", "REBOOT"); + TaskManager.ItemId = serverId; + + try + { + GetServerService(serverId).RebootSystem(); + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + #region IImportController Members + + public List GetImportableItems(int packageId, int itemTypeId, Type itemType, + ResourceGroupInfo group) + { + List items = new List(); + + // get service id + int serviceId = PackageController.GetPackageServiceId(packageId, group.GroupName); + if (serviceId == 0) + return items; + + OS.OperatingSystem os = GetOS(serviceId); + if (itemType == typeof(SystemDSN)) + items.AddRange(os.GetDSNNames()); + + return items; + } + + public void ImportItem(int packageId, int itemTypeId, Type itemType, + ResourceGroupInfo group, string itemName) + { + // get service id + int serviceId = PackageController.GetPackageServiceId(packageId, group.GroupName); + if (serviceId == 0) + return; + + if (itemType == typeof(SystemDSN)) + { + // save DSN info + SystemDSN dsn = new SystemDSN(); + dsn.Name = itemName; + dsn.ServiceId = serviceId; + dsn.PackageId = packageId; + PackageController.AddPackageItem(dsn); + } + } + + #endregion + + #region IBackupController Members + + public int BackupItem(string tempFolder, System.Xml.XmlWriter writer, ServiceProviderItem item, ResourceGroupInfo group) + { + if (item is HomeFolder) + { + // backup home folder files + string backupName = String.Format("SpaceFiles_{0}_{1}.zip", + item.Id, DateTime.Now.Ticks); + + // get the list of remote files + List files = FilesController.GetFiles(item.PackageId, "\\", true); + + string[] zipFiles = new string[files.Count]; + for(int i = 0; i < zipFiles.Length; i++) + zipFiles[i] = files[i].Name; + + // zip remote files + FilesController.ZipFiles(item.PackageId, zipFiles, backupName); + + // download zipped file + string localBackupPath = Path.Combine(tempFolder, backupName); + + byte[] buffer = null; + FileStream stream = new FileStream(localBackupPath, FileMode.Create, FileAccess.Write); + + int offset = 0; + long length = 0; + do + { + // read remote content + buffer = FilesController.GetFileBinaryChunk(item.PackageId, backupName, offset, FILE_BUFFER_LENGTH); + + // write remote content + stream.Write(buffer, 0, buffer.Length); + + length += buffer.Length; + offset += FILE_BUFFER_LENGTH; + } + while (buffer.Length == FILE_BUFFER_LENGTH); + stream.Close(); + + // delete zipped file + if (FilesController.FileExists(item.PackageId, backupName)) + FilesController.DeleteFiles(item.PackageId, new string[] { backupName }); + + // add file pointer + BackupController.WriteFileElement(writer, "SpaceFiles", backupName, length); + + // store meta item + XmlSerializer serializer = new XmlSerializer(typeof(HomeFolder)); + serializer.Serialize(writer, item); + } + else if (item is SystemDSN) + { + // backup ODBC DSN + OS.OperatingSystem os = GetOS(item.ServiceId); + + // read DSN info + SystemDSN itemDsn = item as SystemDSN; + SystemDSN dsn = os.GetDSN(item.Name); + dsn.DatabasePassword = itemDsn.DatabasePassword; + + XmlSerializer serializer = new XmlSerializer(typeof(SystemDSN)); + serializer.Serialize(writer, dsn); + } + + return 0; + } + + public int RestoreItem(string tempFolder, System.Xml.XmlNode itemNode, int itemId, Type itemType, string itemName, int packageId, int serviceId, ResourceGroupInfo group) + { + if (itemType == typeof(HomeFolder)) + { + OS.OperatingSystem os = GetOS(serviceId); + + // extract meta item + XmlSerializer serializer = new XmlSerializer(typeof(HomeFolder)); + HomeFolder homeFolder = (HomeFolder)serializer.Deserialize( + new XmlNodeReader(itemNode.SelectSingleNode("HomeFolder"))); + + // create home folder if required + if (!os.DirectoryExists(homeFolder.Name)) + { + os.CreatePackageFolder(homeFolder.Name); + } + + // copy database backup to remote server + XmlNode fileNode = itemNode.SelectSingleNode("File[@name='SpaceFiles']"); + string backupFileName = fileNode.Attributes["path"].Value; + long backupFileLength = Int64.Parse(fileNode.Attributes["size"].Value); + string localBackupFilePath = Path.Combine(tempFolder, backupFileName); + + if (new FileInfo(localBackupFilePath).Length != backupFileLength) + return -3; + + FileStream stream = new FileStream(localBackupFilePath, FileMode.Open, FileAccess.Read); + byte[] buffer = new byte[FILE_BUFFER_LENGTH]; + + int readBytes = 0; + long length = 0; + string remoteBackupPath = Path.Combine(homeFolder.Name, backupFileName); + do + { + // read package file + readBytes = stream.Read(buffer, 0, FILE_BUFFER_LENGTH); + length += readBytes; + + if (readBytes < FILE_BUFFER_LENGTH) + // resize buffer + Array.Resize(ref buffer, readBytes); + + // write remote backup file + os.AppendFileBinaryContent(remoteBackupPath, buffer); + } + while (readBytes == FILE_BUFFER_LENGTH); + stream.Close(); + + // unzip files + os.UnzipFiles(remoteBackupPath, homeFolder.Name); + + // delete archive + if (os.FileExists(remoteBackupPath)) + os.DeleteFile(remoteBackupPath); + + // add meta-item if required + if (PackageController.GetPackageItemByName(packageId, itemName, typeof(HomeFolder)) == null) + { + homeFolder.PackageId = packageId; + homeFolder.ServiceId = serviceId; + PackageController.AddPackageItem(homeFolder); + } + } + else if (itemType == typeof(SystemDSN)) + { + OS.OperatingSystem os = GetOS(serviceId); + + // extract meta item + XmlSerializer serializer = new XmlSerializer(typeof(SystemDSN)); + SystemDSN dsn = (SystemDSN)serializer.Deserialize( + new XmlNodeReader(itemNode.SelectSingleNode("SystemDSN"))); + + // create DSN if required + if (os.GetDSN(itemName) == null) + { + dsn.DatabasePassword = CryptoUtils.Decrypt(dsn.DatabasePassword); + os.CreateDSN(dsn); + + // restore password + dsn.DatabasePassword = CryptoUtils.Encrypt(dsn.DatabasePassword); + } + + // add meta-item if required + if (PackageController.GetPackageItemByName(packageId, itemName, typeof(SystemDSN)) == null) + { + dsn.PackageId = packageId; + dsn.ServiceId = serviceId; + PackageController.AddPackageItem(dsn); + } + } + + return 0; + } + + + + #endregion + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs new file mode 100644 index 00000000..700db5b4 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs @@ -0,0 +1,4517 @@ +// Copyright (c) 2012, Outercurve Foundation. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// - Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// - Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// - Neither the name of the Outercurve Foundation nor the names of its +// contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +using System; +using System.IO; +using System.Data; +using System.Linq; +using System.Collections.Specialized; +using System.Collections.Generic; +using System.Text; +using System.Text.RegularExpressions; +using System.Xml; +using System.Xml.Serialization; + +using WebsitePanel.Providers; +using WebsitePanel.Providers.Web; +using WebsitePanel.Providers.DNS; +using OS = WebsitePanel.Providers.OS; +using WebsitePanel.Providers.Common; +using WebsitePanel.Providers.ResultObjects; +using System.Resources; +using System.Threading; +using System.Reflection; +using WebsitePanel.Templates; +using WebsitePanel.Providers.Database; +using WebsitePanel.Providers.FTP; +using System.Collections; + +namespace WebsitePanel.EnterpriseServer +{ + public class WebServerController : IImportController, IBackupController + { + private const string LOG_SOURCE_WEB = "WEB"; + + private const int DOMAIN_RANDOM_LENGTH = 8; + private const int MAX_ACCOUNT_LENGTH = 20; + private const string ANON_ACCOUNT_SUFFIX = "_web"; + private const string FRONTPAGE_ACCOUNT_SUFFIX = "_fp"; + + private const string WEBSITE_ROOT_FOLDER_PATTERN = "\\[DOMAIN_NAME]"; + private const string WEBSITE_LOGS_FOLDER_PATTERN = "\\WebLogs\\[DOMAIN_NAME]"; + private const string WEBSITE_DATA_FOLDER_PATTERN = "\\WebData\\[DOMAIN_NAME]"; + + public static WebServer GetWebServer(int serviceId) + { + WebServer ws = new WebServer(); + ServiceProviderProxy.Init(ws, serviceId); + return ws; + } + + #region Web Sites + public static DataSet GetRawWebSitesPaged(int packageId, + string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { + return PackageController.GetRawPackageItemsPaged(packageId, typeof(WebSite), + true, filterColumn, filterValue, sortColumn, startRow, maximumRows); + } + + public static List GetWebSites(int packageId, bool recursive) + { + List items = PackageController.GetPackageItemsByType( + packageId, typeof(WebSite), recursive); + + List sites = items.ConvertAll(new Converter(ConvertItemToWebSite)); + foreach (WebSite site in sites) + { + IPAddressInfo ip = ServerController.GetIPAddress(site.SiteIPAddressId); + if(ip != null) + site.SiteIPAddress = ip.ExternalIP; + } + return sites; + } + + private static WebSite ConvertItemToWebSite(ServiceProviderItem item) + { + return (WebSite)item; + } + + public static WebSite GetWebSite(int packageId, string siteName) + { + ServiceProviderItem siteItem = PackageController.GetPackageItemByName(packageId, siteName, typeof(WebSite)); + if (siteItem == null) + return null; + + return GetWebSite(siteItem.Id); + } + + public static WebSite GetWebSite(int siteItemId) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // load live site from service + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + WebSite site = web.GetSite(siteItem.SiteId); + + // set other properties + site.Id = siteItem.Id; + site.Name = siteItem.Name; + site.ServiceId = siteItem.ServiceId; + site.PackageId = siteItem.PackageId; + + // load IP address + site.SiteIPAddressId = siteItem.SiteIPAddressId; + IPAddressInfo ip = ServerController.GetIPAddress(siteItem.SiteIPAddressId); + if(ip != null) + site.SiteIPAddress = ip.ExternalIP; + + // check if site has dedicated IP assigned + var siteIpAddresses = ServerController.GetItemIPAddresses(siteItemId, IPAddressPool.None); + foreach (var siteIp in siteIpAddresses) + { + var packageIpAddress = ServerController.GetPackageIPAddress(siteIp.AddressID); + if (packageIpAddress != null && packageIpAddress.ExternalIP == site.SiteIPAddress) + { + site.IsDedicatedIP = true; + break; + } + } + + // truncate home folder + site.ContentPath = FilesController.GetVirtualPackagePath(siteItem.PackageId, site.ContentPath); + + //check if Coldfusion is available + //site.ColdFusionAvailable = siteItem.ColdFusionAvailable; + + // set FrontPage account + site.FrontPageAccount = siteItem.FrontPageAccount; + if (String.IsNullOrEmpty(site.FrontPageAccount)) + site.FrontPageAccount = GetFrontPageUsername(site.Name); + + // Set Web Deploy publishing account + site.WebDeployPublishingAccount = siteItem.WebDeployPublishingAccount; + // Set Web Deploy site publishing enabled + site.WebDeploySitePublishingEnabled = siteItem.WebDeploySitePublishingEnabled; + // Set Web Deploy site publishing profile + site.WebDeploySitePublishingProfile = siteItem.WebDeploySitePublishingProfile; + + return site; + } + + public static int AddWebSite(int packageId, string hostName, int domainId, int ipAddressId) + { + return AddWebSite(packageId, hostName, domainId, ipAddressId, false, true); + } + + + private static bool IsValidIPAdddress(string addr) + { + System.Net.IPAddress ip; + if (System.Net.IPAddress.TryParse(addr, out ip)) + { + return ((ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6) | + (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)); + } + else + { + return false; + } + } + + public static int AddWebSite(int packageId, string hostName, int domainId, int packageAddressId, + bool addInstantAlias, bool ignoreGlobalDNSRecords) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // check package + int packageCheck = SecurityContext.CheckPackage(packageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; + + // check quota + QuotaValueInfo sitesQuota = PackageController.GetPackageQuota(packageId, Quotas.WEB_SITES); + if (sitesQuota.QuotaExhausted) + return BusinessErrorCodes.ERROR_WEB_SITES_QUOTA_LIMIT; + + // load domain name + DomainInfo domain = ServerController.GetDomain(domainId); + string domainName = domain.DomainName; + + string siteName = string.IsNullOrEmpty(hostName) ? domainName : hostName + "." + domainName; + + // check if the web site already exists (legacy) + if (PackageController.GetPackageItemByName(packageId, siteName, typeof(WebSite)) != null) + return BusinessErrorCodes.ERROR_WEB_SITE_ALREADY_EXISTS; + + if (DataProvider.CheckDomain(domain.PackageId, siteName, true) != 0) + return BusinessErrorCodes.ERROR_WEB_SITE_ALREADY_EXISTS; + + + // place log record + TaskManager.StartTask("WEB_SITE", "ADD", siteName); + + try + { + + // get service + int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.Web); + if (serviceId == 0) + return BusinessErrorCodes.ERROR_WEB_SITE_SERVICE_UNAVAILABLE; + + + // Initialize IIS provider webservice proxy + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, serviceId); + + // Ensure the web site is being created doesn't exist on the server + if (web.SiteExists(siteName)) + { + // + PackageInfo packageInfo = PackageController.GetPackage(packageId); + // + ServerInfo serverInfo = ServerController.GetServerById(packageInfo.ServerId); + // Give as much clues for the issue to an administrator as possible + TaskManager.WriteError("Web site '{0}' could not be created because site with the name requested already " + + "exists on '{1}' server.", siteName, serverInfo.ServerName); + // Return generic operation failed error + return BusinessErrorCodes.FAILED_EXECUTE_SERVICE_OPERATION; + } + + // load web settings + StringDictionary webSettings = ServerController.GetServiceSettings(serviceId); + int addressId = Utils.ParseInt(webSettings["SharedIP"], 0); + + bool dedicatedIp = false; + if (packageAddressId != 0) + { + // dedicated IP + PackageIPAddress packageIp = ServerController.GetPackageIPAddress(packageAddressId); + if (packageIp != null) + { + addressId = packageIp.AddressID; + dedicatedIp = true; + } + } + + // load assigned IP address + string ipAddr = "*"; + IPAddressInfo ip = ServerController.GetIPAddress(addressId); + if (ip != null) + ipAddr = !String.IsNullOrEmpty(ip.InternalIP) ? ip.InternalIP : ip.ExternalIP; + + + // load web DNS records + List dnsRecords = ServerController.GetDnsRecordsByService(serviceId); + + if (dedicatedIp) + { + foreach (GlobalDnsRecord d in dnsRecords) + { + if (!string.IsNullOrEmpty(d.ExternalIP)) + { + if (!IsValidIPAdddress(d.ExternalIP)) return BusinessErrorCodes.ERROR_GLOBALDNS_FOR_DEDICATEDIP; + } + } + } + else + { + if (domain.ZoneItemId > 0) + { + StringDictionary settings = ServerController.GetServiceSettings(serviceId); + if (string.IsNullOrEmpty(settings["PublicSharedIP"])) + return BusinessErrorCodes.ERROR_PUBLICSHAREDIP_FOR_SHAREDIP; + } + } + + // prepare site bindings + List bindings = new List(); + + // SHARED IP + // fill main domain bindings + FillWebServerBindings(bindings, dnsRecords, ipAddr, hostName, domain.DomainName, ignoreGlobalDNSRecords); + + //double check all bindings + foreach (ServerBinding b in bindings) + { + if (DataProvider.CheckDomain(domain.PackageId, b.Host, true) != 0) + return BusinessErrorCodes.ERROR_WEB_SITE_ALREADY_EXISTS; + } + + if (dedicatedIp) + { + // DEDICATED IP + bindings.Add(new ServerBinding(ipAddr, "80", "")); + } + + UserInfo user = PackageController.GetPackageOwner(packageId); + UserSettings webPolicy = UserController.GetUserSettings(user.UserId, UserSettings.WEB_POLICY); + + // craete web site + string siteId = null; + WebSite site = new WebSite(); + + // web site name and bindings + site.Name = siteName; + site.Bindings = bindings.ToArray(); + + site.AnonymousUsername = GetWebSiteUsername(webPolicy, siteName); + site.AnonymousUserPassword = Guid.NewGuid().ToString("P"); + + // folders + string packageHome = FilesController.GetHomeFolder(packageId); + + // add random string to the domain if specified + string randDomainName = siteName; + if (!String.IsNullOrEmpty(webPolicy["AddRandomDomainString"]) + && Utils.ParseBool(webPolicy["AddRandomDomainString"], false)) + randDomainName += "_" + Utils.GetRandomString(DOMAIN_RANDOM_LENGTH); + + // ROOT folder + site.ContentPath = GetWebFolder(packageId, WEBSITE_ROOT_FOLDER_PATTERN, randDomainName); + if (!String.IsNullOrEmpty(webPolicy["WebRootFolder"])) + site.ContentPath = GetWebFolder(packageId, webPolicy["WebRootFolder"], randDomainName); + + // LOGS folder + site.LogsPath = GetWebFolder(packageId, WEBSITE_LOGS_FOLDER_PATTERN, randDomainName); + if (!String.IsNullOrEmpty(webPolicy["WebLogsFolder"])) + site.LogsPath = GetWebFolder(packageId, webPolicy["WebLogsFolder"], randDomainName); + + // DATA folder + site.DataPath = GetWebFolder(packageId, WEBSITE_DATA_FOLDER_PATTERN, randDomainName); + if (!String.IsNullOrEmpty(webPolicy["WebDataFolder"])) + site.DataPath = GetWebFolder(packageId, webPolicy["WebDataFolder"], randDomainName); + + // default documents + site.DefaultDocs = null; // inherit from service + if (!String.IsNullOrEmpty(webPolicy["DefaultDocuments"])) + site.DefaultDocs = webPolicy["DefaultDocuments"]; + + if (!String.IsNullOrEmpty(webPolicy["EnableWritePermissions"])) + { + // security settings + site.EnableWritePermissions = Utils.ParseBool(webPolicy["EnableWritePermissions"], false); + site.EnableDirectoryBrowsing = Utils.ParseBool(webPolicy["EnableDirectoryBrowsing"], false); + site.EnableParentPaths = Utils.ParseBool(webPolicy["EnableParentPaths"], false); + site.DedicatedApplicationPool = Utils.ParseBool(webPolicy["EnableDedicatedPool"], false); + + + // Ensure the website meets hosting plan quotas + QuotaValueInfo quotaInfo = PackageController.GetPackageQuota(packageId, Quotas.WEB_APPPOOLS); + site.DedicatedApplicationPool = site.DedicatedApplicationPool && (quotaInfo.QuotaAllocatedValue > 0); + + site.EnableAnonymousAccess = Utils.ParseBool(webPolicy["EnableAnonymousAccess"], false); + site.EnableWindowsAuthentication = Utils.ParseBool(webPolicy["EnableWindowsAuthentication"], false); + site.EnableBasicAuthentication = Utils.ParseBool(webPolicy["EnableBasicAuthentication"], false); + + // extensions + site.AspInstalled = Utils.ParseBool(webPolicy["AspInstalled"], false); + site.AspNetInstalled = webPolicy["AspNetInstalled"]; + site.PhpInstalled = webPolicy["PhpInstalled"]; + site.PerlInstalled = Utils.ParseBool(webPolicy["PerlInstalled"], false); + site.PythonInstalled = Utils.ParseBool(webPolicy["PythonInstalled"], false); + site.CgiBinInstalled = Utils.ParseBool(webPolicy["CgiBinInstalled"], false); + site.ColdFusionInstalled = false; + + } + else + { + // security settings + site.EnableWritePermissions = false; + site.EnableDirectoryBrowsing = false; + site.EnableParentPaths = false; + site.DedicatedApplicationPool = false; + + site.EnableAnonymousAccess = true; + site.EnableWindowsAuthentication = true; + site.EnableBasicAuthentication = false; + + // extensions + site.AspInstalled = true; + site.AspNetInstalled = "1"; + site.PhpInstalled = ""; + site.PerlInstalled = false; + site.PythonInstalled = false; + site.CgiBinInstalled = false; + site.ColdFusionInstalled = false; + } + + site.HttpRedirect = ""; + site.HttpErrors = null; + site.MimeMaps = null; + + // CREATE WEB SITE + siteId = web.CreateSite(site); + + // register item + site.ServiceId = serviceId; + site.PackageId = packageId; + site.Name = siteName; + site.SiteIPAddressId = addressId; + site.SiteId = siteId; + + int siteItemId = PackageController.AddPackageItem(site); + + // associate IP with web site + if (packageAddressId != 0) + ServerController.AddItemIPAddress(siteItemId, packageAddressId); + + // update domain + // add main pointer + AddWebSitePointer(siteItemId, hostName, domain.DomainId, false, ignoreGlobalDNSRecords, false); + + + // add parking page + // load package + if (webPolicy["AddParkingPage"] != null) + { + bool addParkingPage = Utils.ParseBool(webPolicy["AddParkingPage"], false); + if (addParkingPage) + { + // add page + string pageName = webPolicy["ParkingPageName"]; + string pageContent = webPolicy["ParkingPageContent"]; + + if (!String.IsNullOrEmpty(pageName) + && pageContent != null) + { + + if (Utils.ParseBool(webPolicy["EnableParkingPageTokens"], false)) + { + pageContent = pageContent.Replace("[DOMAIN_NAME]", site.Name); + pageContent = pageContent.Replace("[SITE_IP]", site.SiteIPAddress); + + } + string path = Path.Combine( + FilesController.GetVirtualPackagePath(packageId, site.ContentPath), pageName); + + if (!FilesController.FileExists(packageId, path)) + { + FilesController.CreateFile(packageId, path); + + byte[] content = Encoding.UTF8.GetBytes(pageContent); + byte[] fileContent = new byte[content.Length + 3]; + fileContent[0] = 0xEF; + fileContent[1] = 0xBB; + fileContent[2] = 0xBF; + content.CopyTo(fileContent, 3); + FilesController.UpdateFileBinaryContent(packageId, path, fileContent); + } + } + } + } + + TaskManager.ItemId = siteItemId; + + return siteItemId; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int UpdateWebSite(WebSite site) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load web site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(site.Id); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "UPDATE", siteItem.Name); + TaskManager.ItemId = site.Id; + + try + { + // update home folder + string origPath = site.ContentPath; + site.ContentPath = FilesController.GetFullPackagePath(site.PackageId, site.ContentPath); + + // build data folder path + site.DataPath = siteItem.DataPath; + + // update site on the service + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + web.UpdateSite(site); + // Restore settings back + #region Web Deploy Settings + site.WebDeployPublishingAccount = siteItem.WebDeployPublishingAccount; + site.WebDeployPublishingPassword = siteItem.WebDeployPublishingPassword; + site.WebDeploySitePublishingEnabled = siteItem.WebDeploySitePublishingEnabled; + site.WebDeploySitePublishingProfile = siteItem.WebDeploySitePublishingProfile; + #endregion + + // update service item + PackageController.UpdatePackageItem(site); + + // set origpath + site.ContentPath = origPath; + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int RepairWebSite(int siteItemId) + { + return 0; + } + + public static int ChangeSiteState(int siteItemId, ServerState state) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // check package + int packageCheck = SecurityContext.CheckPackage(siteItem.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; + + // place log record + TaskManager.StartTask("WEB_SITE", "CHANGE_STATE", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("New state", state); + + try + { + + // change state + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + web.ChangeSiteState(siteItem.SiteId, state); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + // AppPool + public static int ChangeAppPoolState(int siteItemId, AppPoolState state) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // check package + int packageCheck = SecurityContext.CheckPackage(siteItem.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; + + // place log record + TaskManager.StartTask("WEB_SITE", "CHANGE_STATE", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("New state", state); + + try + { + + // change state + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + web.ChangeAppPoolState(siteItem.SiteId, state); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static AppPoolState GetAppPoolState(int siteItemId) + { + AppPoolState state = AppPoolState.Unknown; + + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return state; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return state; + + // check package + int packageCheck = SecurityContext.CheckPackage(siteItem.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return state; + + // place log record + TaskManager.StartTask("WEB_SITE", "GET_STATE", siteItem.Name); + TaskManager.ItemId = siteItemId; + + try + { + // get state + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + state = web.GetAppPoolState(siteItem.SiteId); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + return state; + } + + + + public static int DeleteWebSite(int siteItemId, bool deleteWebsiteDirectory) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load web site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "DELETE", siteItem.Name); + TaskManager.ItemId = siteItemId; + + // delete web site + try + { + //cleanup certificates + //cleanup certificates + List certificates = GetCertificatesForSite(siteItemId); + foreach (SSLCertificate c in certificates) + { + DeleteCertificate(siteItemId, c); + } + + // remove all web site pointers + List pointers = GetWebSitePointers(siteItemId); + foreach (DomainInfo pointer in pointers) + DeleteWebSitePointer(siteItemId, pointer.DomainId, false, true, true); + + // remove web site main pointer + DomainInfo domain = ServerController.GetDomain(siteItem.Name); + if(domain != null) + DeleteWebSitePointer(siteItemId, domain.DomainId, false, true, true); + + List sites = WebServerController.GetWebSites(domain.PackageId, false); + bool oneSiteOnly = (sites.Count == 1); + + if (oneSiteOnly) + { + // load site item + IPAddressInfo ip = ServerController.GetIPAddress(sites[0].SiteIPAddressId); + + string serviceIp = (ip != null) ? ip.ExternalIP : null; + + if (string.IsNullOrEmpty(serviceIp)) + { + StringDictionary settings = ServerController.GetServiceSettings(sites[0].ServiceId); + if (settings["PublicSharedIP"] != null) + serviceIp = settings["PublicSharedIP"].ToString(); + } + + ServerController.RemoveServiceDNSRecords(domain.PackageId, ResourceGroups.Web, domain, serviceIp, true); + } + + + + + // delete web site + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + + // + if (web.IsFrontPageSystemInstalled() && web.IsFrontPageInstalled(siteItem.SiteId)) + { + web.UninstallFrontPage(siteItem.SiteId, siteItem.FrontPageAccount); + } + + // + web.DeleteSite(siteItem.SiteId); + + // Delete WebManagementAccess Account + WebServerController.RevokeWebManagementAccess(siteItemId); + + if (deleteWebsiteDirectory) + { + // Delete website directory from file server + // This will remove the hard quota as well + FilesController.DeleteDirectoryRecursive(siteItem.PackageId, new DirectoryInfo(siteItem.DataPath).Parent.FullName); + + } + // delete service item + PackageController.DeletePackageItem(siteItemId); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int SwitchWebSiteToDedicatedIP(int siteItemId, int ipAddressId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load web site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + + int addressId = 0; + PackageIPAddress packageIp = ServerController.GetPackageIPAddress(ipAddressId); + if (packageIp != null) + { + addressId = packageIp.AddressID; + } + + List dnsRecords = ServerController.GetDnsRecordsByService(siteItem.ServiceId); + + foreach (GlobalDnsRecord d in dnsRecords) + { + if (!string.IsNullOrEmpty(d.ExternalIP)) + { + if (!IsValidIPAdddress(d.ExternalIP)) return BusinessErrorCodes.ERROR_GLOBALDNS_FOR_DEDICATEDIP; + } + } + + // place log record + TaskManager.StartTask("WEB_SITE", "SWITCH_TO_DEDICATED_IP", siteItem.Name); + TaskManager.ItemId = siteItemId; + + try + { + IPAddressInfo ip; + + // remove all web site pointers + DomainInfo domain = ServerController.GetDomain(siteItem.Name); + DomainInfo ZoneInfo = ServerController.GetDomain(domain.DomainItemId); + + if (ZoneInfo == null) + throw new Exception("Parent zone not found"); + + //cleanup certificates + List certificates = GetCertificatesForSite(siteItemId); + foreach (SSLCertificate c in certificates) + { + DeleteCertificate(siteItemId, c); + } + + certificates = GetPendingCertificates(siteItemId); + foreach (SSLCertificate c in certificates) + { + DeleteCertificateRequest(siteItemId, c.id); + } + + List pointers = GetWebSitePointers(siteItemId); + foreach (DomainInfo pointer in pointers) + DeleteWebSitePointer(siteItemId, pointer.DomainId, true, true, false); + + // remove web site main pointer + if (domain != null) + DeleteWebSitePointer(siteItemId, domain.DomainId, true, true, false); + + // clear binding left overs + List newBindings = new List(); + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + try + { + web.UpdateSiteBindings(siteItem.SiteId, newBindings.ToArray(), true); + } + catch (Exception) + { + + } + + List sites = WebServerController.GetWebSites(domain.PackageId, false); + bool oneSiteOnly = (sites.Count == 1); + + if (oneSiteOnly) + { + // load site item + ip = ServerController.GetIPAddress(sites[0].SiteIPAddressId); + + string serviceIp = (ip != null) ? ip.ExternalIP : null; + + if (string.IsNullOrEmpty(serviceIp)) + { + StringDictionary settings = ServerController.GetServiceSettings(sites[0].ServiceId); + if (settings["PublicSharedIP"] != null) + serviceIp = settings["PublicSharedIP"].ToString(); + } + + ServerController.RemoveServiceDNSRecords(domain.PackageId, ResourceGroups.Web, domain, serviceIp, true); + } + + + // update site item + siteItem.SiteIPAddressId = addressId; + PackageController.UpdatePackageItem(siteItem); + + // associate IP with web site + ServerController.AddItemIPAddress(siteItemId, ipAddressId); + + + string parentZone = domain.ZoneName; + if (string.IsNullOrEmpty(parentZone)) + { + DomainInfo parentDomain = ServerController.GetDomain(domain.DomainItemId); + parentZone = parentDomain.DomainName; + } + + + AddWebSitePointer(siteItemId, + ((domain.DomainName.Replace("." + parentZone, "") == parentZone) | + (domain.DomainName == parentZone)) + ? "" : domain.DomainName.Replace("." + parentZone, "") + , ZoneInfo.DomainId, true, true, true); + + foreach (DomainInfo pointer in pointers) + { + string pointerParentZone = pointer.ZoneName; + if (string.IsNullOrEmpty(pointerParentZone)) + { + DomainInfo parentDomain = ServerController.GetDomain(pointer.DomainItemId); + pointerParentZone = parentDomain.DomainName; + } + + + ZoneInfo = ServerController.GetDomain(pointerParentZone); + + AddWebSitePointer(siteItemId, + ((pointer.DomainName.Replace("." + pointerParentZone, "") == pointerParentZone) | + (pointer.DomainName == pointerParentZone)) + ? "" : pointer.DomainName.Replace("." + pointerParentZone, "") + , ZoneInfo.DomainId, true, true, true); + } + + // load web site IP address + ip = ServerController.GetIPAddress(siteItem.SiteIPAddressId); + string ipAddr = "*"; + if (ip != null) + ipAddr = !String.IsNullOrEmpty(ip.InternalIP) ? ip.InternalIP : ip.ExternalIP; + + newBindings = new List(); + + ServerBinding srvBinding = new ServerBinding(ipAddr, "80", ""); + newBindings.Add(srvBinding); + + foreach (ServerBinding b in web.GetSiteBindings(siteItem.SiteId)) + { + if (!((b.Host == srvBinding.Host) & + (b.IP == srvBinding.IP) & + (b.Port == srvBinding.Port))) + newBindings.Add(b); + } + + web.UpdateSiteBindings(siteItem.SiteId, newBindings.ToArray(), false); + + if (oneSiteOnly) + { + sites = WebServerController.GetWebSites(domain.PackageId, false); + + // load site item + ip = ServerController.GetIPAddress(sites[0].SiteIPAddressId); + + string serviceIp = (ip != null) ? ip.ExternalIP : null; + + if (string.IsNullOrEmpty(serviceIp)) + { + StringDictionary settings = ServerController.GetServiceSettings(sites[0].ServiceId); + if (settings["PublicSharedIP"] != null) + serviceIp = settings["PublicSharedIP"].ToString(); + } + + ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Web, domain, serviceIp, true); + } + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int SwitchWebSiteToSharedIP(int siteItemId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load web site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + + + // place log record + TaskManager.StartTask("WEB_SITE", "SWITCH_TO_SHARED_IP", siteItem.Name); + TaskManager.ItemId = siteItemId; + + try + { + IPAddressInfo ip; + + DomainInfo domain = ServerController.GetDomain(siteItem.Name); + DomainInfo ZoneInfo = ServerController.GetDomain(domain.DomainItemId); + + if (ZoneInfo == null) + throw new Exception("Parent zone not found"); + + + if (ZoneInfo.ZoneItemId > 0) + { + StringDictionary settings = ServerController.GetServiceSettings(siteItem.ServiceId); + if (string.IsNullOrEmpty(settings["PublicSharedIP"])) + return BusinessErrorCodes.ERROR_PUBLICSHAREDIP_FOR_SHAREDIP; + + } + + //cleanup certificates + List certificates = GetCertificatesForSite(siteItemId); + foreach (SSLCertificate c in certificates) + { + DeleteCertificate(siteItemId, c); + } + + certificates = GetPendingCertificates(siteItemId); + foreach (SSLCertificate c in certificates) + { + DeleteCertificateRequest(siteItemId, c.id); + } + + // remove all web site pointers + List pointers = GetWebSitePointers(siteItemId); + foreach (DomainInfo pointer in pointers) + DeleteWebSitePointer(siteItemId, pointer.DomainId, true, true, false); + + // remove web site main pointer + if (domain != null) + DeleteWebSitePointer(siteItemId, domain.DomainId, true, true, false); + + // clear binding left overs + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + List newBindings = new List(); + + try + { + web.UpdateSiteBindings(siteItem.SiteId, newBindings.ToArray(), true); + } + catch (Exception) + { + + } + + + List sites = WebServerController.GetWebSites(domain.PackageId, false); + bool oneSiteOnly = (sites.Count == 1); + + if (oneSiteOnly) + { + // load site item + ip = ServerController.GetIPAddress(sites[0].SiteIPAddressId); + + string serviceIp = (ip != null) ? ip.ExternalIP : null; + + if (string.IsNullOrEmpty(serviceIp)) + { + StringDictionary settings = ServerController.GetServiceSettings(sites[0].ServiceId); + if (settings["PublicSharedIP"] != null) + serviceIp = settings["PublicSharedIP"].ToString(); + } + + ServerController.RemoveServiceDNSRecords(domain.PackageId, ResourceGroups.Web, domain, serviceIp, true); + } + + + //figure out the PackageAddressId + PackageIPAddress packageIpAddress = null; + var siteIpAddresses = ServerController.GetItemIPAddresses(siteItemId, IPAddressPool.None); + foreach (var siteIp in siteIpAddresses) + { + packageIpAddress = ServerController.GetPackageIPAddress(siteIp.AddressID); + if (packageIpAddress != null && packageIpAddress.AddressID == siteItem.SiteIPAddressId) + { + break; + } + } + + //Deallocate IP Address + if (packageIpAddress != null) + ServerController.DeleteItemIPAddress(siteItemId, packageIpAddress.PackageAddressID); + + // update site item + siteItem.SiteIPAddressId = 0; + PackageController.UpdatePackageItem(siteItem); + + string parentZone = domain.ZoneName; + if (string.IsNullOrEmpty(parentZone)) + { + DomainInfo parentDomain = ServerController.GetDomain(domain.DomainItemId); + parentZone = parentDomain.DomainName; + } + + AddWebSitePointer(siteItemId, + ((domain.DomainName.Replace("." + parentZone, "") == parentZone) | + (domain.DomainName == parentZone)) + ? "" : domain.DomainName.Replace("." + parentZone, "") + , ZoneInfo.DomainId, true, true, true); + + foreach (DomainInfo pointer in pointers) + { + string pointerParentZone = pointer.ZoneName; + if (string.IsNullOrEmpty(pointerParentZone)) + { + DomainInfo parentDomain = ServerController.GetDomain(pointer.DomainItemId); + pointerParentZone = parentDomain.DomainName; + } + + + ZoneInfo = ServerController.GetDomain(pointerParentZone); + + AddWebSitePointer(siteItemId, + ((pointer.DomainName.Replace("." + pointerParentZone, "") == pointerParentZone) | + (pointer.DomainName == pointerParentZone)) + ? "" : pointer.DomainName.Replace("." + pointerParentZone, "") + , ZoneInfo.DomainId, true, true, true); + } + + if (oneSiteOnly) + { + sites = WebServerController.GetWebSites(domain.PackageId, false); + + // load site item + ip = ServerController.GetIPAddress(sites[0].SiteIPAddressId); + + string serviceIp = (ip != null) ? ip.ExternalIP : null; + + if (string.IsNullOrEmpty(serviceIp)) + { + StringDictionary settings = ServerController.GetServiceSettings(sites[0].ServiceId); + if (settings["PublicSharedIP"] != null) + serviceIp = settings["PublicSharedIP"].ToString(); + } + + ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Web, domain, serviceIp, true); + } + + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + private static void FillWebServerBindings(List bindings, List dnsRecords, + string ipAddr, string hostName, string domainName, bool ignoreGlobalDNSRecords) + // TODO test if IPv6 works + { + int bindingsCount = bindings.Count; + foreach (GlobalDnsRecord dnsRecord in dnsRecords) + { + if ((dnsRecord.RecordType == "A" || dnsRecord.RecordType == "AAAA" || dnsRecord.RecordType == "CNAME") && + dnsRecord.RecordName != "*") + { + string recordData = Utils.ReplaceStringVariable(dnsRecord.RecordName, "host_name", hostName, true); + + if (!string.IsNullOrEmpty(domainName)) + recordData = recordData + ((string.IsNullOrEmpty(recordData)) ? "" : ".") + domainName; + //otherwise full recordData is supplied by hostName + + if (ignoreGlobalDNSRecords) + { + //only look for the host_nanme record, ignore all others + if (dnsRecord.RecordName == "[host_name]") + { + AddBinding(bindings, new ServerBinding(ipAddr, "80", recordData)); + break; + } + } + else + { + AddBinding(bindings, new ServerBinding(ipAddr, "80", recordData)); + } + } + } + + if ((bindings.Count == bindingsCount) | (bindings.Count == 0)) + { + AddBinding(bindings, new ServerBinding(ipAddr, "80", string.IsNullOrEmpty(hostName) ? domainName : string.IsNullOrEmpty(domainName) ? hostName : hostName + "." + domainName)); + } + } + + private static void AddBinding(List bindings, ServerBinding binding) + { + foreach (ServerBinding b in bindings) + { + if (string.Compare(b.Host, binding.Host, true) == 0) + return; + } + + bindings.Add(binding); + } + + + private static string GetWebSiteUsername(UserSettings webPolicy, string domainName) + { + UsernamePolicy policy = new UsernamePolicy(webPolicy["AnonymousAccountPolicy"]); + + // remove dots from the domain + domainName = Regex.Replace(domainName, "\\W+", "", RegexOptions.Compiled); + + if (!policy.Enabled) + { + // default algorythm + int maxLength = MAX_ACCOUNT_LENGTH - ANON_ACCOUNT_SUFFIX.Length - 2; + string username = (domainName.Length > maxLength) ? domainName.Substring(0, maxLength) : domainName; + return (username + ANON_ACCOUNT_SUFFIX); // suffix + } + else + { + // policy-enabled + // use prefix and suffix only + + // adjust maximum length + int maxLength = MAX_ACCOUNT_LENGTH - 2; // 2 symbols for number + if (policy.Prefix != null) + maxLength -= policy.Prefix.Length; + + if (policy.Suffix != null) + maxLength -= policy.Suffix.Length; + + string username = (domainName.Length > maxLength) ? domainName.Substring(0, maxLength) : domainName; + return ((policy.Prefix != null) ? policy.Prefix : "") + + username + + ((policy.Suffix != null) ? policy.Suffix : ""); + } + } + + private static string GetWebFolder(int packageId, string pattern, string domainName) + { + string path = Utils.ReplaceStringVariable(pattern, "domain_name", domainName); + return FilesController.GetFullPackagePath(packageId, path); + } + + private static string GetFrontPageUsername(string domainName) + { + int maxLength = MAX_ACCOUNT_LENGTH - FRONTPAGE_ACCOUNT_SUFFIX.Length - 1; + string username = (domainName.Length > maxLength) ? domainName.Substring(0, maxLength) : domainName; + return (username + FRONTPAGE_ACCOUNT_SUFFIX); // suffix + } + + public static string GetWebUsersOU(int packageId) + { + int webServiceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.Web); + if (webServiceId > 0) + { + // get users OU defined on web server + StringDictionary webSettings = ServerController.GetServiceSettings(webServiceId); + return webSettings["ADUsersOU"]; + } + return null; + } + #endregion + + #region Web Site Pointers + public static List GetWebSitePointers(int siteItemId) + { + List pointers = new List(); + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return pointers; + + // get the list of all domains + List myDomains = ServerController.GetMyDomains(siteItem.PackageId); + + foreach (DomainInfo domain in myDomains) + { + if (domain.WebSiteId == siteItemId && + String.Compare(domain.DomainName, siteItem.Name, true) != 0) + pointers.Add(domain); + } + + return pointers; + } + + public static int AddWebSitePointer(int siteItemId, string hostName, int domainId) + { + return AddWebSitePointer(siteItemId, hostName, domainId, true, true, false); + } + + internal static int AddWebSitePointer(int siteItemId, string hostName, int domainId, bool updateWebSite) + { + return AddWebSitePointer(siteItemId, hostName, domainId, updateWebSite, false, false); + } + + internal static int AddWebSitePointer(int siteItemId, string hostName, int domainId, bool updateWebSite, bool ignoreGlobalDNSRecords, bool rebuild) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // load domain item + DomainInfo domain = ServerController.GetDomain(domainId); + if (domain == null) + return BusinessErrorCodes.ERROR_DOMAIN_PACKAGE_ITEM_NOT_FOUND; + + // check if the web site already exists + if (!rebuild) + { + if (DataProvider.CheckDomain(domain.PackageId, string.IsNullOrEmpty(hostName) ? domain.DomainName : hostName + "." + domain.DomainName, true) != 0) + return BusinessErrorCodes.ERROR_WEB_SITE_ALREADY_EXISTS; + } + + // get zone records for the service + List dnsRecords = ServerController.GetDnsRecordsByService(siteItem.ServiceId); + + // load web site IP address + IPAddressInfo ip = ServerController.GetIPAddress(siteItem.SiteIPAddressId); + + // place log record + TaskManager.StartTask("WEB_SITE", "ADD_POINTER", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Domain pointer", domain.DomainName); + TaskManager.WriteParameter("Host name", hostName); + TaskManager.WriteParameter("updateWebSite", updateWebSite.ToString()); + + try + { + + + // load appropriate zone + DnsZone zone = (DnsZone)PackageController.GetPackageItem(domain.ZoneItemId); + + + if (zone != null) + { + // change DNS zone + List tmpDnsRecords = new List(); + + string serviceIp = (ip != null) ? ip.ExternalIP : null; + + if (string.IsNullOrEmpty(serviceIp)) + { + StringDictionary settings = ServerController.GetServiceSettings(siteItem.ServiceId); + if (settings["PublicSharedIP"] != null) + serviceIp = settings["PublicSharedIP"].ToString(); + } + + //filter initiat GlobaDNSRecords list + if (ignoreGlobalDNSRecords) + { + //ignore all other except the host_name record + foreach (GlobalDnsRecord r in dnsRecords) + { + if (r.RecordName == "[host_name]") + { + tmpDnsRecords.Add(r); + break; + } + } + } + else + tmpDnsRecords = dnsRecords; + + + List resourceRecords = DnsServerController.BuildDnsResourceRecords(tmpDnsRecords, hostName, domain.DomainName, serviceIp); + + if (!rebuild) + { + foreach (DnsRecord r in resourceRecords) + { + if (r.RecordName != "*") + { + // check if the web site already exists + if (DataProvider.CheckDomain(domain.PackageId, string.IsNullOrEmpty(r.RecordName) ? domain.DomainName : r.RecordName + "." + domain.DomainName, true) != 0) + return BusinessErrorCodes.ERROR_WEB_SITE_ALREADY_EXISTS; + } + } + } + + try + { + DNSServer dns = new DNSServer(); + ServiceProviderProxy.Init(dns, zone.ServiceId); + + DnsRecord[] domainRecords = dns.GetZoneRecords(zone.Name); + var duplicateRecords = (from zoneRecord in domainRecords + from resRecord in resourceRecords + where zoneRecord.RecordName == resRecord.RecordName + where zoneRecord.RecordType == resRecord.RecordType + select zoneRecord).ToArray(); + if (duplicateRecords != null && duplicateRecords.Count() > 0) + { + dns.DeleteZoneRecords(zone.Name, duplicateRecords); + } + + // add new resource records + dns.AddZoneRecords(zone.Name, resourceRecords.ToArray()); + } + catch (Exception ex1) + { + TaskManager.WriteError(ex1, "Error updating DNS records"); + } + } + + // update host headers + List bindings = new List(); + + // get existing web site bindings + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + + bindings.AddRange(web.GetSiteBindings(siteItem.SiteId)); + + // check if web site has dedicated IP assigned + bool dedicatedIp = bindings.Exists(binding => { return String.IsNullOrEmpty(binding.Host) && binding.IP != "*"; }); + + // update binding only for "shared" ip addresses + // add new host headers + string ipAddr = "*"; + if (ip != null) + ipAddr = !String.IsNullOrEmpty(ip.InternalIP) ? ip.InternalIP : ip.ExternalIP; + + // fill bindings + FillWebServerBindings(bindings, dnsRecords, ipAddr, hostName, domain.DomainName, ignoreGlobalDNSRecords); + + //for logging purposes + foreach (ServerBinding b in bindings) + { + string header = string.Format("{0} {1} {2}", b.Host, b.IP, b.Port); + TaskManager.WriteParameter("Add Binding", header); + } + + // update bindings + if (updateWebSite) + web.UpdateSiteBindings(siteItem.SiteId, bindings.ToArray(), false); + + // update domain + if (!rebuild) + { + domain.WebSiteId = siteItemId; + domain.IsDomainPointer = true; + foreach (ServerBinding b in bindings) + { + //add new domain record + if (!string.IsNullOrEmpty(b.Host)) + { + domain.DomainName = b.Host; + + DomainInfo domainTmp = ServerController.GetDomain(domain.DomainName); + if (!((domainTmp != null) && (domainTmp.WebSiteId == siteItemId))) + { + int domainID = ServerController.AddDomain(domain, domain.IsInstantAlias, false); + domainTmp = ServerController.GetDomain(domainID); + if (domainTmp != null) + { + domainTmp.WebSiteId = siteItemId; + domainTmp.ZoneItemId = domain.ZoneItemId; + domainTmp.DomainItemId = domainId; + + ServerController.UpdateDomain(domainTmp); + } + } + } + } + } + else + { + if (domain.ZoneItemId > 0) + { + DomainInfo domainTmp = ServerController.GetDomain(string.IsNullOrEmpty(hostName) ? domain.DomainName : hostName + "." + domain.DomainName, true, true); + if (domainTmp != null) + { + domainTmp.ZoneItemId = domain.ZoneItemId; + ServerController.UpdateDomain(domainTmp); + } + } + } + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int DeleteWebSitePointer(int siteItemId, int domainId) + { + return DeleteWebSitePointer(siteItemId, domainId, true, true, true); + } + + public static int DeleteWebSitePointer(int siteItemId, int domainId, bool updateWebSite, bool ignoreGlobalDNSRecords, bool deleteDomainsRecord) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // load domain item + DomainInfo domain = ServerController.GetDomain(domainId); + if (domain == null) + return BusinessErrorCodes.ERROR_DOMAIN_PACKAGE_ITEM_NOT_FOUND; + + // load appropriate zone + DnsZone zone = (DnsZone)PackageController.GetPackageItem(domain.ZoneItemId); + + // get zone records for the service + List dnsRecords = ServerController.GetDnsRecordsByService(siteItem.ServiceId); + + // load web site IP address + IPAddressInfo ip = ServerController.GetIPAddress(siteItem.SiteIPAddressId); + + // place log record + TaskManager.StartTask("WEB_SITE", "DELETE_POINTER", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Domain pointer", domain.DomainName); + TaskManager.WriteParameter("updateWebSite", updateWebSite.ToString()); + + try + { + if (zone != null) + { + // change DNS zone + List tmpDnsRecords = new List(); + + string serviceIp = (ip != null) ? ip.ExternalIP : null; + + if (string.IsNullOrEmpty(serviceIp)) + { + StringDictionary settings = ServerController.GetServiceSettings(siteItem.ServiceId); + if (settings["PublicSharedIP"] != null) + serviceIp = settings["PublicSharedIP"].ToString(); + } + + if (ignoreGlobalDNSRecords) + { + foreach (GlobalDnsRecord r in dnsRecords) + { + if ((r.RecordName == "[host_name]") | ((r.RecordName + (string.IsNullOrEmpty(r.RecordName) ? domain.ZoneName : "." + domain.ZoneName)) == domain.DomainName)) + tmpDnsRecords.Add(r); + } + } + else tmpDnsRecords = dnsRecords; + + List resourceRecords = DnsServerController.BuildDnsResourceRecords( + tmpDnsRecords, domain.DomainName, "", serviceIp); + + try + { + DNSServer dns = new DNSServer(); + ServiceProviderProxy.Init(dns, zone.ServiceId); + dns.DeleteZoneRecords(zone.Name, resourceRecords.ToArray()); + } + catch(Exception ex1) + { + TaskManager.WriteError(ex1, "Error deleting DNS records"); + } + } + + // get existing web site bindings + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + + List bindings = new List(); + bindings.AddRange(web.GetSiteBindings(siteItem.SiteId)); + + // check if web site has dedicated IP assigned + bool dedicatedIp = bindings.Exists(binding => { return String.IsNullOrEmpty(binding.Host) && binding.IP != "*"; }); + + // update binding only for "shared" ip addresses + + // remove host headers + List domainBindings = new List(); + FillWebServerBindings(domainBindings, dnsRecords, "", domain.DomainName, "", ignoreGlobalDNSRecords); + + // fill to remove list + List headersToRemove = new List(); + foreach (ServerBinding domainBinding in domainBindings) + headersToRemove.Add(domainBinding.Host); + + // remove bndings + bindings.RemoveAll(b => { return headersToRemove.Contains(b.Host) && b.Port == "80"; } ); + + // update bindings + if (updateWebSite) + web.UpdateSiteBindings(siteItem.SiteId, bindings.ToArray(), true); + + // update domain + if (deleteDomainsRecord) + { + if ((domain.WebSiteId > 0) && (!domain.IsDomainPointer)) + { + domain.WebSiteId = 0; + ServerController.UpdateDomain(domain); + } + else + { + domain.WebSiteId = 0; + ServerController.UpdateDomain(domain); + ServerController.DeleteDomain(domain.DomainId); + } + } + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + #region Virtual Directories + public static List GetVirtualDirectories(int siteItemId) + { + List dirs = new List(); + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return dirs; + + // truncate home folders + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + WebVirtualDirectory[] vdirs = web.GetVirtualDirectories(siteItem.SiteId); + + foreach (WebVirtualDirectory vdir in vdirs) + { + vdir.ContentPath = FilesController.GetVirtualPackagePath(siteItem.PackageId, vdir.ContentPath); + dirs.Add(vdir); + } + + return dirs; + } + + public static WebVirtualDirectory GetVirtualDirectory(int siteItemId, string vdirName) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // create directory + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + WebVirtualDirectory vdir = web.GetVirtualDirectory(siteItem.SiteId, vdirName); + // truncate home folder + vdir.ContentPath = FilesController.GetVirtualPackagePath(siteItem.PackageId, vdir.ContentPath); + + // set name + vdir.ParentSiteName = siteItem.Name; + vdir.PackageId = siteItem.PackageId; + return vdir; + } + + public static int AddVirtualDirectory(int siteItemId, string vdirName, string vdirPath) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // check package + int packageCheck = SecurityContext.CheckPackage(siteItem.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; + + // place log record + TaskManager.StartTask("WEB_SITE", "ADD_VDIR", vdirName); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Web site", siteItem.Name); + + try + { + // create virtual directory + WebVirtualDirectory dir = new WebVirtualDirectory(); + dir.Name = vdirName; + dir.ContentPath = FilesController.GetFullPackagePath(siteItem.PackageId, vdirPath); + + dir.EnableAnonymousAccess = true; + dir.EnableWindowsAuthentication = true; + dir.EnableBasicAuthentication = false; + + //dir.InstalledDotNetFramework = aspNet; + + dir.DefaultDocs = null; // inherit from service + dir.HttpRedirect = ""; + dir.HttpErrors = null; + dir.MimeMaps = null; + + // create directory + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + if (web.VirtualDirectoryExists(siteItem.SiteId, vdirName)) + return BusinessErrorCodes.ERROR_VDIR_ALREADY_EXISTS; + + web.CreateVirtualDirectory(siteItem.SiteId, dir); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int UpdateVirtualDirectory(int siteItemId, WebVirtualDirectory vdir) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "UPDATE_VDIR", vdir.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Web site", siteItem.Name); + + try + { + // normalize path + vdir.ContentPath = FilesController.GetFullPackagePath(siteItem.PackageId, vdir.ContentPath); + + // create directory + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + web.UpdateVirtualDirectory(siteItem.SiteId, vdir); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int DeleteVirtualDirectory(int siteItemId, string vdirName) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + // place log record + TaskManager.StartTask("WEB_SITE", "DELETE_VDIR", vdirName); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Web site", siteItem.Name); + + try + { + // create directory + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + web.DeleteVirtualDirectory(siteItem.SiteId, vdirName); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + #region FrontPage + public static int InstallFrontPage(int siteItemId, string username, string password) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // check package + int packageCheck = SecurityContext.CheckPackage(siteItem.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; + + // place log record + TaskManager.StartTask("WEB_SITE", "INSTALL_FP", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("FrontPage username", username); + + try + { + + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + + // load original site + //WebSite origSite = GetWebSite(siteItemId); + + // install FP + bool success = web.InstallFrontPage(siteItem.SiteId, username, password); + if (!success) + { + TaskManager.WriteWarning("Account exists"); + return BusinessErrorCodes.ERROR_FP_ACCOUNT_EXISTS; + } + + // update site with FP account + siteItem.FrontPageAccount = username; + siteItem.FrontPagePassword = CryptoUtils.Encrypt(password); + PackageController.UpdatePackageItem(siteItem); + + // restore original site + //UpdateWebSite(origSite); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int UninstallFrontPage(int siteItemId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "UNINSTALL_FP", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("FrontPage username", siteItem.FrontPageAccount); + + try + { + if (String.IsNullOrEmpty(siteItem.FrontPageAccount)) + siteItem.FrontPageAccount = GetFrontPageUsername(siteItem.Name); + + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + web.UninstallFrontPage(siteItem.SiteId, siteItem.FrontPageAccount); + + // update site with FP account + siteItem.FrontPageAccount = ""; + PackageController.UpdatePackageItem(siteItem); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int ChangeFrontPagePassword(int siteItemId, string password) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "CHANGE_FP_PASSWORD", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("FrontPage username", siteItem.FrontPageAccount); + + try + { + if (String.IsNullOrEmpty(siteItem.FrontPageAccount)) + siteItem.FrontPageAccount = GetFrontPageUsername(siteItem.Name); + + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + web.ChangeFrontPagePassword(siteItem.FrontPageAccount, password); + + // update site with FP account + siteItem.FrontPagePassword = CryptoUtils.Encrypt(password); + PackageController.UpdatePackageItem(siteItem); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + #region Secured Folders + public static int InstallSecuredFolders(int siteItemId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "INSTALL_SECURED_FOLDERS", siteItem.Name); + TaskManager.ItemId = siteItemId; + + try + { + + // install folders + WebServer web = GetWebServer(siteItem.ServiceId); + web.InstallSecuredFolders(siteItem.SiteId); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int UninstallSecuredFolders(int siteItemId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "UNINSTALL_SECURED_FOLDERS", siteItem.Name); + TaskManager.ItemId = siteItemId; + + try + { + // install folders + WebServer web = GetWebServer(siteItem.ServiceId); + web.UninstallSecuredFolders(siteItem.SiteId); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static WebFolder[] GetFolders(int siteItemId) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // get folders + WebServer web = GetWebServer(siteItem.ServiceId); + return web.GetFolders(siteItem.SiteId); + } + + public static WebFolder GetFolder(int siteItemId, string folderPath) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // get folder + WebServer web = GetWebServer(siteItem.ServiceId); + return web.GetFolder(siteItem.SiteId, folderPath); + } + + public static int UpdateFolder(int siteItemId, WebFolder folder) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + folder.Path = FilesController.CorrectRelativePath(folder.Path); + + // place log record + TaskManager.StartTask("WEB_SITE", "UPDATE_SECURED_FOLDER", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Folder", folder.Path); + + try + { + // update folder + WebServer web = GetWebServer(siteItem.ServiceId); + web.UpdateFolder(siteItem.SiteId, folder); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int DeleteFolder(int siteItemId, string folderPath) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "DELETE_SECURED_FOLDER", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Folder", folderPath); + + try + { + // delete folder + WebServer web = GetWebServer(siteItem.ServiceId); + web.DeleteFolder(siteItem.SiteId, folderPath); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + #region Secured Users + public static WebUser[] GetUsers(int siteItemId) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // get users + WebServer web = GetWebServer(siteItem.ServiceId); + return web.GetUsers(siteItem.SiteId); + } + + public static WebUser GetUser(int siteItemId, string userName) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // get user + WebServer web = GetWebServer(siteItem.ServiceId); + return web.GetUser(siteItem.SiteId, userName); + } + + public static int UpdateUser(int siteItemId, WebUser user) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "UPDATE_SECURED_USER", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("User", user.Name); + + try + { + // update user + WebServer web = GetWebServer(siteItem.ServiceId); + web.UpdateUser(siteItem.SiteId, user); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int DeleteUser(int siteItemId, string userName) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "DELETE_SECURED_USER", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("User", userName); + + try + { + // delete user + WebServer web = GetWebServer(siteItem.ServiceId); + web.DeleteUser(siteItem.SiteId, userName); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + #region Secured Groups + public static WebGroup[] GetGroups(int siteItemId) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // get groups + WebServer web = GetWebServer(siteItem.ServiceId); + return web.GetGroups(siteItem.SiteId); + } + + public static WebGroup GetGroup(int siteItemId, string groupName) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // get group + WebServer web = GetWebServer(siteItem.ServiceId); + return web.GetGroup(siteItem.SiteId, groupName); + } + + public static int UpdateGroup(int siteItemId, WebGroup group) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "UPDATE_SECURED_GROUP", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Group", group.Name); + + try + { + // update group + WebServer web = GetWebServer(siteItem.ServiceId); + web.UpdateGroup(siteItem.SiteId, group); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int DeleteGroup(int siteItemId, string groupName) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "DELETE_SECURED_GROUP", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Group", groupName); + + try + { + // delete group + WebServer web = GetWebServer(siteItem.ServiceId); + web.DeleteGroup(siteItem.SiteId, groupName); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + #region Shared SSL Folders + public static List GetSharedSSLDomains(int packageId) + { + List domains = new List(); + + PackageSettings settings = PackageController.GetPackageSettings(packageId, PackageSettings.SHARED_SSL_SITES); + if (settings != null && !String.IsNullOrEmpty(settings["SharedSslSites"])) + domains.AddRange(settings["SharedSslSites"].Split(';')); + + return domains; + } + + public static DataSet GetRawSSLFoldersPaged(int packageId, + string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) + { + return PackageController.GetRawPackageItemsPaged(packageId, typeof(SharedSSLFolder), + true, filterColumn, filterValue, sortColumn, startRow, maximumRows); + } + + public static List GetSharedSSLFolders(int packageId, bool recursive) + { + List items = PackageController.GetPackageItemsByType( + packageId, typeof(SharedSSLFolder), recursive); + + return items.ConvertAll( + new Converter(ConvertItemToSharedSSLFolder)); + } + + private static SharedSSLFolder ConvertItemToSharedSSLFolder(ServiceProviderItem item) + { + return (SharedSSLFolder)item; + } + + public static SharedSSLFolder GetSharedSSLFolder(int itemId) + { + // load original item + SharedSSLFolder vdirItem = (SharedSSLFolder)PackageController.GetPackageItem(itemId); + if (vdirItem == null) + return null; + + // load shared SSL site + int idx = vdirItem.Name.LastIndexOf("/"); + string domainName = vdirItem.Name.Substring(0, idx); + string vdirName = vdirItem.Name.Substring(idx + 1); + + WebServer web = GetWebServer(vdirItem.ServiceId); + string siteId = web.GetSiteId(domainName); + if (siteId == null) + return null; + + // get virtual directory + WebVirtualDirectory vdir = web.GetVirtualDirectory(siteId, vdirName); + if (vdir != null) + { + vdir.ContentPath = FilesController.GetVirtualPackagePath(vdirItem.PackageId, vdir.ContentPath); + } + vdir.Id = itemId; + vdir.Name = vdirItem.Name; + vdir.PackageId = vdirItem.PackageId; + return ObjectUtils.ConvertObject(vdir); + } + + public static int AddSharedSSLFolder(int packageId, string sslDomain, int webSiteId, string vdirName, string vdirPath) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // check package + int packageCheck = SecurityContext.CheckPackage(packageId, DemandPackage.IsActive); + if (packageCheck < 0) return packageCheck; + + // check quota + QuotaValueInfo sitesQuota = PackageController.GetPackageQuota(packageId, Quotas.WEB_SHAREDSSL); + if (sitesQuota.QuotaExhausted) + return BusinessErrorCodes.ERROR_WEB_SHARED_SSL_QUOTA_LIMIT; + + //get site + WebSite site = GetWebSite(webSiteId); + bool updateRequired = (site != null) && (site.Name.Equals(sslDomain, StringComparison.InvariantCulture) != true); + + // place log record + TaskManager.StartTask("WEB_SITE", "ADD_SSL_FOLDER", sslDomain); + TaskManager.WriteParameter("Directory name", vdirName); + TaskManager.WriteParameter("Path", vdirPath); + + try + { + // create virtual directory + SharedSSLFolder dir = new SharedSSLFolder(); + dir.Name = vdirName; + dir.ContentPath = FilesController.GetFullPackagePath(packageId, vdirPath); + + dir.EnableAnonymousAccess = true; + dir.EnableWindowsAuthentication = true; + dir.EnableBasicAuthentication = false; + + //dir.InstalledDotNetFramework = aspNet; + + dir.DefaultDocs = null; // inherit from service + dir.HttpRedirect = ""; + dir.HttpErrors = null; + dir.MimeMaps = null; + + // create directory + int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.Web); + WebServer web = GetWebServer(serviceId); + + // get site id + string siteId = web.GetSiteId(sslDomain); + if (siteId == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // check if vdir exists + if (web.VirtualDirectoryExists(siteId, vdirName)) + return BusinessErrorCodes.ERROR_VDIR_ALREADY_EXISTS; + + if (updateRequired) + { + dir.ApplicationPool = site.ApplicationPool; + dir.AnonymousUsername = site.AnonymousUsername; + dir.AnonymousUserPassword = site.AnonymousUserPassword; + dir.DedicatedApplicationPool = site.DedicatedApplicationPool; + dir.AspInstalled = site.AspInstalled; + dir.AspNetInstalled = site.AspNetInstalled; + dir.CgiBinInstalled = site.CgiBinInstalled; + } + + // create vdir + WebVirtualDirectory virtDir = ObjectUtils.ConvertObject(dir); + web.CreateVirtualDirectory(siteId, virtDir); + + //anonymous user and applcation pool + if (updateRequired) + { + web.UpdateVirtualDirectory(siteId, virtDir); + } + + // save item + dir.Name = sslDomain + "/" + vdirName; + dir.PackageId = packageId; + dir.ServiceId = serviceId; + TaskManager.ItemId = PackageController.AddPackageItem(dir); + + return TaskManager.ItemId; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int UpdateSharedSSLFolder(SharedSSLFolder vdir) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load original item + SharedSSLFolder origVdir = (SharedSSLFolder)PackageController.GetPackageItem(vdir.Id); + if (origVdir == null) + return 0; + + // place log record + TaskManager.StartTask("WEB_SITE", "UPDATE_SSL_FOLDER", origVdir.Name); + TaskManager.ItemId = vdir.Id; + + try + { + int idx = origVdir.Name.LastIndexOf("/"); + string domainName = origVdir.Name.Substring(0, idx); + string vdirName = origVdir.Name.Substring(idx + 1); + + WebServer web = GetWebServer(origVdir.ServiceId); + string siteId = web.GetSiteId(domainName); + if (siteId == null) + return 0; + + // normalize path + vdir.ContentPath = FilesController.GetFullPackagePath(origVdir.PackageId, vdir.ContentPath); + vdir.Name = vdirName; + + // copy object + WebVirtualDirectory virtDir = ObjectUtils.ConvertObject(vdir); + + // update directory + web.UpdateVirtualDirectory(siteId, virtDir); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int DeleteSharedSSLFolder(int itemId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load original item + SharedSSLFolder origVdir = (SharedSSLFolder)PackageController.GetPackageItem(itemId); + if (origVdir == null) + return 0; + + // place log record + TaskManager.StartTask("WEB_SITE", "DELETE_SSL_FOLDER", origVdir.Name); + TaskManager.ItemId = itemId; + + try + { + int idx = origVdir.Name.LastIndexOf("/"); + string domainName = origVdir.Name.Substring(0, idx); + string vdirName = origVdir.Name.Substring(idx + 1); + + WebServer web = GetWebServer(origVdir.ServiceId); + string siteId = web.GetSiteId(domainName); + if (siteId == null) + return 0; + + // delete directory + web.DeleteVirtualDirectory(siteId, vdirName); + + // delete item + PackageController.DeletePackageItem(itemId); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + #region Web Deploy Publishing Access + + public static ResultObject SaveWebDeployPublishingProfile(int siteItemId, int[] serviceItemIds) + { + ResultObject result = new ResultObject { IsSuccess = true }; + + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "SaveWebDeployPublishingProfile"); + TaskManager.WriteParameter("SiteItemId", siteItemId); + + // load site item + var item = (WebSite)PackageController.GetPackageItem(siteItemId); + + // + if (item == null) + { + TaskManager.WriteError("Web site not found"); + // + result.AddError("WEBSITE_NOT_FOUND", null); + result.IsSuccess = false; + return result; + } + + // + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + TaskManager.WriteWarning("Current user is either demo or inactive"); + // + result.AddError("DEMO_USER", null); + result.IsSuccess = false; + return result; + } + + // check package + int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) + { + TaskManager.WriteWarning("Current user is either not allowed to access the package or the package inactive"); + // + result.AddError("NOT_ALLOWED", null); + result.IsSuccess = false; + return result; + } + + // Ensure all service items specified are within the same hosting space + // This is a logcally correct and secure statement than the other one + // TO-DO: Uncomment this line before demo! + //var profileIntegritySucceeded = false; + + var profileIntegritySucceeded = true; + // + foreach (int itemId in serviceItemIds) + { + try + { + // + PackageController.GetPackageItem(itemId); + // + profileIntegritySucceeded = true; + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + // + profileIntegritySucceeded = false; + // Exit from the loop + break; + } + } + + // + if (profileIntegritySucceeded == true) + { + // Build service items list + item.WebDeploySitePublishingProfile = String.Join(",", Array.ConvertAll(serviceItemIds, (int x) => { return x.ToString(); })); + // Put changes in effect + PackageController.UpdatePackageItem(item); + } + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + // + result.IsSuccess = false; + } + finally + { + TaskManager.CompleteTask(); + } + // + return result; + } + + public static ResultObject GrantWebDeployPublishingAccess(int siteItemId, string accountName, string accountPassword) + { + ResultObject result = new ResultObject { IsSuccess = true }; + + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "GrantWeDeployPublishingAccess"); + TaskManager.WriteParameter("SiteItemId", siteItemId); + + // load site item + var item = (WebSite)PackageController.GetPackageItem(siteItemId); + + // + if (item == null) + { + TaskManager.WriteError("Web site not found"); + // + result.AddError("WEBSITE_NOT_FOUND", null); + result.IsSuccess = false; + return result; + } + + // + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + TaskManager.WriteWarning("Current user is either demo or inactive"); + // + result.AddError("DEMO_USER", null); + result.IsSuccess = false; + return result; + } + + // check package + int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) + { + TaskManager.WriteWarning("Current user is either not allowed to access the package or the package inactive"); + // + result.AddError("NOT_ALLOWED", null); + result.IsSuccess = false; + return result; + } + + // + WebServer server = GetWebServer(item.ServiceId); + + StringDictionary webSettings = ServerController.GetServiceSettings(item.ServiceId); + if (!String.IsNullOrEmpty(webSettings["WmSvc.NETBIOS"])) + { + accountName = webSettings["WmSvc.NETBIOS"].ToString() + "\\" + accountName; + } + + // Most part of the functionality used to enable Web Deploy publishing correspond to those created for Web Management purposes, + // so we can re-use the existing functionality to deliver seamless development experience. + if (server.CheckWebManagementAccountExists(accountName)) + { + TaskManager.WriteWarning("Account name specified already exists"); + // + result.AddError("ACCOUNTNAME_PROHIBITED", null); + result.IsSuccess = false; + return result; + } + + // Most part of the functionality used to enable Web Deploy publishing correspond to those created for Web Management purposes, + // so we can re-use the existing functionality to deliver seamless development experience. + ResultObject passwResult = server.CheckWebManagementPasswordComplexity(accountPassword); + if (!passwResult.IsSuccess) + { + TaskManager.WriteWarning("Account password does not meet complexity requirements"); + // + result.ErrorCodes.AddRange(passwResult.ErrorCodes); + result.IsSuccess = false; + // + return result; + } + + // Execute a call to remote server to enable Web Deploy publishing access for the specified user account + server.GrantWebDeployPublishingAccess(item.SiteId, accountName, accountPassword); + // Enable Web Deploy flag for the web site + item.WebDeploySitePublishingEnabled = true; + // Remember Web Deploy publishing account + item.WebDeployPublishingAccount = accountName; + // Remember Web Deploy publishing password + item.WebDeployPublishingPassword = CryptoUtils.Encrypt(accountPassword); + // Put changes in effect + PackageController.UpdatePackageItem(item); + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + // + result.IsSuccess = false; + } + finally + { + TaskManager.CompleteTask(); + } + // + return result; + } + + public static void RevokeWebDeployPublishingAccess(int siteItemId) + { + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "RevokeWebDeployPublishingAccess"); + TaskManager.WriteParameter("SiteItemId", siteItemId); + + // load site item + var item = (WebSite)PackageController.GetPackageItem(siteItemId); + + // + if (item == null) + { + TaskManager.WriteWarning("Web site not found"); + return; + } + + // + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + TaskManager.WriteWarning("Current user is either demo or inactive"); + return; + } + + // check package + int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) + { + TaskManager.WriteWarning("Current user is either not allowed to access the package or the package inactive"); + return; + } + + // + string accountName = item.WebDeployPublishingAccount; + // + if (String.IsNullOrEmpty(accountName)) + { + TaskManager.WriteWarning("Web Deploy Publishing Access account name is either not set or empty"); + return; + } + + // + WebServer server = GetWebServer(item.ServiceId); + // Revoke + server.RevokeWebDeployPublishingAccess(item.SiteId, accountName); + // Cleanup web site properties + item.WebDeployPublishingAccount = String.Empty; + item.WebDeploySitePublishingEnabled = false; + item.WebDeploySitePublishingProfile = String.Empty; + item.WebDeployPublishingPassword = String.Empty; + // Put changes into effect + PackageController.UpdatePackageItem(item); + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static ResultObject ChangeWebDeployPublishingPassword(int siteItemId, string newAccountPassword) + { + ResultObject result = new ResultObject { IsSuccess = true }; + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "ChangeWebDeployPublishingPassword"); + TaskManager.WriteParameter("SiteItemId", siteItemId); + + // + var item = (WebSite)PackageController.GetPackageItem(siteItemId); + + // + if (item == null) + { + TaskManager.WriteWarning("Web site not found"); + + // + result.AddError("WEBSITE_NOT_FOUND", null); + result.IsSuccess = false; + + return result; + } + + // + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + TaskManager.WriteWarning("Current user is either demo or inactive"); + + result.AddError("DEMO_USER", null); + result.IsSuccess = false; + + return result; + } + + // check package + int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) + { + TaskManager.WriteWarning("Current user is either not allowed to access the package or the package inactive"); + + // + result.AddError("NOT_ALLOWED", null); + result.IsSuccess = false; + + return result; + } + + // Revoke access first + RevokeWebDeployPublishingAccess(siteItemId); + // + result = GrantWebDeployPublishingAccess(siteItemId, item.WebDeployPublishingAccount, newAccountPassword); + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + // + return result; + } + + public static BytesResult GetWebDeployPublishingProfile(int siteItemId) + { + var result = new BytesResult(); + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "GetWebDeployPublishingProfile"); + TaskManager.WriteParameter("SiteItemId", siteItemId); + + // load site item + WebSite item = (WebSite)PackageController.GetPackageItem(siteItemId); + // + var siteItem = GetWebSite(siteItemId); + + // + if (item == null) + { + TaskManager.WriteWarning("Web site not found"); + return result; + } + + // + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + TaskManager.WriteWarning("Current user is either demo or inactive"); + return result; + } + + // check package + int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) + { + TaskManager.WriteWarning("Current user is either not allowed to access the package or the package inactive"); + return result; + } + + // + string accountName = item.WebDeployPublishingAccount; + // + if (String.IsNullOrEmpty(accountName)) + { + TaskManager.WriteWarning("Web Deploy Publishing Access account name is either not set or empty"); + return result; + } + // + var packageInfo = PackageController.GetPackage(item.PackageId); + // + var userInfo = UserController.GetUser(packageInfo.UserId); + // + var items = new Hashtable() + { + { "WebSite", siteItem }, + { "User", userInfo }, + }; + + // Retrieve service item ids from the profile + var serviceItemIds = Array.ConvertAll( + item.WebDeploySitePublishingProfile.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), + (string x) => { return Convert.ToInt32(x.Trim()); }); + + // + foreach (var serviceItemId in serviceItemIds) + { + var packageItem = PackageController.GetPackageItem(serviceItemId); + // Handle SQL databases + if (packageItem is SqlDatabase) + { + var dbItemKey = packageItem.GroupName.StartsWith("MsSQL") ? "MsSqlDatabase" : "MySqlDatabase"; + var dbServerKeyExt = packageItem.GroupName.StartsWith("MsSQL") ? "MsSqlServerExternalAddress" : "MySqlServerExternalAddress"; + var dbServerKeyInt = packageItem.GroupName.StartsWith("MsSQL") ? "MsSqlServerInternalAddress" : "MySqlServerInternalAddress"; + // + items.Add(dbItemKey, DatabaseServerController.GetSqlDatabase(serviceItemId)); + // Retrieve settings + var sqlSettings = ServerController.GetServiceSettings(packageItem.ServiceId); + items[dbServerKeyExt] = sqlSettings["ExternalAddress"]; + items[dbServerKeyInt] = sqlSettings["InternalAddress"]; + } + else if (packageItem is SqlUser) + { + var itemKey = packageItem.GroupName.StartsWith("MsSQL") ? "MsSqlUser" : "MySqlUser"; + // + items.Add(itemKey, DatabaseServerController.GetSqlUser(serviceItemId)); + } + else if (packageItem is FtpAccount) + { + // + items.Add("FtpAccount", FtpServerController.GetFtpAccount(serviceItemId)); + // Get FTP DNS records + List ftpRecords = ServerController.GetDnsRecordsByService(packageItem.ServiceId); + if (ftpRecords.Count > 0) + { + GlobalDnsRecord ftpRecord = ftpRecords[0]; + string ftpIp = ftpRecord.ExternalIP; + if (String.IsNullOrEmpty(ftpIp)) + ftpIp = ftpRecord.RecordData; + // Assign FTP service address variable + items["FtpServiceAddress"] = ftpIp; + } + } + } + + // Decrypt publishing password & copy related settings + siteItem.WebDeployPublishingPassword = CryptoUtils.Decrypt(item.WebDeployPublishingPassword); + siteItem.WebDeployPublishingAccount = item.WebDeployPublishingAccount; + siteItem.WebDeploySitePublishingEnabled = item.WebDeploySitePublishingEnabled; + siteItem.WebDeploySitePublishingProfile = item.WebDeploySitePublishingProfile; + + // Retrieve publishing profile template from the Web Policy settings + var webPolicy = UserController.GetUserSettings(packageInfo.UserId, UserSettings.WEB_POLICY); + // Instantiate template, it's content and related items and then evaluate it + var template = new Template(webPolicy["PublishingProfile"]); + // Receive bytes for the evaluated template + result.Value = Encoding.UTF8.GetBytes(template.Evaluate(items)); + // + result.IsSuccess = true; + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + // + result.IsSuccess = false; + } + finally + { + TaskManager.CompleteTask(); + } + // + return result; + } + + #endregion + + #region Helicon Ape + public static int EnableHeliconApe(int siteItemId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "ENABLE_HELICON_APE", siteItem.Name); + TaskManager.ItemId = siteItemId; + + try + { + + // install folders + WebServer web = GetWebServer(siteItem.ServiceId); + web.EnableHeliconApe(siteItem.SiteId); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + } + + public static int DisableHeliconApe(int siteItemId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "DISABLE_HELICON_APE", siteItem.Name); + TaskManager.ItemId = siteItemId; + + try + { + // install folders + WebServer web = GetWebServer(siteItem.ServiceId); + web.DisableHeliconApe(siteItem.SiteId); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + /// + /// Enables Helicon Ape on the server globally. Requires Administrator role to execute. + /// + /// + /// + public static int EnableHeliconApeGlobally(int ServiceId) + { + int accountCheck = SecurityContext.CheckAccount(DemandAccount.IsAdmin | DemandAccount.IsActive | DemandAccount.NotDemo); + if (accountCheck < 0) + { + return accountCheck; + } + + WebServer web = GetWebServer(ServiceId); + web.EnableHeliconApe(""); + + return 0; + } + + + /// + /// Disables Helicon Ape on the server globally. Requires Administrator role to execute. + /// + /// + /// + public static int DisableHeliconApeGlobally(int ServiceId) + { + int accountCheck = SecurityContext.CheckAccount(DemandAccount.IsAdmin | DemandAccount.IsActive | DemandAccount.NotDemo); + // + if (accountCheck < 0) + { + return accountCheck; + } + + WebServer web = GetWebServer(ServiceId); + web.DisableHeliconApe(""); + + return 0; + } + + + /// + /// Retrieves Helicon Ape extension status from the server. Requires Administrator role to execute. + /// + /// + /// + public static HeliconApeStatus GetHeliconApeStatus(int ServiceId) + { + int accountCheck = SecurityContext.CheckAccount(DemandAccount.IsAdmin | DemandAccount.IsActive | DemandAccount.NotDemo); + // + if (accountCheck < 0) + { + return HeliconApeStatus.Empty; + } + + WebServer web = GetWebServer(ServiceId); + + return web.GetHeliconApeStatus(""); + } + + /// + /// Installs Helicon Ape on the target server. Requires Administrator role to execute. + /// + /// + /// + public static int InstallHeliconApe(int ServiceId) + { + int accountCheck = SecurityContext.CheckAccount(DemandAccount.IsAdmin | DemandAccount.IsActive | DemandAccount.NotDemo); + // + if (accountCheck < 0) + { + return accountCheck; + } + // + WebServer web = GetWebServer(ServiceId); + // + web.InstallHeliconApe(String.Empty); + // + return 0; + } + + public static HtaccessFolder[] GetHeliconApeFolders(int siteItemId) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // get folders + WebServer web = GetWebServer(siteItem.ServiceId); + return web.GetHeliconApeFolders(siteItem.SiteId); + } + + public static HtaccessFolder GetHeliconApeHttpdFolder(int serviceId) + { + // get folder + WebServer web = GetWebServer(serviceId); + return web.GetHeliconApeHttpdFolder(); + } + + public static HtaccessFolder GetHeliconApeFolder(int siteItemId, string folderPath) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // get folder + WebServer web = GetWebServer(siteItem.ServiceId); + return web.GetHeliconApeFolder(siteItem.SiteId, folderPath); + } + + public static int UpdateHeliconApeFolder(int siteItemId, HtaccessFolder folder) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + folder.Path = FilesController.CorrectRelativePath(folder.Path); + + // place log record + TaskManager.StartTask("WEB_SITE", "UPDATE_HELICON_APE_FOLDER", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Folder", folder.Path); + + try + { + // update folder + WebServer web = GetWebServer(siteItem.ServiceId); + web.UpdateHeliconApeFolder(siteItem.SiteId, folder); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int UpdateHeliconApeHttpdFolder(int serviceId, HtaccessFolder folder) + { + folder.Path = FilesController.CorrectRelativePath(folder.Path); + + // place log record + TaskManager.StartTask("WEB_SITE", "UPDATE_HELICON_APE_HTTPD_FOLDER"); + TaskManager.WriteParameter("Folder", folder.Path); + + try + { + // update folder + WebServer web = GetWebServer(serviceId); + web.UpdateHeliconApeHttpdFolder(folder); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int DeleteHeliconApeFolder(int siteItemId, string folderPath) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "DELETE_HELICON_APE_FOLDER", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Folder", folderPath); + + try + { + // delete folder + WebServer web = GetWebServer(siteItem.ServiceId); + web.DeleteHeliconApeFolder(siteItem.SiteId, folderPath); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + #endregion + + #region Helicon Ape Users + public static HtaccessUser[] GetHeliconApeUsers(int siteItemId) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // get users + WebServer web = GetWebServer(siteItem.ServiceId); + return web.GetHeliconApeUsers(siteItem.SiteId); + } + + public static HtaccessUser GetHeliconApeUser(int siteItemId, string userName) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // get user + WebServer web = GetWebServer(siteItem.ServiceId); + return web.GetHeliconApeUser(siteItem.SiteId, userName); + } + + public static int UpdateHeliconApeUser(int siteItemId, HtaccessUser user) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "UPDATE_HELICON_APE_USER", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("User", user.Name); + + try + { + // update user + WebServer web = GetWebServer(siteItem.ServiceId); + web.UpdateHeliconApeUser(siteItem.SiteId, user); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int DeleteHeliconApeUser(int siteItemId, string userName) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "DELETE_HELICON_APE_USER", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("User", userName); + + try + { + // delete user + WebServer web = GetWebServer(siteItem.ServiceId); + web.DeleteHeliconApeUser(siteItem.SiteId, userName); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + #region Helicon Ape Groups + public static WebGroup[] GetHeliconApeGroups(int siteItemId) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // get groups + WebServer web = GetWebServer(siteItem.ServiceId); + return web.GetHeliconApeGroups(siteItem.SiteId); + } + + public static WebGroup GetHeliconApeGroup(int siteItemId, string groupName) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return null; + + // get group + WebServer web = GetWebServer(siteItem.ServiceId); + return web.GetHeliconApeGroup(siteItem.SiteId, groupName); + } + + public static int UpdateHeliconApeGroup(int siteItemId, WebGroup group) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "UPDATE_HELICON_APE_GROUP", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Group", group.Name); + + try + { + // update group + WebServer web = GetWebServer(siteItem.ServiceId); + web.UpdateHeliconApeGroup(siteItem.SiteId, group); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int DeleteHeliconApeGroup(int siteItemId, string groupName) + { + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return BusinessErrorCodes.ERROR_WEB_SITE_PACKAGE_ITEM_NOT_FOUND; + + // place log record + TaskManager.StartTask("WEB_SITE", "DELETE_HELICON_APE_GROUP", siteItem.Name); + TaskManager.ItemId = siteItemId; + TaskManager.WriteParameter("Group", groupName); + + try + { + // delete group + WebServer web = GetWebServer(siteItem.ServiceId); + web.DeleteHeliconApeGroup(siteItem.SiteId, groupName); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + #endregion + + #region Helicon Zoo + + public static List GetZooApplications(int siteItemId) + { + List dirs = new List(); + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return dirs; + + // truncate home folders + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + WebVirtualDirectory[] vdirs = web.GetZooApplications(siteItem.SiteId); + + foreach (WebVirtualDirectory vdir in vdirs) + { + vdir.ContentPath = FilesController.GetVirtualPackagePath(siteItem.PackageId, vdir.ContentPath); + dirs.Add(vdir); + } + + return dirs; + } + + public static StringResultObject SetZooEnvironmentVariable(int siteItemId, string appName, string envName, string envValue) + { + StringResultObject result = new StringResultObject {IsSuccess = false}; + + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return result; + + + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + return web.SetZooEnvironmentVariable(siteItem.SiteId, appName, envName, envValue); + } + + public static StringResultObject SetZooConsoleEnabled(int siteItemId, string appName) + { + StringResultObject result = new StringResultObject { IsSuccess = false }; + + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return result; + + + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + return web.SetZooConsoleEnabled(siteItem.SiteId, appName); + } + + + public static StringResultObject SetZooConsoleDisabled(int siteItemId, string appName) + { + StringResultObject result = new StringResultObject { IsSuccess = false }; + + + // load site item + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteItemId); + if (siteItem == null) + return result; + + + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + return web.SetZooConsoleDisabled(siteItem.SiteId, appName); + } + + #endregion + + #region WebManagement Access + + public static ResultObject GrantWebManagementAccess(int siteItemId, string accountName, string accountPassword) + { + ResultObject result = new ResultObject { IsSuccess = true }; + + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "GrantWebManagementAccess"); + TaskManager.WriteParameter("SiteItemId", siteItemId); + + // + WebSite item = GetWebSite(siteItemId); + + // + if (item == null) + { + TaskManager.WriteError("Web site not found"); + // + result.AddError("WEBSITE_NOT_FOUND", null); + result.IsSuccess = false; + return result; + } + + // + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + TaskManager.WriteWarning("Current user is either demo or inactive"); + // + result.AddError("DEMO_USER", null); + result.IsSuccess = false; + return result; + } + + // check package + int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) + { + TaskManager.WriteWarning("Current user is either not allowed to access the package or the package inactive"); + // + result.AddError("NOT_ALLOWED", null); + result.IsSuccess = false; + return result; + } + + // + WebServer server = GetWebServer(item.ServiceId); + + StringDictionary webSettings = ServerController.GetServiceSettings(item.ServiceId); + if (!String.IsNullOrEmpty(webSettings["WmSvc.NETBIOS"])) + { + accountName = webSettings["WmSvc.NETBIOS"].ToString() + "\\" + accountName; + } + + // + if (server.CheckWebManagementAccountExists(accountName)) + { + TaskManager.WriteWarning("Account name specified already exists"); + // + result.AddError("ACCOUNTNAME_PROHIBITED", null); + result.IsSuccess = false; + return result; + } + + // + ResultObject passwResult = server.CheckWebManagementPasswordComplexity(accountPassword); + if (!passwResult.IsSuccess) + { + TaskManager.WriteWarning("Account password does not meet complexity requirements"); + // + result.ErrorCodes.AddRange(passwResult.ErrorCodes); + result.IsSuccess = false; + // + return result; + } + + // + server.GrantWebManagementAccess(item.SiteId, accountName, accountPassword); + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + // + return result; + } + + public static void RevokeWebManagementAccess(int siteItemId) + { + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "RevokeWebManagementAccess"); + TaskManager.WriteParameter("SiteItemId", siteItemId); + + // + WebSite item = GetWebSite(siteItemId); + + // + if (item == null) + { + TaskManager.WriteWarning("Web site not found"); + return; + } + + // + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + TaskManager.WriteWarning("Current user is either demo or inactive"); + return; + } + + // check package + int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) + { + TaskManager.WriteWarning("Current user is either not allowed to access the package or the package inactive"); + return; + } + + // + string accountName = item.GetValue(WebSite.WmSvcAccountName); + // + if (String.IsNullOrEmpty(accountName)) + { + TaskManager.WriteWarning("WebManagement Access account name is either not set or empty"); + return; + } + + // + WebServer server = GetWebServer(item.ServiceId); + // + server.RevokeWebManagementAccess(item.SiteId, accountName); + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static ResultObject ChangeWebManagementAccessPassword(int siteItemId, string accountPassword) + { + ResultObject result = new ResultObject { IsSuccess = true }; + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "ChangeWebManagementAccessPassword"); + TaskManager.WriteParameter("SiteItemId", siteItemId); + + // + WebSite item = GetWebSite(siteItemId) as WebSite; + + // + if (item == null) + { + TaskManager.WriteWarning("Web site not found"); + + // + result.AddError("WEBSITE_NOT_FOUND", null); + result.IsSuccess = false; + + return result; + } + + // + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + TaskManager.WriteWarning("Current user is either demo or inactive"); + + result.AddError("DEMO_USER", null); + result.IsSuccess = false; + + return result; + } + + // check package + int packageCheck = SecurityContext.CheckPackage(item.PackageId, DemandPackage.IsActive); + if (packageCheck < 0) + { + TaskManager.WriteWarning("Current user is either not allowed to access the package or the package inactive"); + + // + result.AddError("NOT_ALLOWED", null); + result.IsSuccess = false; + + return result; + } + + // + string accountName = item.GetValue(WebSite.WmSvcAccountName); + // + if (String.IsNullOrEmpty(accountName)) + { + TaskManager.WriteWarning("WebManagement Access account name is either not set or empty"); + + result.AddError("EMPTY_WMSVC_ACCOUNT", null); + result.IsSuccess = false; + + return result; + } + + // + WebServer server = GetWebServer(item.ServiceId); + + // + ResultObject passwResult = server.CheckWebManagementPasswordComplexity(accountPassword); + if (!passwResult.IsSuccess) + { + TaskManager.WriteWarning("Account password does not meet complexity requirements"); + // + result.ErrorCodes.AddRange(passwResult.ErrorCodes); + result.IsSuccess = false; + // + return result; + } + // + server.ChangeWebManagementAccessPassword(accountName, accountPassword); + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + // + return result; + } + + #endregion + + #region IImportController Members + + public List GetImportableItems(int packageId, int itemTypeId, Type itemType, ResourceGroupInfo group) + { + List items = new List(); + + // get service id + int serviceId = PackageController.GetPackageServiceId(packageId, group.GroupName); + if (serviceId == 0) + return items; + + WebServer web = GetWebServer(serviceId); + if (itemType == typeof(WebSite)) + items.AddRange(web.GetSites()); + + return items; + } + + public void ImportItem(int packageId, int itemTypeId, Type itemType, + ResourceGroupInfo group, string itemName) + { + // Controller supports web sites only + if (itemType != typeof(WebSite)) + return; + // Get service id + int serviceId = PackageController.GetPackageServiceId(packageId, group.GroupName); + if (serviceId == 0) + return; + // + WebServer web = GetWebServer(serviceId); + // Obtaining web site unique id + string siteId = web.GetSiteId(itemName); + if (siteId == null) + return; + // Obtaining OperatingSystem service provider id within the context of package. + int osServiceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.Os); + if (osServiceId == 0) + return; + // + OS.OperatingSystem os = new OS.OperatingSystem(); + ServiceProviderProxy.Init(os, osServiceId); + + // get site info + WebSite site = web.GetSite(siteId); + PackageIPAddress ipMatch = default(PackageIPAddress); + + #region Resolving web site ip + // Loading package context to evaluate IP Addresses quota + PackageContext packageCtx = PackageController.GetPackageContext(packageId); + + // We are unable to step further because there are + // no bindings on the web site to choose from + if (site.Bindings == null || site.Bindings.Length == 0) + { + TaskManager.WriteError("Could not import the web site because it has no bindings assigned."); + return; + } + + // Loading service provider settings + StringDictionary webSettings = ServerController.GetServiceSettings(serviceId); + int sharedIpId = Utils.ParseInt(webSettings["SharedIP"], 0); + IPAddressInfo sharedIp = ServerController.GetIPAddress(sharedIpId); + + // Trying to match site's bindings to against either + // external or internal address of the shared ip + bool sharedIpMatch = Array.Exists(site.Bindings, + x => sharedIp != null && (x.IP.Equals(sharedIp.ExternalIP) || x.IP.Equals(sharedIp.InternalIP))); + + // Quering dedicated ips package quota allotted + bool dedicatedIpsAllotted = Array.Exists(packageCtx.QuotasArray, + x => x.QuotaName == Quotas.WEB_IP_ADDRESSES && x.QuotaAllocatedValue != 0); + + // By default we fallback to the service provider's shared ip, + // so the web site being imported is "hooked up" to the proper ip, + // even if current bindings match different ip for some reason + if (!dedicatedIpsAllotted || sharedIpMatch) + { + site.SiteIPAddressId = sharedIpId; + } + + // Trying to find a match in dedicated ips list if any. + if (dedicatedIpsAllotted && !sharedIpMatch) + { + // Obtaining first binding with non-empty ip + ServerBinding binding = Array.Find(site.Bindings, x => !String.IsNullOrEmpty(x.IP)); + // No bindings were found - throw an exception + if (binding == null) + { + TaskManager.WriteError(@"Could not import the web site because IP address field of all of its bindings is empty. +Please ensure the web site has been assigned bindings in the appropriate format and then try to run import procedure once again."); + return; + } + // + ServiceInfo webService = ServerController.GetServiceInfo(serviceId); + // Loading ip addresses from Web Sites address pool related to the package + List ips = ServerController.GetPackageUnassignedIPAddresses(packageId, IPAddressPool.WebSites); + // Looking for an entry matching by package and external/internal ip + ipMatch = Array.Find(ips.ToArray(), + x => x.ExternalIP == binding.IP || x.InternalIP == binding.IP); + // No match has been found - we are in a fault state + if (ipMatch == null) + { + TaskManager.WriteError(@"Could not import the web site because no dedicated IP address match in the target space has been found. +Please ensure the space has been allocated {0} IP address as a dedicated one and it is free. Then try to run import procedure once again.", binding.IP); + return; + } + // + site.SiteIPAddressId = ipMatch.AddressID; + } + #endregion + + // folders + UserInfo user = PackageController.GetPackageOwner(packageId); + UserSettings webPolicy = UserController.GetUserSettings(user.UserId, UserSettings.WEB_POLICY); + string packageHome = FilesController.GetHomeFolder(packageId); + + // add random string to the domain if specified + string randDomainName = itemName; + if (!String.IsNullOrEmpty(webPolicy["AddRandomDomainString"]) + && Utils.ParseBool(webPolicy["AddRandomDomainString"], false)) + randDomainName += "_" + Utils.GetRandomString(DOMAIN_RANDOM_LENGTH); + + // ROOT folder + string contentPath = GetWebFolder(packageId, WEBSITE_ROOT_FOLDER_PATTERN, randDomainName); + if (!String.IsNullOrEmpty(webPolicy["WebRootFolder"])) + contentPath = GetWebFolder(packageId, webPolicy["WebRootFolder"], randDomainName); + + // LOGS folder + string logsPath = GetWebFolder(packageId, WEBSITE_LOGS_FOLDER_PATTERN, randDomainName); + if (!String.IsNullOrEmpty(webPolicy["WebLogsFolder"])) + logsPath = GetWebFolder(packageId, webPolicy["WebLogsFolder"], randDomainName); + + // DATA folder + string dataPath = GetWebFolder(packageId, WEBSITE_DATA_FOLDER_PATTERN, randDomainName); + if (!String.IsNullOrEmpty(webPolicy["WebDataFolder"])) + dataPath = GetWebFolder(packageId, webPolicy["WebDataFolder"], randDomainName); + + // copy site files + try + { + os.CopyFile(site.ContentPath, contentPath); + } + catch (Exception ex) + { + TaskManager.WriteError(ex, "Can't copy web site files"); + } + + // copy site logs + try + { + string logFolder = (site.IIs7) ? site[WebSite.IIS7_SITE_ID] : "W3SVC" + siteId; + string logsSrcFolder = Path.Combine(site.LogsPath, logFolder); + if (os.DirectoryExists(logsSrcFolder)) + os.CopyFile(logsSrcFolder, Path.Combine(logsPath, logFolder)); + } + catch (Exception ex) + { + TaskManager.WriteError(ex, "Can't copy web site log files"); + } + + // set new folders + site.ContentPath = contentPath; + site.LogsPath = logsPath; + site.DataPath = dataPath; + + // update web site + web.UpdateSite(site); + + // process virtual directories + WebVirtualDirectory[] virtDirs = web.GetVirtualDirectories(siteId); + foreach (WebVirtualDirectory virtDirPointer in virtDirs) + { + try + { + // load virtual directory + WebVirtualDirectory virtDir = web.GetVirtualDirectory(siteId, virtDirPointer.Name); + + // copy directory files + string vdirPath = Path.Combine(contentPath, virtDir.Name); + os.CopyFile(virtDir.ContentPath, vdirPath); + + virtDir.ContentPath = vdirPath; + + // update directory + web.UpdateVirtualDirectory(siteId, virtDir); + } + catch (Exception ex) + { + TaskManager.WriteError(ex, String.Format("Error importing '{0}' virtual directory", + virtDirPointer.Name)); + continue; + } + } + + // import web site + site.ServiceId = serviceId; + site.PackageId = packageId; + site.Name = itemName; + site.SiteId = siteId; + int webSiteId = PackageController.AddPackageItem(site); + // Assign dedicated IP address to the web site from package context. + if (ipMatch != null) + { + ServerController.AddItemIPAddress(webSiteId, ipMatch.PackageAddressID); + } + + // restore/update domains + RestoreDomainsByWebSite(site.Bindings, packageId, webSiteId, itemName); + } + + private void RestoreDomainsByWebSite(ServerBinding[] bindings, int packageId, int webSiteId, string itemName) + { + // detect all web site related domains + List domainNames = new List(); + foreach (ServerBinding binding in bindings) + { + string pointerName = binding.Host; + if (pointerName == null) + continue; + pointerName = pointerName.ToLower(); + if (pointerName.StartsWith("www.")) + pointerName = pointerName.Substring(4); + + if (!domainNames.Contains(pointerName) && !String.IsNullOrEmpty(pointerName)) + domainNames.Add(pointerName); + } + + string siteName = itemName.ToLower(); + if (siteName.StartsWith("www.")) + siteName = siteName.Substring(4); + if (!domainNames.Contains(siteName)) + domainNames.Add(siteName); + + foreach (string domainName in domainNames) + { + DomainInfo domain = ServerController.GetDomain(domainName); + if (domain == null) + { + domain = new DomainInfo(); + domain.DomainName = domainName; + domain.PackageId = packageId; + domain.WebSiteId = webSiteId; + ServerController.AddDomainItem(domain); + } + else + { + domain.WebSiteId = webSiteId; + ServerController.UpdateDomain(domain); + } + } + } + + + public static int ImporHostHeader(int userId, int packageId, int siteId) + { + WebSite siteItem = (WebSite)PackageController.GetPackageItem(siteId); + if (siteItem == null) + return -1; + + // load live site from service + WebServer web = new WebServer(); + ServiceProviderProxy.Init(web, siteItem.ServiceId); + + // Verify if already exists + List domains = ServerController.GetDomains(packageId); + + // Get hostheader + foreach (ServerBinding b in web.GetSiteBindings(siteItem.SiteId)) + { + if ((!DoesHeaderExistInDomains(b.Host.ToLower(), domains)) && (!string.IsNullOrEmpty(b.Host))) + { + // If not get domain info and add to domains + int domainId = FindDomainForHeader(b.Host.ToLower(), domains); + if (domainId > 0) + { + DomainInfo domain = ServerController.GetDomain(domainId); + DomainInfo newDomain = new DomainInfo(); + newDomain.DomainName = b.Host.ToLower(); + newDomain.PackageId = domain.PackageId; + newDomain.IsDomainPointer = true; + + int newDomainID = ServerController.AddDomain(newDomain, domain.IsInstantAlias, false); + if (newDomainID > 0) + { + newDomain = ServerController.GetDomain(newDomainID); + if (newDomain != null) + { + newDomain.WebSiteId = siteId; + newDomain.ZoneItemId = domain.ZoneItemId; + newDomain.DomainItemId = domain.DomainId; + ServerController.UpdateDomain(newDomain); + } + } + } + } + } + + return 0; + } + + private static bool DoesHeaderExistInDomains(string header, List domains) + { + bool bExist = false; + + if (!string.IsNullOrEmpty(header)) + { + foreach (DomainInfo d in domains) + { + if ((header == d.DomainName.ToLower()) && + (d.IsDomainPointer)) + { + bExist = true; + break; + } + } + } + return bExist; + } + + + private static int FindDomainForHeader(string header, List domains) + { + int domainId = 0; + int counter = 0; + while ((header.IndexOf(".") != -1) & (counter < 2)) + { + + foreach (DomainInfo d in domains) + { + if ((header == d.DomainName.ToLower()) && (!d.IsDomainPointer)) + { + return d.DomainId; + } + } + + header = header.Substring(header.IndexOf(".") + 1); + counter++; + + } + + return domainId; + } + + + + #endregion + + #region IBackupController Members + + public int BackupItem(string tempFolder, System.Xml.XmlWriter writer, ServiceProviderItem item, ResourceGroupInfo group) + { + if (item is WebSite) + { + WebServer web = GetWebServer(item.ServiceId); + + // read web site + WebSite itemSite = item as WebSite; + string siteId = itemSite.SiteId; + WebSite site = web.GetSite(siteId); + site.SiteId = itemSite.SiteId; + site.SiteIPAddressId = itemSite.SiteIPAddressId; + site.DataPath = itemSite.DataPath; + site.FrontPageAccount = itemSite.FrontPageAccount; + site.FrontPagePassword = itemSite.FrontPagePassword; + + // serialize web site + XmlSerializer serializer = new XmlSerializer(typeof(WebSite)); + serializer.Serialize(writer, site); + + // process virtual directories + WebVirtualDirectory[] vdirs = web.GetVirtualDirectories(siteId); + foreach (WebVirtualDirectory vdirShort in vdirs) + { + WebVirtualDirectory vdir = web.GetVirtualDirectory(siteId, vdirShort.Name); + + // serialize vdir + serializer = new XmlSerializer(typeof(WebVirtualDirectory)); + serializer.Serialize(writer, vdir); + } + } + else if (item is SharedSSLFolder) + { + SharedSSLFolder sslFolder = GetSharedSSLFolder(item.Id); + + // convert content path to physical + sslFolder.ContentPath = FilesController.GetFullPackagePath(item.PackageId, sslFolder.ContentPath); + + XmlSerializer serializer = new XmlSerializer(typeof(SharedSSLFolder)); + serializer.Serialize(writer, sslFolder); + } + + return 0; + } + + public int RestoreItem(string tempFolder, System.Xml.XmlNode itemNode, int itemId, Type itemType, string itemName, int packageId, int serviceId, ResourceGroupInfo group) + { + if (itemType == typeof(WebSite)) + { + WebServer web = GetWebServer(serviceId); + + // restore web site + XmlSerializer serializer = new XmlSerializer(typeof(WebSite)); + WebSite site = (WebSite)serializer.Deserialize( + new XmlNodeReader(itemNode.SelectSingleNode("WebSite"))); + + // create site if required + if (!web.SiteExists(site.SiteId)) + { + web.CreateSite(site); + + // install FPSE if required + if (site.FrontPageInstalled && !web.IsFrontPageInstalled(site.SiteId)) + { + web.InstallFrontPage(site.SiteId, site.FrontPageAccount, + CryptoUtils.Decrypt(site.FrontPagePassword)); + } + } + + // restore virtual directories + foreach (XmlNode vdirNode in itemNode.SelectNodes("WebVirtualDirectory")) + { + // deserialize vdir + serializer = new XmlSerializer(typeof(WebVirtualDirectory)); + WebVirtualDirectory vdir = (WebVirtualDirectory)serializer.Deserialize( + new XmlNodeReader(vdirNode)); + + if (!web.VirtualDirectoryExists(site.SiteId, vdir.Name)) + { + web.CreateVirtualDirectory(site.SiteId, vdir); + } + } + + // add meta-item if required + int webSiteId = 0; + WebSite existItem = (WebSite)PackageController.GetPackageItemByName(packageId, itemName, typeof(WebSite)); + if (existItem == null) + { + site.PackageId = packageId; + site.ServiceId = serviceId; + webSiteId = PackageController.AddPackageItem(site); + } + else + { + webSiteId = existItem.Id; + } + + // restore/update domains + RestoreDomainsByWebSite(site.Bindings, packageId, webSiteId, itemName); + } + else if (itemType == typeof(SharedSSLFolder)) + { + WebServer web = GetWebServer(serviceId); + + // extract meta item + XmlSerializer serializer = new XmlSerializer(typeof(SharedSSLFolder)); + SharedSSLFolder sslFolder = (SharedSSLFolder)serializer.Deserialize( + new XmlNodeReader(itemNode.SelectSingleNode("SharedSSLFolder"))); + + // create vdir if required + int idx = sslFolder.Name.LastIndexOf("/"); + string domainName = sslFolder.Name.Substring(0, idx); + string vdirName = sslFolder.Name.Substring(idx + 1); + + string siteId = web.GetSiteId(domainName); + if (siteId == null) + return -1; + + if (!web.VirtualDirectoryExists(siteId, vdirName)) + { + web.CreateVirtualDirectory(siteId, sslFolder); + } + + // add meta-item if required + if (PackageController.GetPackageItemByName(packageId, itemName, typeof(SharedSSLFolder)) == null) + { + sslFolder.PackageId = packageId; + sslFolder.ServiceId = serviceId; + PackageController.AddPackageItem(sslFolder); + } + } + + return 0; + } + + #endregion + + #region SSL + public static SSLCertificate CertificateRequest(SSLCertificate certificate, int siteItemId) + { + + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "certificateRequest"); + TaskManager.WriteParameter("SiteItemId", siteItemId); + TaskManager.WriteParameter("Hostname", certificate.Hostname); + + + WebSite item = GetWebSite(siteItemId) as WebSite; + PackageInfo service = PackageController.GetPackage(item.PackageId); + TaskManager.WriteParameter("WebSite.Name", item.Name); + WebServer server = GetWebServer(item.ServiceId); + TaskManager.WriteParameter("item.ServiceId", item.ServiceId); + certificate.UserID = service.UserId; + // We want to have a unique identifier for the FriendlyName to help us to identify it easily + long ticks = DateTime.UtcNow.Ticks - DateTime.Parse("01/01/1970 00:00:00").Ticks; + ticks /= 10000000; // Convert windows ticks to seconds + + //clean up bindings + + + + certificate.FriendlyName = String.Format("{0}_{1}", certificate.Hostname, ticks.ToString()); + certificate = server.generateCSR(certificate); + certificate.id = DataProvider.AddSSLRequest(SecurityContext.User.UserId, item.PackageId, + certificate.SiteID, certificate.UserID, certificate.FriendlyName, certificate.Hostname, + certificate.CSR, certificate.CSRLength, certificate.DistinguishedName, certificate.IsRenewal, + certificate.PreviousId); + + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + + } + finally + { + TaskManager.CompleteTask(); + } + return certificate; + + } + + public static ResultObject InstallCertificate(SSLCertificate certificate, int siteItemId) + { + ResultObject result = new ResultObject { IsSuccess = true }; + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "installCertificate"); + TaskManager.WriteParameter("SiteItemId", siteItemId); + TaskManager.WriteParameter("Hostname", certificate.Hostname); + + + WebSite item = GetWebSite(siteItemId) as WebSite; + TaskManager.WriteParameter("WebSite.Name", item.Name); + WebServer server = GetWebServer(item.ServiceId); + TaskManager.WriteParameter("item.ServiceId", item.ServiceId); + + IPAddressInfo ip = ServerController.GetIPAddress(item.SiteIPAddressId); + + if (ip != null) + item.SiteIPAddress = !String.IsNullOrEmpty(ip.InternalIP) ? ip.InternalIP : ip.ExternalIP; + + certificate = server.installCertificate(certificate, item); + if (certificate.SerialNumber == null) + { + result.AddError("Error_Installing_certificate", null); + result.IsSuccess = false; + } + + + DataProvider.CompleteSSLRequest(SecurityContext.User.UserId, item.PackageId, + certificate.id, certificate.Certificate, + certificate.DistinguishedName, certificate.SerialNumber, + certificate.Hash, certificate.ValidFrom, certificate.ExpiryDate); + if (certificate.IsRenewal) + { + DataProvider.DeleteCertificate(SecurityContext.User.UserId, item.PackageId, certificate.PreviousId); + } + + } + catch (Exception ex) + { + result.AddError("0", ex); + TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + return result; + } + + public static ResultObject InstallPfx(byte[] pfx, int siteItemId, string password) + { + ResultObject result = new ResultObject { IsSuccess = true }; + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "installPFX"); + TaskManager.WriteParameter("SiteItemId", siteItemId); + + WebSite item = GetWebSite(siteItemId) as WebSite; + PackageInfo service = PackageController.GetPackage(item.PackageId); + + TaskManager.WriteParameter("WebSite.Name", item.Name); + WebServer server = GetWebServer(item.ServiceId); + TaskManager.WriteParameter("item.ServiceId", item.ServiceId); + + // remove all web site pointers + List pointers = GetWebSitePointers(siteItemId); + foreach (DomainInfo pointer in pointers) + DeleteWebSitePointer(siteItemId, pointer.DomainId, true, true, true); + + SSLCertificate certificate = server.installPFX(pfx, password, item); + if (certificate.SerialNumber == null) + { + result.AddError("Error_Installing_certificate", null); + result.IsSuccess = false; + } + DataProvider.AddPFX(SecurityContext.User.UserId, item.PackageId, item.Id, service.UserId, certificate.Hostname, + certificate.FriendlyName, certificate.DistinguishedName, certificate.CSRLength, certificate.SerialNumber, + certificate.ValidFrom, certificate.ExpiryDate); + + + } + catch (Exception ex) + { + result.IsSuccess = false; + result.AddError("Error_Installing_certificate", ex); + TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + return result; + } + + public static List GetPendingCertificates(int siteItemId) + { + WebSite item = GetWebSite(siteItemId) as WebSite; + List certificates = new List(); + return ObjectUtils.CreateListFromDataSet( + DataProvider.GetPendingCertificates(SecurityContext.User.UserId, item.PackageId, item.Id, false)); + + } + + public static SSLCertificate GetSslCertificateById(int iD) + { + return ObjectUtils.FillObjectFromDataReader( + DataProvider.GetSSLCertificateByID(SecurityContext.User.UserId, iD)); + } + + public static int CheckSSL(int siteID, bool renewal) + { + return DataProvider.CheckSSL(siteID, renewal); + } + + public static ResultObject CheckSSLForDomain(string domain, int siteID) + { + ResultObject result = new ResultObject { IsSuccess = true }; + return result; + } + + public static SSLCertificate GetSiteCert(int siteid) + { + return ObjectUtils.FillObjectFromDataReader( + DataProvider.GetSiteCert(SecurityContext.User.UserId, siteid)); + } + + public static List GetCertificatesForSite(int siteId) + { + WebSite item = GetWebSite(siteId) as WebSite; + List certificates = new List(); + return ObjectUtils.CreateListFromDataSet( + DataProvider.GetCertificatesForSite(SecurityContext.User.UserId, item.PackageId, item.Id)); + } + + public static byte[] ExportCertificate(int siteId, string serialNumber, string password) + { + WebSite item = GetWebSite(siteId) as WebSite; + + WebServer server = GetWebServer(item.ServiceId); + return server.exportCertificate(serialNumber, password); + } + + public static ResultObject DeleteCertificate(int siteId, SSLCertificate certificate) + { + + ResultObject result = new ResultObject { IsSuccess = true }; + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "DeleteCertificate"); + WebSite item = GetWebSite(siteId) as WebSite; + WebServer server = GetWebServer(item.ServiceId); + result = server.DeleteCertificate(certificate, item); + if (result.IsSuccess) + { + DataProvider.DeleteCertificate(SecurityContext.User.UserId, item.PackageId, certificate.id); + } + else + { + List exceptions = result.ErrorCodes; + foreach (string s in exceptions) + { + TaskManager.WriteError(s.ToString()); + } + } + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + result.IsSuccess = false; + } + finally + { + TaskManager.CompleteTask(); + } + return result; + } + + public static ResultObject ImportCertificate(int siteId) + { + ResultObject result = new ResultObject { IsSuccess = true }; + try + { + TaskManager.StartTask(LOG_SOURCE_WEB, "ImportCertificate"); + + WebSite item = GetWebSite(siteId) as WebSite; + WebServer server = GetWebServer(item.ServiceId); + PackageInfo service = PackageController.GetPackage(item.PackageId); + SSLCertificate certificate = server.ImportCertificate(item); + if (!certificate.Success) + { + result.IsSuccess = false; + TaskManager.WriteError(certificate.Certificate.ToString()); + } + else + { + DataProvider.AddPFX(SecurityContext.User.UserId, item.PackageId, item.Id, service.UserId, certificate.Hostname, + certificate.FriendlyName, certificate.DistinguishedName, certificate.CSRLength, certificate.SerialNumber, + certificate.ValidFrom, certificate.ExpiryDate); + } + + } + catch (Exception ex) + { + TaskManager.WriteError(ex); + result.IsSuccess = false; + + } + finally + { + TaskManager.CompleteTask(); + } + return result; + } + + public static ResultObject CheckCertificate(int siteId) + { + ResultObject result = new ResultObject { IsSuccess = false }; + bool serverResult = false; + + try + { + WebSite item = GetWebSite(siteId) as WebSite; + WebServer server = GetWebServer(item.ServiceId); + serverResult = server.CheckCertificate(item); + if (serverResult && !DataProvider.CheckSSLExistsForWebsite(siteId)) + { + result.IsSuccess = true; + } + } + catch (Exception ex) + { + + result.IsSuccess = false; + result.AddError("610", ex); + } + return result; + } + + public static ResultObject DeleteCertificateRequest(int siteId, int csrID) + { + ResultObject result = new ResultObject { IsSuccess = true }; + + try + { + WebSite item = GetWebSite(siteId); + PackageInfo service = PackageController.GetPackage(item.PackageId); + + DataProvider.DeleteCertificate(SecurityContext.User.UserId, service.PackageId, csrID); + } + catch (Exception ex) + { + + result.IsSuccess = false; + result.AddError("610", ex); + } + return result; + } + #endregion + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esHeliconZoo.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esHeliconZoo.asmx.cs index 6d812019..bdaef15f 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esHeliconZoo.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esHeliconZoo.asmx.cs @@ -97,5 +97,17 @@ namespace WebsitePanel.EnterpriseServer { HeliconZooController.SetEnabledEnginesForSite(siteId, packageId, engines); } + + [WebMethod] + public bool IsWebCosoleEnabled(int serviceId) + { + return HeliconZooController.IsWebCosoleEnabled(serviceId); + } + + [WebMethod] + public void SetWebCosoleEnabled(int serviceId, bool enabled) + { + HeliconZooController.SetWebCosoleEnabled(serviceId, enabled); + } } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs index 982c6f11..13e9059f 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esServers.asmx.cs @@ -751,7 +751,13 @@ namespace WebsitePanel.EnterpriseServer InitWPIFeeds(serverId); return OperatingSystemController.GetWPIProductsFiltered(serverId, keywordId); } - + + [WebMethod] + public WPIProduct GetWPIProductById(int serverId, string productdId) + { + InitWPIFeeds(serverId); + return OperatingSystemController.GetWPIProductById(serverId, productdId); + } [WebMethod] public WPIProduct[] GetWPIProductsWithDependencies(int serverId, string[] products) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebApplicationGallery.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebApplicationGallery.asmx.cs index 1c412911..4260b1c0 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebApplicationGallery.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebApplicationGallery.asmx.cs @@ -79,6 +79,14 @@ namespace WebsitePanel.EnterpriseServer return WebAppGalleryController.GetGalleryApplications(packageId, categoryId); } + [WebMethod] + public GalleryApplicationsResult GetInstaledApplications(int packageId, string categoryId) + { + WebAppGalleryController.InitFeeds(SecurityContext.User.UserId, packageId); + return WebAppGalleryController.GetGalleryApplications(packageId, categoryId); + } + + [WebMethod] public GalleryApplicationsResult GetGalleryApplicationsFiltered(int packageId, string pattern) { diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebServers.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebServers.asmx.cs index eb7d6282..59eca47c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebServers.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esWebServers.asmx.cs @@ -443,6 +443,8 @@ namespace WebsitePanel.EnterpriseServer #endregion + + #region Helicon Ape Users [WebMethod] public HtaccessUser[] GetHeliconApeUsers(int siteItemId) @@ -495,6 +497,38 @@ namespace WebsitePanel.EnterpriseServer } #endregion + #region Helicon Zoo + + [WebMethod] + public List GetZooApplications(int siteItemId) + { + return WebServerController.GetZooApplications(siteItemId); + } + + [WebMethod] + public StringResultObject SetZooEnvironmentVariable(int siteItemId, string appName, string envName, string envValue) + { + return WebServerController.SetZooEnvironmentVariable(siteItemId, appName, envName, envValue); + } + + + [WebMethod] + public StringResultObject SetZooConsoleEnabled(int siteItemId, string appName) + { + return WebServerController.SetZooConsoleEnabled(siteItemId, appName); + } + + [WebMethod] + public StringResultObject SetZooConsoleDisabled(int siteItemId, string appName) + { + return WebServerController.SetZooConsoleDisabled(siteItemId, appName); + } + + + + #endregion + + #region WebManagement Access diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HeliconZoo/IHeliconZooServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HeliconZoo/IHeliconZooServer.cs index a20189a9..8b285a14 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HeliconZoo/IHeliconZooServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HeliconZoo/IHeliconZooServer.cs @@ -92,5 +92,7 @@ namespace WebsitePanel.Providers.HeliconZoo void SwithEnginesEnabled(bool enabled); string[] GetEnabledEnginesForSite(string siteId); void SetEnabledEnginesForSite(string siteId, string[] engineNames); + bool IsWebCosoleEnabled(); + void SetWebCosoleEnabled(bool enabled); } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/IWebServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/IWebServer.cs index 2f4f31ed..3a00984d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/IWebServer.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/IWebServer.cs @@ -121,6 +121,12 @@ namespace WebsitePanel.Providers.Web void UpdateHeliconApeGroup(string siteId, WebGroup group); void DeleteHeliconApeGroup(string siteId, string groupName); + // Helicon Zoo + WebVirtualDirectory[] GetZooApplications(string siteId); + StringResultObject SetZooEnvironmentVariable(string siteId, string appName, string envName, string envValue); + StringResultObject SetZooConsoleEnabled(string siteId, string appName); + StringResultObject SetZooConsoleDisabled(string siteId, string appName); + // web app gallery bool CheckLoadUserProfile(); diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebVirtualDirectory.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebVirtualDirectory.cs index e89c2250..26bce3f7 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebVirtualDirectory.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/Web/WebVirtualDirectory.cs @@ -78,6 +78,7 @@ namespace WebsitePanel.Providers.Web private bool redirectPermanent; private bool sharePointInstalled; private bool iis7; + private string consoleUrl; public string AnonymousUsername { @@ -263,6 +264,12 @@ namespace WebsitePanel.Providers.Web get { return this.iis7; } set { this.iis7 = value; } } + + public string ConsoleUrl + { + get { return consoleUrl; } + set { consoleUrl = value; } + } #region Web Deploy Publishing Properties /// diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.HeliconZoo/HeliconZoo.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.HeliconZoo/HeliconZoo.cs index bb6adce0..8bfe4837 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.HeliconZoo/HeliconZoo.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.HeliconZoo/HeliconZoo.cs @@ -95,11 +95,15 @@ namespace WebsitePanel.Providers.Web.HeliconZoo { if ((string)switchboardElement.GetAttributeValue("name") == "*") { - switchboardDisabledDefault = !(bool)switchboardElement.GetAttributeValue("enabled"); + bool isEnabled = GetSwitchBoardValue(switchboardElement); + + switchboardDisabledDefault = !isEnabled ; break; } } + //main engines + foreach (ConfigurationElement item in enginesCollection) { HeliconZooEngine newItem = ConvertElementToHeliconZooEngine(item); @@ -107,6 +111,9 @@ namespace WebsitePanel.Providers.Web.HeliconZoo result.Add(newItem); } + + //userEngines + ConfigurationElement userEngines = heliconZooServer.GetChildElement("userEngines"); ConfigurationElementCollection userEnginesCollection = userEngines.GetCollection(); foreach (ConfigurationElement item in userEnginesCollection) @@ -126,6 +133,17 @@ namespace WebsitePanel.Providers.Web.HeliconZoo result.Add(newItem); } + + //Web console + HeliconZooEngine webConsole = new HeliconZooEngine + { + displayName = "Web console", + name = "console" + + }; + + result.Add(webConsole); + foreach (ConfigurationElement switchboardElement in switchboardCollection) @@ -133,7 +151,8 @@ namespace WebsitePanel.Providers.Web.HeliconZoo HeliconZooEngine item = Collection_GetHeliconZooEngineByName(result, (string)switchboardElement.GetAttributeValue("name")); if (item != null) { - item.disabled = !(bool)switchboardElement.GetAttributeValue("enabled"); + bool isEnabled = GetSwitchBoardValue(switchboardElement); + item.disabled = !isEnabled; } else { @@ -149,6 +168,17 @@ namespace WebsitePanel.Providers.Web.HeliconZoo return result.ToArray(); } + private bool GetSwitchBoardValue(ConfigurationElement switchboardElement) + { + return (0 == String.Compare((string)switchboardElement.GetAttributeValue("value"), + "Enabled", StringComparison.OrdinalIgnoreCase)); + } + + private void SetSwitchBoardValue(ConfigurationElement switchboardElement, bool enabled) + { + switchboardElement.SetAttributeValue("value", enabled ? "Enabled" : "Disabled"); + } + HeliconZooEngine Collection_GetHeliconZooEngineByName(List collection, string name) { foreach (HeliconZooEngine r in collection) @@ -184,15 +214,7 @@ namespace WebsitePanel.Providers.Web.HeliconZoo switchboardCollection.Clear(); - //Disable all engines, by default for WSP - /* - ConfigurationElement disableAll = switchboardCollection.CreateElement(); - disableAll.SetAttributeValue("name", "*"); - disableAll.SetAttributeValue("enabled", "false"); - switchboardCollection.Add(disableAll); - */ - - + foreach(HeliconZooEngine item in userEngines) { if (item.isUserEngine) @@ -202,12 +224,7 @@ namespace WebsitePanel.Providers.Web.HeliconZoo enginesCollection.Add(engine); } - /* - ConfigurationElement disable = switchboardCollection.CreateElement(); - disable.SetAttributeValue("name", item.name ); - disable.SetAttributeValue("enabled", item.disabled? "false": "true" ); - switchboardCollection.Add(disable); - */ + } srvman.CommitChanges(); @@ -233,7 +250,7 @@ namespace WebsitePanel.Providers.Web.HeliconZoo { if ((string) switchboardElement.GetAttributeValue("name") == "*") { - isEnginesEnabled = (bool) switchboardElement.GetAttributeValue("enabled"); + isEnginesEnabled = GetSwitchBoardValue(switchboardElement); break; } } @@ -258,7 +275,7 @@ namespace WebsitePanel.Providers.Web.HeliconZoo { if ((string)switchboardElement.GetAttributeValue("name") == "*") { - switchboardElement.SetAttributeValue("enabled", enabled ? "true" : "false"); + switchboardElement.SetAttributeValue("value", enabled ? "Enabed" : "Disabled"); wildCardFound = true; break; } @@ -268,7 +285,7 @@ namespace WebsitePanel.Providers.Web.HeliconZoo { ConfigurationElement element = switchboardCollection.CreateElement(); element.SetAttributeValue("name", "*"); - element.SetAttributeValue("enabled", enabled ? "true" : "false"); + SetSwitchBoardValue(element, enabled); switchboardCollection.Add(element); } @@ -305,8 +322,9 @@ namespace WebsitePanel.Providers.Web.HeliconZoo foreach (ConfigurationElement element in switchboardCollection) { - string enabled = element.GetAttributeValue("enabled").ToString(); - if (string.Equals(enabled, "true", StringComparison.OrdinalIgnoreCase)) + + bool isEnabled = GetSwitchBoardValue(element); + if (isEnabled) { engines.Add(element.GetAttributeValue("name").ToString()); } @@ -334,14 +352,14 @@ namespace WebsitePanel.Providers.Web.HeliconZoo ConfigurationElement elementDisableAll = switchboardCollection.CreateElement(); elementDisableAll.SetAttributeValue("name", "*"); - elementDisableAll.SetAttributeValue("enabled", "false"); + SetSwitchBoardValue(elementDisableAll, false); switchboardCollection.Add(elementDisableAll); foreach (string engineName in engineNames) { ConfigurationElement element = switchboardCollection.CreateElement(); element.SetAttributeValue("name", engineName); - element.SetAttributeValue("enabled", "true"); + SetSwitchBoardValue(element, true); switchboardCollection.Add(element); } @@ -352,6 +370,72 @@ namespace WebsitePanel.Providers.Web.HeliconZoo } + + public bool IsWebCosoleEnabled() + { + bool isEnginesEnabled = true; + + using (var srvman = new ServerManager()) + { + Configuration appConfig = srvman.GetApplicationHostConfiguration(); + + ConfigurationSection heliconZooServer = appConfig.GetSection("system.webServer/heliconZooServer"); + + //switchboard + ConfigurationElement switchboard = heliconZooServer.GetChildElement("switchboard"); + ConfigurationElementCollection switchboardCollection = switchboard.GetCollection(); + + + foreach (ConfigurationElement switchboardElement in switchboardCollection) + { + if ((string)switchboardElement.GetAttributeValue("name") == "console") + { + isEnginesEnabled = GetSwitchBoardValue(switchboardElement); + break; + } + } + } + + return isEnginesEnabled; + } + + public void SetWebCosoleEnabled(bool enabled) + { + using (var srvman = new ServerManager()) + { + Configuration appConfig = srvman.GetApplicationHostConfiguration(); + + ConfigurationSection heliconZooServer = appConfig.GetSection("system.webServer/heliconZooServer"); + + ConfigurationElement switchboard = heliconZooServer.GetChildElement("switchboard"); + ConfigurationElementCollection switchboardCollection = switchboard.GetCollection(); + + bool found = false; + foreach (ConfigurationElement switchboardElement in switchboardCollection) + { + if ((string)switchboardElement.GetAttributeValue("name") == "console") + { + SetSwitchBoardValue(switchboardElement, enabled); + + found = true; + break; + } + } + + if (!found) + { + ConfigurationElement element = switchboardCollection.CreateElement(); + element.SetAttributeValue("name", "console"); + SetSwitchBoardValue(element, enabled); + switchboardCollection.Add(element); + } + + srvman.CommitChanges(); + } + } + + + #region private methods private void ConvertHeliconZooEngineToElement(HeliconZooEngine item, ConfigurationElement engine) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs index 0a0ceb6f..c09632a1 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/IIs70.cs @@ -1563,12 +1563,18 @@ namespace WebsitePanel.Providers.Web /// virtual directories that belong to site with supplied id. public override WebVirtualDirectory[] GetVirtualDirectories(string siteId) { + + using (ServerManager srvman = webObjectsSvc.GetServerManager()) { return GetVirtualDirectories(srvman, siteId); } } + + + + private WebVirtualDirectory[] GetVirtualDirectories(ServerManager srvman, string siteId) { // get all virt dirs @@ -1938,7 +1944,6 @@ namespace WebsitePanel.Providers.Web if (!string.IsNullOrEmpty(siteId)) { // Check the web site app pool in integrated pipeline mode - WebSite webSite = null; webSite = webObjectsSvc.GetWebSiteFromIIS(srvman, siteId); if (webSite == null) @@ -2585,11 +2590,90 @@ namespace WebsitePanel.Providers.Web return; } + #endregion + + #region Helicon Zoo + + public override WebVirtualDirectory[] GetZooApplications(string siteId) + { + using (ServerManager srvman = webObjectsSvc.GetServerManager()) + { + return webObjectsSvc.GetZooApplications(srvman, siteId); + } + } + + public override StringResultObject SetZooEnvironmentVariable(string siteId, string appName, string envName, string envValue) + { + StringResultObject result = new StringResultObject(); + + try + { + using (ServerManager srvman = webObjectsSvc.GetServerManager()) + { + webObjectsSvc.SetZooEnvironmentVariable(srvman, siteId, appName, envName, envValue); + } + + result.IsSuccess = true; + } + catch (Exception e) + { + result.AddError("Exception", e); + } + + return result; + } + + + public override StringResultObject SetZooConsoleEnabled(string siteId, string appName) + { + StringResultObject result = new StringResultObject(); + + try + { + using (ServerManager srvman = webObjectsSvc.GetServerManager()) + { + webObjectsSvc.SetZooConsoleEnabled(srvman, siteId, appName); + } + + result.IsSuccess = true; + } + catch (Exception e) + { + result.AddError("Exception", e); + } + + return result; + } + + public override StringResultObject SetZooConsoleDisabled(string siteId, string appName) + { + StringResultObject result = new StringResultObject(); + + try + { + using (ServerManager srvman = webObjectsSvc.GetServerManager()) + { + webObjectsSvc.SetZooConsoleDisabled(srvman, siteId, appName); + } + + result.IsSuccess = true; + } + catch (Exception e) + { + result.AddError("Exception", e); + } + + return result; + } + + + + #endregion #region Secured Helicon Ape Users - public static string GeneratePasswordHash(HtaccessUser user) + public static string GeneratePasswordHash(HtaccessUser user) { if (HtaccessFolder.AUTH_TYPE_BASIC == user.AuthType) { diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/WebObjectsModuleService.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/WebObjectsModuleService.cs index 21774080..112a4e7e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/WebObjectsModuleService.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIS70/WebObjects/WebObjectsModuleService.cs @@ -26,6 +26,10 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +using System.Diagnostics; +using System.Runtime.InteropServices; +using System.Security.Permissions; + namespace WebsitePanel.Providers.Web.Iis.WebObjects { using System; @@ -661,6 +665,137 @@ namespace WebsitePanel.Providers.Web.Iis.WebObjects return vdirs.ToArray(); } + public WebVirtualDirectory[] GetZooApplications(ServerManager srvman, string siteId) + { + if (!SiteExists(srvman, siteId)) + return new WebVirtualDirectory[] { }; + + var vdirs = new List(); + var iisObject = srvman.Sites[siteId]; + // + foreach (var item in iisObject.Applications) + { + + + try + { + + Configuration cfg = item.GetWebConfiguration(); + string location = siteId + ConfigurationUtility.GetQualifiedVirtualPath(item.Path); + ConfigurationSection section = cfg.GetSection("system.webServer/heliconZoo", location); + + if (section.GetCollection().Count > 0) + { + WebVirtualDirectory vdir = new WebVirtualDirectory + { + Name = ConfigurationUtility.GetNonQualifiedVirtualPath(item.Path), + ContentPath = item.VirtualDirectories[0].PhysicalPath + }; + + ConfigurationElement zooAppElement = section.GetCollection()[0]; + ConfigurationElementCollection envColl = zooAppElement.GetChildElement("environmentVariables").GetCollection(); + + foreach (ConfigurationElement env in envColl) + { + if ((string) env.GetAttributeValue("name") == "CONSOLE_URL") + { + vdir.ConsoleUrl = ConfigurationUtility.GetQualifiedVirtualPath(item.Path); + if (!vdir.ConsoleUrl.EndsWith("/")) + { + vdir.ConsoleUrl += "/"; + } + vdir.ConsoleUrl += (string)env.GetAttributeValue("value"); + } + } + + vdirs.Add(vdir); + + } + + + } + catch (Exception) + { + //there is no zoo + throw; + } + } + // + return vdirs.ToArray(); + } + + public void SetZooConsoleEnabled(ServerManager srvman, string siteId, string appName) + { + + Random random = new Random((int) DateTime.Now.Ticks); + byte[] bytes = new byte[8]; + random.NextBytes(bytes); + string consoleUrl = "console_" + Convert.ToBase64String(bytes); + SetZooEnvironmentVariable(srvman, siteId, appName, "CONSOLE_URL", consoleUrl); + + } + + public void SetZooConsoleDisabled(ServerManager srvman, string siteId, string appName) + { + SetZooEnvironmentVariable(srvman, siteId, appName, "CONSOLE_URL", null); + } + + + public void SetZooEnvironmentVariable(ServerManager srvman, string siteId, string appName, string envName, string envValue) + { + if (!SiteExists(srvman, siteId)) + return; + + + var iisObject = srvman.Sites[siteId]; + // + foreach (var item in iisObject.Applications) + { + + + if (appName == ConfigurationUtility.GetNonQualifiedVirtualPath(item.Path)) + { + Configuration cfg = item.GetWebConfiguration(); + ConfigurationSection section = cfg.GetSection("system.webServer/heliconZoo"); + ConfigurationElement zooAppElement = section.GetCollection()[0]; + ConfigurationElementCollection envColl = zooAppElement.GetChildElement("environmentVariables").GetCollection(); + + //remove all CONSOLE_URLs + for (int i = 0; i < envColl.Count; ) + { + if (String.Compare(envColl[i].GetAttributeValue("name").ToString(), envName, StringComparison.OrdinalIgnoreCase) == 0) + { + envColl.RemoveAt(i); + } + else + { + ++i; + } + + } + + // do not set empty value + if (!string.IsNullOrEmpty(envValue)) + { + ConfigurationElement el = envColl.CreateElement(); + el.SetAttributeValue("name", envName); + el.SetAttributeValue("value", envValue); + envColl.Add(el); + } + + + srvman.CommitChanges(); + } + + + + } + + } + + + + public WebVirtualDirectory GetVirtualDirectory(string siteId, string directoryName) { // @@ -737,4 +872,6 @@ namespace WebsitePanel.Providers.Web.Iis.WebObjects } } } + + } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/IIs60.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/IIs60.cs index 022627c0..48bc859e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/IIs60.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Web.IIs60/IIs60.cs @@ -2455,10 +2455,37 @@ namespace WebsitePanel.Providers.Web throw new NotImplementedException(); } - #endregion + - #region Private Helper Methods - protected string GetVirtualDirectoryPath(string siteId, string directoryName) + #endregion + + #region Helicon Zoo + public virtual WebVirtualDirectory[] GetZooApplications(string siteId) + { + return new WebVirtualDirectory[] { }; + } + + public virtual StringResultObject SetZooEnvironmentVariable(string siteId, string appName, string envName, string envValue) + { + //pass + return new StringResultObject(); + + } + + public virtual StringResultObject SetZooConsoleEnabled(string siteId, string appName) + { + return new StringResultObject(); + } + + public virtual StringResultObject SetZooConsoleDisabled(string siteId, string appName) + { + return new StringResultObject(); + } + + #endregion + + #region Private Helper Methods + protected string GetVirtualDirectoryPath(string siteId, string directoryName) { string path = siteId + "/ROOT"; if (!String.IsNullOrEmpty(directoryName)) diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/HeliconZooProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/HeliconZooProxy.cs index 356be78d..b619f8c8 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/HeliconZooProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/HeliconZooProxy.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.5456 +// Runtime Version:2.0.50727.5466 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -41,6 +41,10 @@ namespace WebsitePanel.Providers.HeliconZoo { private System.Threading.SendOrPostCallback SetEnabledEnginesForSiteOperationCompleted; + private System.Threading.SendOrPostCallback IsWebCosoleEnabledOperationCompleted; + + private System.Threading.SendOrPostCallback SetWebCosoleEnabledOperationCompleted; + /// public HeliconZoo() { this.Url = "http://localhost:9003/HeliconZoo.asmx"; @@ -64,6 +68,12 @@ namespace WebsitePanel.Providers.HeliconZoo { /// public event SetEnabledEnginesForSiteCompletedEventHandler SetEnabledEnginesForSiteCompleted; + /// + public event IsWebCosoleEnabledCompletedEventHandler IsWebCosoleEnabledCompleted; + + /// + public event SetWebCosoleEnabledCompletedEventHandler SetWebCosoleEnabledCompleted; + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetEngines", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] @@ -307,6 +317,85 @@ namespace WebsitePanel.Providers.HeliconZoo { } } + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/IsWebCosoleEnabled", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public bool IsWebCosoleEnabled() { + object[] results = this.Invoke("IsWebCosoleEnabled", new object[0]); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginIsWebCosoleEnabled(System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("IsWebCosoleEnabled", new object[0], callback, asyncState); + } + + /// + public bool EndIsWebCosoleEnabled(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void IsWebCosoleEnabledAsync() { + this.IsWebCosoleEnabledAsync(null); + } + + /// + public void IsWebCosoleEnabledAsync(object userState) { + if ((this.IsWebCosoleEnabledOperationCompleted == null)) { + this.IsWebCosoleEnabledOperationCompleted = new System.Threading.SendOrPostCallback(this.OnIsWebCosoleEnabledOperationCompleted); + } + this.InvokeAsync("IsWebCosoleEnabled", new object[0], this.IsWebCosoleEnabledOperationCompleted, userState); + } + + private void OnIsWebCosoleEnabledOperationCompleted(object arg) { + if ((this.IsWebCosoleEnabledCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.IsWebCosoleEnabledCompleted(this, new IsWebCosoleEnabledCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetWebCosoleEnabled", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public void SetWebCosoleEnabled(bool enabled) { + this.Invoke("SetWebCosoleEnabled", new object[] { + enabled}); + } + + /// + public System.IAsyncResult BeginSetWebCosoleEnabled(bool enabled, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetWebCosoleEnabled", new object[] { + enabled}, callback, asyncState); + } + + /// + public void EndSetWebCosoleEnabled(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void SetWebCosoleEnabledAsync(bool enabled) { + this.SetWebCosoleEnabledAsync(enabled, null); + } + + /// + public void SetWebCosoleEnabledAsync(bool enabled, object userState) { + if ((this.SetWebCosoleEnabledOperationCompleted == null)) { + this.SetWebCosoleEnabledOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetWebCosoleEnabledOperationCompleted); + } + this.InvokeAsync("SetWebCosoleEnabled", new object[] { + enabled}, this.SetWebCosoleEnabledOperationCompleted, userState); + } + + private void OnSetWebCosoleEnabledOperationCompleted(object arg) { + if ((this.SetWebCosoleEnabledCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetWebCosoleEnabledCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// public new void CancelAsync(object userState) { base.CancelAsync(userState); @@ -402,4 +491,34 @@ namespace WebsitePanel.Providers.HeliconZoo { /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetEnabledEnginesForSiteCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void IsWebCosoleEnabledCompletedEventHandler(object sender, IsWebCosoleEnabledCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class IsWebCosoleEnabledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal IsWebCosoleEnabledCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public bool Result { + get { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetWebCosoleEnabledCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); } diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/WebServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/WebServerProxy.cs index afd6bed4..c203dc3d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/WebServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/WebServerProxy.cs @@ -29,7 +29,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.6387 +// Runtime Version:2.0.50727.5466 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -37,7 +37,7 @@ //------------------------------------------------------------------------------ // -// This source code was auto-generated by wsdl, Version=2.0.50727.3038. +// This source code was auto-generated by wsdl, Version=2.0.50727.42. // namespace WebsitePanel.Providers.Web { using System.Xml.Serialization; @@ -46,15 +46,13 @@ namespace WebsitePanel.Providers.Web { using System.Web.Services.Protocols; using System; using System.Diagnostics; - using WebsitePanel.Providers.ResultObjects; using WebsitePanel.Providers.WebAppGallery; using WebsitePanel.Providers.Common; - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Web.Services.WebServiceBindingAttribute(Name="WebServerSoap", Namespace="http://smbsaas/websitepanel/server/")] @@ -87,6 +85,10 @@ namespace WebsitePanel.Providers.Web { private System.Threading.SendOrPostCallback DeleteSiteOperationCompleted; + private System.Threading.SendOrPostCallback ChangeAppPoolStateOperationCompleted; + + private System.Threading.SendOrPostCallback GetAppPoolStateOperationCompleted; + private System.Threading.SendOrPostCallback VirtualDirectoryExistsOperationCompleted; private System.Threading.SendOrPostCallback GetVirtualDirectoriesOperationCompleted; @@ -181,6 +183,14 @@ namespace WebsitePanel.Providers.Web { private System.Threading.SendOrPostCallback DeleteHeliconApeGroupOperationCompleted; + private System.Threading.SendOrPostCallback GetZooApplicationsOperationCompleted; + + private System.Threading.SendOrPostCallback SetZooEnvironmentVariableOperationCompleted; + + private System.Threading.SendOrPostCallback SetZooConsoleEnabledOperationCompleted; + + private System.Threading.SendOrPostCallback SetZooConsoleDisabledOperationCompleted; + private System.Threading.SendOrPostCallback CheckLoadUserProfileOperationCompleted; private System.Threading.SendOrPostCallback EnableLoadUserProfileOperationCompleted; @@ -280,6 +290,12 @@ namespace WebsitePanel.Providers.Web { /// public event DeleteSiteCompletedEventHandler DeleteSiteCompleted; + /// + public event ChangeAppPoolStateCompletedEventHandler ChangeAppPoolStateCompleted; + + /// + public event GetAppPoolStateCompletedEventHandler GetAppPoolStateCompleted; + /// public event VirtualDirectoryExistsCompletedEventHandler VirtualDirectoryExistsCompleted; @@ -421,6 +437,18 @@ namespace WebsitePanel.Providers.Web { /// public event DeleteHeliconApeGroupCompletedEventHandler DeleteHeliconApeGroupCompleted; + /// + public event GetZooApplicationsCompletedEventHandler GetZooApplicationsCompleted; + + /// + public event SetZooEnvironmentVariableCompletedEventHandler SetZooEnvironmentVariableCompleted; + + /// + public event SetZooConsoleEnabledCompletedEventHandler SetZooConsoleEnabledCompleted; + + /// + public event SetZooConsoleDisabledCompletedEventHandler SetZooConsoleDisabledCompleted; + /// public event CheckLoadUserProfileCompletedEventHandler CheckLoadUserProfileCompleted; @@ -592,28 +620,7 @@ namespace WebsitePanel.Providers.Web { this.GetSiteStateCompleted(this, new GetSiteStateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); } } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/ChangeAppPoolState", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public void ChangeAppPoolState(string siteId, AppPoolState state) - { - this.Invoke("ChangeAppPoolState", new object[] { - siteId, - state}); - } - - /// - [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] - [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetAppPoolState", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] - public AppPoolState GetAppPoolState(string siteId) - { - object[] results = this.Invoke("GetAppPoolState", new object[] { - siteId}); - return ((AppPoolState)(results[0])); - } - /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetSiteId", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] @@ -1031,6 +1038,91 @@ namespace WebsitePanel.Providers.Web { } } + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/ChangeAppPoolState", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public void ChangeAppPoolState(string siteId, AppPoolState state) { + this.Invoke("ChangeAppPoolState", new object[] { + siteId, + state}); + } + + /// + public System.IAsyncResult BeginChangeAppPoolState(string siteId, AppPoolState state, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("ChangeAppPoolState", new object[] { + siteId, + state}, callback, asyncState); + } + + /// + public void EndChangeAppPoolState(System.IAsyncResult asyncResult) { + this.EndInvoke(asyncResult); + } + + /// + public void ChangeAppPoolStateAsync(string siteId, AppPoolState state) { + this.ChangeAppPoolStateAsync(siteId, state, null); + } + + /// + public void ChangeAppPoolStateAsync(string siteId, AppPoolState state, object userState) { + if ((this.ChangeAppPoolStateOperationCompleted == null)) { + this.ChangeAppPoolStateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeAppPoolStateOperationCompleted); + } + this.InvokeAsync("ChangeAppPoolState", new object[] { + siteId, + state}, this.ChangeAppPoolStateOperationCompleted, userState); + } + + private void OnChangeAppPoolStateOperationCompleted(object arg) { + if ((this.ChangeAppPoolStateCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.ChangeAppPoolStateCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetAppPoolState", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public AppPoolState GetAppPoolState(string siteId) { + object[] results = this.Invoke("GetAppPoolState", new object[] { + siteId}); + return ((AppPoolState)(results[0])); + } + + /// + public System.IAsyncResult BeginGetAppPoolState(string siteId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetAppPoolState", new object[] { + siteId}, callback, asyncState); + } + + /// + public AppPoolState EndGetAppPoolState(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((AppPoolState)(results[0])); + } + + /// + public void GetAppPoolStateAsync(string siteId) { + this.GetAppPoolStateAsync(siteId, null); + } + + /// + public void GetAppPoolStateAsync(string siteId, object userState) { + if ((this.GetAppPoolStateOperationCompleted == null)) { + this.GetAppPoolStateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAppPoolStateOperationCompleted); + } + this.InvokeAsync("GetAppPoolState", new object[] { + siteId}, this.GetAppPoolStateOperationCompleted, userState); + } + + private void OnGetAppPoolStateOperationCompleted(object arg) { + if ((this.GetAppPoolStateCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetAppPoolStateCompleted(this, new GetAppPoolStateCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/VirtualDirectoryExists", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] @@ -3040,6 +3132,189 @@ namespace WebsitePanel.Providers.Web { } } + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetZooApplications", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public WebVirtualDirectory[] GetZooApplications(string siteId) { + object[] results = this.Invoke("GetZooApplications", new object[] { + siteId}); + return ((WebVirtualDirectory[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetZooApplications(string siteId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetZooApplications", new object[] { + siteId}, callback, asyncState); + } + + /// + public WebVirtualDirectory[] EndGetZooApplications(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((WebVirtualDirectory[])(results[0])); + } + + /// + public void GetZooApplicationsAsync(string siteId) { + this.GetZooApplicationsAsync(siteId, null); + } + + /// + public void GetZooApplicationsAsync(string siteId, object userState) { + if ((this.GetZooApplicationsOperationCompleted == null)) { + this.GetZooApplicationsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetZooApplicationsOperationCompleted); + } + this.InvokeAsync("GetZooApplications", new object[] { + siteId}, this.GetZooApplicationsOperationCompleted, userState); + } + + private void OnGetZooApplicationsOperationCompleted(object arg) { + if ((this.GetZooApplicationsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetZooApplicationsCompleted(this, new GetZooApplicationsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetZooEnvironmentVariable", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public StringResultObject SetZooEnvironmentVariable(string siteId, string appName, string envName, string envValue) { + object[] results = this.Invoke("SetZooEnvironmentVariable", new object[] { + siteId, + appName, + envName, + envValue}); + return ((StringResultObject)(results[0])); + } + + /// + public System.IAsyncResult BeginSetZooEnvironmentVariable(string siteId, string appName, string envName, string envValue, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetZooEnvironmentVariable", new object[] { + siteId, + appName, + envName, + envValue}, callback, asyncState); + } + + /// + public StringResultObject EndSetZooEnvironmentVariable(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((StringResultObject)(results[0])); + } + + /// + public void SetZooEnvironmentVariableAsync(string siteId, string appName, string envName, string envValue) { + this.SetZooEnvironmentVariableAsync(siteId, appName, envName, envValue, null); + } + + /// + public void SetZooEnvironmentVariableAsync(string siteId, string appName, string envName, string envValue, object userState) { + if ((this.SetZooEnvironmentVariableOperationCompleted == null)) { + this.SetZooEnvironmentVariableOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetZooEnvironmentVariableOperationCompleted); + } + this.InvokeAsync("SetZooEnvironmentVariable", new object[] { + siteId, + appName, + envName, + envValue}, this.SetZooEnvironmentVariableOperationCompleted, userState); + } + + private void OnSetZooEnvironmentVariableOperationCompleted(object arg) { + if ((this.SetZooEnvironmentVariableCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetZooEnvironmentVariableCompleted(this, new SetZooEnvironmentVariableCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetZooConsoleEnabled", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public StringResultObject SetZooConsoleEnabled(string siteId, string appName) { + object[] results = this.Invoke("SetZooConsoleEnabled", new object[] { + siteId, + appName}); + return ((StringResultObject)(results[0])); + } + + /// + public System.IAsyncResult BeginSetZooConsoleEnabled(string siteId, string appName, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetZooConsoleEnabled", new object[] { + siteId, + appName}, callback, asyncState); + } + + /// + public StringResultObject EndSetZooConsoleEnabled(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((StringResultObject)(results[0])); + } + + /// + public void SetZooConsoleEnabledAsync(string siteId, string appName) { + this.SetZooConsoleEnabledAsync(siteId, appName, null); + } + + /// + public void SetZooConsoleEnabledAsync(string siteId, string appName, object userState) { + if ((this.SetZooConsoleEnabledOperationCompleted == null)) { + this.SetZooConsoleEnabledOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetZooConsoleEnabledOperationCompleted); + } + this.InvokeAsync("SetZooConsoleEnabled", new object[] { + siteId, + appName}, this.SetZooConsoleEnabledOperationCompleted, userState); + } + + private void OnSetZooConsoleEnabledOperationCompleted(object arg) { + if ((this.SetZooConsoleEnabledCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetZooConsoleEnabledCompleted(this, new SetZooConsoleEnabledCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetZooConsoleDisabled", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public StringResultObject SetZooConsoleDisabled(string siteId, string appName) { + object[] results = this.Invoke("SetZooConsoleDisabled", new object[] { + siteId, + appName}); + return ((StringResultObject)(results[0])); + } + + /// + public System.IAsyncResult BeginSetZooConsoleDisabled(string siteId, string appName, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetZooConsoleDisabled", new object[] { + siteId, + appName}, callback, asyncState); + } + + /// + public StringResultObject EndSetZooConsoleDisabled(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((StringResultObject)(results[0])); + } + + /// + public void SetZooConsoleDisabledAsync(string siteId, string appName) { + this.SetZooConsoleDisabledAsync(siteId, appName, null); + } + + /// + public void SetZooConsoleDisabledAsync(string siteId, string appName, object userState) { + if ((this.SetZooConsoleDisabledOperationCompleted == null)) { + this.SetZooConsoleDisabledOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetZooConsoleDisabledOperationCompleted); + } + this.InvokeAsync("SetZooConsoleDisabled", new object[] { + siteId, + appName}, this.SetZooConsoleDisabledOperationCompleted, userState); + } + + private void OnSetZooConsoleDisabledOperationCompleted(object arg) { + if ((this.SetZooConsoleDisabledCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetZooConsoleDisabledCompleted(this, new SetZooConsoleDisabledCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CheckLoadUserProfile", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] @@ -4302,15 +4577,15 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ChangeSiteStateCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSiteStateCompletedEventHandler(object sender, GetSiteStateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSiteStateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4332,11 +4607,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSiteIdCompletedEventHandler(object sender, GetSiteIdCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSiteIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4358,11 +4633,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSitesAccountsCompletedEventHandler(object sender, GetSitesAccountsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSitesAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4384,11 +4659,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SiteExistsCompletedEventHandler(object sender, SiteExistsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class SiteExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4410,11 +4685,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSitesCompletedEventHandler(object sender, GetSitesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSitesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4436,11 +4711,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSiteCompletedEventHandler(object sender, GetSiteCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSiteCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4462,11 +4737,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetSiteBindingsCompletedEventHandler(object sender, GetSiteBindingsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetSiteBindingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4488,11 +4763,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateSiteCompletedEventHandler(object sender, CreateSiteCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CreateSiteCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4514,23 +4789,53 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateSiteCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateSiteBindingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteSiteCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void ChangeAppPoolStateCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetAppPoolStateCompletedEventHandler(object sender, GetAppPoolStateCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetAppPoolStateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetAppPoolStateCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public AppPoolState Result { + get { + this.RaiseExceptionIfNecessary(); + return ((AppPoolState)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void VirtualDirectoryExistsCompletedEventHandler(object sender, VirtualDirectoryExistsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class VirtualDirectoryExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4552,11 +4857,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetVirtualDirectoriesCompletedEventHandler(object sender, GetVirtualDirectoriesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetVirtualDirectoriesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4578,11 +4883,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetVirtualDirectoryCompletedEventHandler(object sender, GetVirtualDirectoryCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetVirtualDirectoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4604,23 +4909,23 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CreateVirtualDirectoryCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateVirtualDirectoryCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteVirtualDirectoryCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void IsFrontPageSystemInstalledCompletedEventHandler(object sender, IsFrontPageSystemInstalledCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class IsFrontPageSystemInstalledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4642,11 +4947,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void IsFrontPageInstalledCompletedEventHandler(object sender, IsFrontPageInstalledCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class IsFrontPageInstalledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4668,11 +4973,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InstallFrontPageCompletedEventHandler(object sender, InstallFrontPageCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class InstallFrontPageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4694,19 +4999,19 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UninstallFrontPageCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ChangeFrontPagePasswordCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void IsColdFusionSystemInstalledCompletedEventHandler(object sender, IsColdFusionSystemInstalledCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class IsColdFusionSystemInstalledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4728,23 +5033,23 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GrantWebSiteAccessCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InstallSecuredFoldersCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UninstallSecuredFoldersCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetFoldersCompletedEventHandler(object sender, GetFoldersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetFoldersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4766,11 +5071,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetFolderCompletedEventHandler(object sender, GetFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4792,19 +5097,19 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetUsersCompletedEventHandler(object sender, GetUsersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetUsersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4826,11 +5131,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetUserCompletedEventHandler(object sender, GetUserCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4852,19 +5157,19 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateUserCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteUserCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetGroupsCompletedEventHandler(object sender, GetGroupsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4886,11 +5191,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetGroupCompletedEventHandler(object sender, GetGroupCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4912,19 +5217,19 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateGroupCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteGroupCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeStatusCompletedEventHandler(object sender, GetHeliconApeStatusCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4946,23 +5251,23 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InstallHeliconApeCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void EnableHeliconApeCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DisableHeliconApeCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeFoldersCompletedEventHandler(object sender, GetHeliconApeFoldersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeFoldersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -4984,11 +5289,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeHttpdFolderCompletedEventHandler(object sender, GetHeliconApeHttpdFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeHttpdFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5010,11 +5315,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeFolderCompletedEventHandler(object sender, GetHeliconApeFolderCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5036,23 +5341,23 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateHeliconApeFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateHeliconApeHttpdFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteHeliconApeFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeUsersCompletedEventHandler(object sender, GetHeliconApeUsersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeUsersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5074,11 +5379,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeUserCompletedEventHandler(object sender, GetHeliconApeUserCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5100,19 +5405,19 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateHeliconApeUserCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteHeliconApeUserCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeGroupsCompletedEventHandler(object sender, GetHeliconApeGroupsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5134,11 +5439,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetHeliconApeGroupCompletedEventHandler(object sender, GetHeliconApeGroupCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetHeliconApeGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5160,27 +5465,131 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void UpdateHeliconApeGroupCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GrantWebDeployPublishingAccessCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void RevokeWebDeployPublishingAccessCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteHeliconApeGroupCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetZooApplicationsCompletedEventHandler(object sender, GetZooApplicationsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetZooApplicationsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetZooApplicationsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public WebVirtualDirectory[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((WebVirtualDirectory[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetZooEnvironmentVariableCompletedEventHandler(object sender, SetZooEnvironmentVariableCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetZooEnvironmentVariableCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetZooEnvironmentVariableCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public StringResultObject Result { + get { + this.RaiseExceptionIfNecessary(); + return ((StringResultObject)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetZooConsoleEnabledCompletedEventHandler(object sender, SetZooConsoleEnabledCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetZooConsoleEnabledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetZooConsoleEnabledCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public StringResultObject Result { + get { + this.RaiseExceptionIfNecessary(); + return ((StringResultObject)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetZooConsoleDisabledCompletedEventHandler(object sender, SetZooConsoleDisabledCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetZooConsoleDisabledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetZooConsoleDisabledCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public StringResultObject Result { + get { + this.RaiseExceptionIfNecessary(); + return ((StringResultObject)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CheckLoadUserProfileCompletedEventHandler(object sender, CheckLoadUserProfileCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CheckLoadUserProfileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5202,23 +5611,23 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void EnableLoadUserProfileCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InitFeedsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void SetResourceLanguageCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetGalleryLanguagesCompletedEventHandler(object sender, GetGalleryLanguagesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetGalleryLanguagesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5240,11 +5649,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetGalleryCategoriesCompletedEventHandler(object sender, GetGalleryCategoriesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetGalleryCategoriesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5266,11 +5675,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetGalleryApplicationsCompletedEventHandler(object sender, GetGalleryApplicationsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetGalleryApplicationsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5292,11 +5701,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetGalleryApplicationsFilteredCompletedEventHandler(object sender, GetGalleryApplicationsFilteredCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetGalleryApplicationsFilteredCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5318,11 +5727,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void IsMsDeployInstalledCompletedEventHandler(object sender, IsMsDeployInstalledCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class IsMsDeployInstalledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5344,11 +5753,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetGalleryApplicationCompletedEventHandler(object sender, GetGalleryApplicationCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetGalleryApplicationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5370,11 +5779,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetGalleryApplicationStatusCompletedEventHandler(object sender, GetGalleryApplicationStatusCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetGalleryApplicationStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5396,11 +5805,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DownloadGalleryApplicationCompletedEventHandler(object sender, DownloadGalleryApplicationCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DownloadGalleryApplicationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5422,11 +5831,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetGalleryApplicationParametersCompletedEventHandler(object sender, GetGalleryApplicationParametersCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class GetGalleryApplicationParametersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5448,11 +5857,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void InstallGalleryApplicationCompletedEventHandler(object sender, InstallGalleryApplicationCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class InstallGalleryApplicationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5474,11 +5883,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CheckWebManagementAccountExistsCompletedEventHandler(object sender, CheckWebManagementAccountExistsCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CheckWebManagementAccountExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5500,11 +5909,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CheckWebManagementPasswordComplexityCompletedEventHandler(object sender, CheckWebManagementPasswordComplexityCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CheckWebManagementPasswordComplexityCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5526,23 +5935,23 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GrantWebManagementAccessCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void RevokeWebManagementAccessCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ChangeWebManagementAccessPasswordCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void generateCSRCompletedEventHandler(object sender, generateCSRCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class generateCSRCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5564,11 +5973,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void generateRenewalCSRCompletedEventHandler(object sender, generateRenewalCSRCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class generateRenewalCSRCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5590,11 +5999,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void getCertificateCompletedEventHandler(object sender, getCertificateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class getCertificateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5616,11 +6025,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void installCertificateCompletedEventHandler(object sender, installCertificateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class installCertificateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5642,11 +6051,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void installPFXCompletedEventHandler(object sender, installPFXCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class installPFXCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5668,11 +6077,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void exportCertificateCompletedEventHandler(object sender, exportCertificateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class exportCertificateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5694,11 +6103,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void getServerCertificatesCompletedEventHandler(object sender, getServerCertificatesCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class getServerCertificatesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5720,11 +6129,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void DeleteCertificateCompletedEventHandler(object sender, DeleteCertificateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeleteCertificateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5746,11 +6155,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void ImportCertificateCompletedEventHandler(object sender, ImportCertificateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ImportCertificateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { @@ -5772,11 +6181,11 @@ namespace WebsitePanel.Providers.Web { } /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void CheckCertificateCompletedEventHandler(object sender, CheckCertificateCompletedEventArgs e); /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CheckCertificateCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/WindowsServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/WindowsServerProxy.cs index 57e41dd1..985d2d7f 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/WindowsServerProxy.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/WindowsServerProxy.cs @@ -26,10 +26,11 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.42 +// Runtime Version:2.0.50727.5466 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -39,8 +40,7 @@ // // This source code was auto-generated by wsdl, Version=2.0.50727.42. // -namespace WebsitePanel.Server -{ +namespace WebsitePanel.Server { using System.Diagnostics; using System.Web.Services; using System.ComponentModel; @@ -48,7 +48,7 @@ namespace WebsitePanel.Server using System; using System.Xml.Serialization; using WebsitePanel.Providers; - + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] @@ -73,6 +73,8 @@ namespace WebsitePanel.Server private System.Threading.SendOrPostCallback GetWPIProductsFilteredOperationCompleted; + private System.Threading.SendOrPostCallback GetWPIProductByIdOperationCompleted; + private System.Threading.SendOrPostCallback GetWPITabsOperationCompleted; private System.Threading.SendOrPostCallback InitWPIFeedsOperationCompleted; @@ -132,6 +134,9 @@ namespace WebsitePanel.Server /// public event GetWPIProductsFilteredCompletedEventHandler GetWPIProductsFilteredCompleted; + /// + public event GetWPIProductByIdCompletedEventHandler GetWPIProductByIdCompleted; + /// public event GetWPITabsCompletedEventHandler GetWPITabsCompleted; @@ -496,6 +501,47 @@ namespace WebsitePanel.Server } } + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetWPIProductById", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public WPIProduct GetWPIProductById(string productdId) { + object[] results = this.Invoke("GetWPIProductById", new object[] { + productdId}); + return ((WPIProduct)(results[0])); + } + + /// + public System.IAsyncResult BeginGetWPIProductById(string productdId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetWPIProductById", new object[] { + productdId}, callback, asyncState); + } + + /// + public WPIProduct EndGetWPIProductById(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((WPIProduct)(results[0])); + } + + /// + public void GetWPIProductByIdAsync(string productdId) { + this.GetWPIProductByIdAsync(productdId, null); + } + + /// + public void GetWPIProductByIdAsync(string productdId, object userState) { + if ((this.GetWPIProductByIdOperationCompleted == null)) { + this.GetWPIProductByIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetWPIProductByIdOperationCompleted); + } + this.InvokeAsync("GetWPIProductById", new object[] { + productdId}, this.GetWPIProductByIdOperationCompleted, userState); + } + + private void OnGetWPIProductByIdOperationCompleted(object arg) { + if ((this.GetWPIProductByIdCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetWPIProductByIdCompleted(this, new GetWPIProductByIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetWPITabs", RequestNamespace="http://smbsaas/websitepanel/server/", ResponseNamespace="http://smbsaas/websitepanel/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public WPITab[] GetWPITabs() { @@ -1237,6 +1283,32 @@ namespace WebsitePanel.Server } } + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetWPIProductByIdCompletedEventHandler(object sender, GetWPIProductByIdCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetWPIProductByIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetWPIProductByIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public WPIProduct Result { + get { + this.RaiseExceptionIfNecessary(); + return ((WPIProduct)(this.results[0])); + } + } + } + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] public delegate void GetWPITabsCompletedEventHandler(object sender, GetWPITabsCompletedEventArgs e); diff --git a/WebsitePanel/Sources/WebsitePanel.Server/Code/WPIHelper.cs b/WebsitePanel/Sources/WebsitePanel.Server/Code/WPIHelper.cs index c6c4c130..006f0706 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/Code/WPIHelper.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/Code/WPIHelper.cs @@ -266,6 +266,20 @@ namespace WebsitePanel.Server.Code return products; } + + public Product GetWPIProductById(string productId) + { + foreach (Product product in _productManager.Products) + { + if (0 == String.Compare(product.ProductId, productId, StringComparison.OrdinalIgnoreCase)) + { + return product; + } + + } + + return null; //not found + } public List GetProductsToInstall(IEnumerable productIdsToInstall) { @@ -582,7 +596,6 @@ namespace WebsitePanel.Server.Code private void Initialize() { // create cache folder if not exists - //_webPIinstallersFolder = Environment.ExpandEnvironmentVariables(@"%LocalAppData%\Microsoft\Web Platform Installer\installers"); _webPIinstallersFolder = Path.Combine( Environment.ExpandEnvironmentVariables("%SystemRoot%"), "Temp\\zoo.wpi\\AppData\\Local\\Microsoft\\Web Platform Installer\\installers"); diff --git a/WebsitePanel/Sources/WebsitePanel.Server/HeliconZoo.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/HeliconZoo.asmx.cs index 24dce0d6..2c2a8967 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/HeliconZoo.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/HeliconZoo.asmx.cs @@ -101,5 +101,17 @@ namespace WebsitePanel.Server { ZooProvider.SetEnabledEnginesForSite(siteId, engineNames); } + + [WebMethod, SoapHeader("settings")] + public bool IsWebCosoleEnabled() + { + return ZooProvider.IsWebCosoleEnabled(); + } + + [WebMethod, SoapHeader("settings")] + public void SetWebCosoleEnabled(bool enabled) + { + ZooProvider.SetWebCosoleEnabled(enabled); + } } } diff --git a/WebsitePanel/Sources/WebsitePanel.Server/WebServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/WebServer.asmx.cs index f1b2f5ef..3cbef90a 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/WebServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/WebServer.asmx.cs @@ -1093,6 +1093,82 @@ namespace WebsitePanel.Server throw; } } + + + + #endregion + + #region Helicon Zoo + + [WebMethod, SoapHeader("settings")] + public WebVirtualDirectory[] GetZooApplications(string siteId) + { + try + { + Log.WriteStart("'{0}' GetZooApplications", ProviderSettings.ProviderName); + WebVirtualDirectory[] result = WebProvider.GetZooApplications(siteId); + Log.WriteEnd("'{0}' GetZooApplications", ProviderSettings.ProviderName); + return result; + } + catch (Exception ex) + { + Log.WriteError(String.Format("'{0}' GetZooApplications", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public StringResultObject SetZooEnvironmentVariable(string siteId, string appName, string envName, string envValue) + { + try + { + Log.WriteStart("'{0}' SetZooEnvironmentVariable", ProviderSettings.ProviderName); + StringResultObject result = WebProvider.SetZooEnvironmentVariable(siteId, appName, envName, envValue); + Log.WriteEnd("'{0}' SetZooEnvironmentVariable", ProviderSettings.ProviderName); + return result; + } + catch (Exception ex) + { + Log.WriteError(String.Format("'{0}' SetZooEnvironmentVariable", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public StringResultObject SetZooConsoleEnabled(string siteId, string appName) + { + try + { + Log.WriteStart("'{0}' SetZooConsoleEnabled", ProviderSettings.ProviderName); + StringResultObject result = WebProvider.SetZooConsoleEnabled(siteId, appName); + Log.WriteEnd("'{0}' SetZooConsoleEnabled", ProviderSettings.ProviderName); + return result; + } + catch (Exception ex) + { + Log.WriteError(String.Format("'{0}' SetZooConsoleEnabled", ProviderSettings.ProviderName), ex); + throw; + } + + } + + [WebMethod, SoapHeader("settings")] + public StringResultObject SetZooConsoleDisabled(string siteId, string appName) + { + try + { + Log.WriteStart("'{0}' SetZooConsoleDisabled", ProviderSettings.ProviderName); + StringResultObject result = WebProvider.SetZooConsoleDisabled(siteId, appName); + Log.WriteEnd("'{0}' SetZooConsoleDisabled", ProviderSettings.ProviderName); + return result; + } + catch (Exception ex) + { + Log.WriteError(String.Format("'{0}' SetZooConsoleDisabled", ProviderSettings.ProviderName), ex); + throw; + } + } + #endregion #region Web Application Gallery diff --git a/WebsitePanel/Sources/WebsitePanel.Server/WindowsServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/WindowsServer.asmx.cs index 0c79f416..b0110204 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/WindowsServer.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.Server/WindowsServer.asmx.cs @@ -360,20 +360,50 @@ namespace WebsitePanel.Server { foreach (WPIProduct product in products) { - string installedHostingPackageVersion = GetInstalledHostingPackageVersion(product.ProductId); - if (!string.IsNullOrEmpty(installedHostingPackageVersion) && string.Compare(product.Version, installedHostingPackageVersion, StringComparison.OrdinalIgnoreCase) > 0) - { - product.IsUpgrade = true; - } + string hostingPackageName = product.ProductId; + CheckProductForUpdate(hostingPackageName, product); } } - private string GetInstalledHostingPackageVersion(string productId) + private void CheckProductForUpdate(string hostingPackageName, WPIProduct product) { - string installedVersion = Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Helicon\\Zoo", productId+"Version", string.Empty) as string; + string installedHostingPackageVersion = GetInstalledHostingPackageVersion(hostingPackageName); + if (!string.IsNullOrEmpty(installedHostingPackageVersion)) + { + //6 + //3.0.90.383 + if (CompareVersions(product.Version, installedHostingPackageVersion) > 0) + { + product.IsUpgrade = true; + product.IsInstalled = false; + } + + } + } + + private decimal CompareVersions(string newVersion, string oldVersion) + { + try + { + var version1 = new Version(newVersion); + var version2 = new Version(oldVersion); + + return version1.CompareTo(version2); + + } + catch (ArgumentException) + { + return String.Compare(newVersion,oldVersion, StringComparison.Ordinal); + + } + } + + private string GetInstalledHostingPackageVersion(string hostingPackageName) + { + string installedVersion = Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Helicon\\Zoo", hostingPackageName + "Version", string.Empty) as string; if (string.IsNullOrEmpty(installedVersion)) { - installedVersion = Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Helicon\\Zoo", productId + "Version", string.Empty) as string; + installedVersion = Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Helicon\\Zoo", hostingPackageName + "Version", string.Empty) as string; } return installedVersion; @@ -480,6 +510,33 @@ namespace WebsitePanel.Server } } + [WebMethod] + public WPIProduct GetWPIProductById(string productdId) + { + try + { + Log.WriteStart("GetWPIProductById"); + WpiHelper wpi = GetWpiFeed(); + + Product product = wpi.GetWPIProductById(productdId); + WPIProduct wpiProduct = ProductToWPIProduct(product); + + if (wpiProduct.ProductId == "HeliconZooModule") + { + /*null string = HeliconZooModule in registry*/ + CheckProductForUpdate("", wpiProduct); + } + + Log.WriteEnd("GetWPIProductById"); + return wpiProduct; + } + catch (Exception ex) + { + Log.WriteError("GetWPIProductById", ex); + throw; + } + } + [WebMethod] public WPITab[] GetWPITabs() { diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/WebSitesHeliconZooControl.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/WebSitesHeliconZooControl.ascx.resx index da362e19..6f5dd463 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/WebSitesHeliconZooControl.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/WebSitesHeliconZooControl.ascx.resx @@ -123,4 +123,18 @@ Select web application engine to set up + + Web console + + + + Enable + + + Disable + + + Enable web console + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HeliconZoo_Settings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HeliconZoo_Settings.ascx index 3cbf91e5..f6f0fbd1 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HeliconZoo_Settings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HeliconZoo_Settings.ascx @@ -89,10 +89,12 @@ span.ValidationMessageBlock {
- Helicon Zoo engine quotas settings + Helicon Zoo settings
- + +
+
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HeliconZoo_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HeliconZoo_Settings.ascx.cs index dcafbfe1..42a3c7e8 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HeliconZoo_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HeliconZoo_Settings.ascx.cs @@ -68,7 +68,7 @@ public partial class HeliconZoo_Settings : WebsitePanelControlBase, IHostingServ private void BindHostingPackages() { - // TODO: try...catch? + WPIProduct[] products = null; try { @@ -92,6 +92,12 @@ public partial class HeliconZoo_Settings : WebsitePanelControlBase, IHostingServ private void BindEngines() { + WPIProduct zooModule = ES.Services.Servers.GetWPIProductById(PanelRequest.ServerId, "HeliconZooModule"); + if (!zooModule.IsInstalled || zooModule.IsUpgrade) + { + HostModule.ShowWarningMessage("Zoo Module is not installed or out-of-date. To proceed press 'Add' or 'Update' next to Helicon Zoo Module below, then press 'Install'."); + } + // get all engines from IIS HeliconZooEngine[] engineList = ES.Services.HeliconZoo.GetEngines(PanelRequest.ServiceId); @@ -114,6 +120,8 @@ public partial class HeliconZoo_Settings : WebsitePanelControlBase, IHostingServ // bind 'Enable quotas' checkbox bool enabled = ES.Services.HeliconZoo.IsEnginesEnabled(PanelRequest.ServiceId); QuotasEnabled.Checked = !enabled; + + WebCosoleEnabled.Checked = ES.Services.HeliconZoo.IsWebCosoleEnabled(PanelRequest.ServiceId); } else { @@ -139,6 +147,8 @@ public partial class HeliconZoo_Settings : WebsitePanelControlBase, IHostingServ // save switcher ES.Services.HeliconZoo.SwithEnginesEnabled(PanelRequest.ServiceId, !QuotasEnabled.Checked); + + ES.Services.HeliconZoo.SetWebCosoleEnabled(PanelRequest.ServiceId, WebCosoleEnabled.Checked); } protected void ClearEngineForm() @@ -390,7 +400,15 @@ public partial class HeliconZoo_Settings : WebsitePanelControlBase, IHostingServ private static WPIProduct[] RequestHostingPackages() { - return ES.Services.Servers.GetWPIProducts(PanelRequest.ServerId, null, "ZooPackage"); + List result = new List(); + result.Add(ES.Services.Servers.GetWPIProductById(PanelRequest.ServerId, "HeliconZooModule")); + result.AddRange(ES.Services.Servers.GetWPIProducts(PanelRequest.ServerId, null, "ZooPackage")); + + + + + return result.ToArray(); + } protected string AddUpgradeRemoveText(WPIProduct wpiProduct) diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HeliconZoo_Settings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HeliconZoo_Settings.ascx.designer.cs index d2b3dbb0..7840c172 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HeliconZoo_Settings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HeliconZoo_Settings.ascx.designer.cs @@ -1,32 +1,4 @@ -// Copyright (c) 2012, Outercurve Foundation. -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// - Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// -// - Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// - Neither the name of the Outercurve Foundation nor the names of its -// contributors may be used to endorse or promote products derived from this -// software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ // // This code was generated by a tool. // @@ -84,6 +56,15 @@ public partial class HeliconZoo_Settings { ///
protected global::System.Web.UI.WebControls.Label HostingPackagesLoadingError; + /// + /// EnginesPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel EnginesPanel; + /// /// QuotasEnabled control. /// @@ -94,13 +75,13 @@ public partial class HeliconZoo_Settings { protected global::System.Web.UI.WebControls.CheckBox QuotasEnabled; /// - /// EnginesPanel control. + /// WebCosoleEnabled control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Panel EnginesPanel; + protected global::System.Web.UI.WebControls.CheckBox WebCosoleEnabled; /// /// ButtonAddEngine control. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconZooControl.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconZooControl.ascx index 4757bbcb..f17c4f31 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconZooControl.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconZooControl.ascx @@ -28,12 +28,72 @@ --%>

- +


+<%-- +--%> + + + + + + + + + + + + + + +    + + + Open console + + + + + + + + + + + +

+ +

+
+ + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconZooControl.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconZooControl.ascx.cs index e12d06f5..3e9dd203 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconZooControl.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconZooControl.ascx.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Drawing; using System.Globalization; using System.Linq; using System.Web; @@ -32,6 +33,19 @@ namespace WebsitePanel.Portal ViewState["WebSitePackageId"] = site.PackageId; BindEngines(site); + try + { + BindInstalledApplications(); + } + catch (Exception ex) + { + lblConsole.Text = "Zoo Module is not installed. Please ask your system administrator to install Zoo on the server to Configuration\\Server\\Web Application Engines."; + lblConsole.ForeColor = Color.Red; + lblConsole.Font.Size = 16; + + return; // Exit + } + BindApplications(); } @@ -42,12 +56,17 @@ namespace WebsitePanel.Portal ES.Services.HeliconZoo.GetAllowedHeliconZooQuotasForPackage(site.PackageId); Array.Sort(allowedEngineArray, new ShortHeliconZooEngineComparer()); - // get enabled engines for this site + + + + // get enabled engines for this site from applicationHost.config string[] enabledEngineNames = ES.Services.HeliconZoo.GetEnabledEnginesForSite(site.SiteId, site.PackageId); ViewState["EnabledEnginesNames"] = enabledEngineNames; + + //console allowed in applicationHost.config + ViewState["IsZooWebConsoleEnabled"] = enabledEngineNames.Contains("console", StringComparer.OrdinalIgnoreCase); + - //EnabledEnginesList.DataSource = enabledEngineNames; - //EnabledEnginesList.DataBind(); List allowedEngines = new List(allowedEngineArray); @@ -55,18 +74,51 @@ namespace WebsitePanel.Portal foreach (ShortHeliconZooEngine engine in allowedEngines) { engine.Name = engine.Name.Replace("HeliconZoo.", ""); - engine.Enabled = enabledEngineNames.Contains(engine.Name, StringComparer.OrdinalIgnoreCase); + //engine.Enabled = enabledEngineNames.Contains(engine.Name, StringComparer.OrdinalIgnoreCase); + + if (engine.Name == "console") + { + //console allowed in hosting plan + ViewState["IsZooWebConsoleEnabled"] = engine.Enabled; + } + } ViewState["AllowedEngines"] = allowedEngines; - //AllowedEnginesList.DataSource = allowedEngines; - //AllowedEnginesList.DataBind(); + } + + private void BindInstalledApplications() + { + ViewState["IsZooEnabled"] = false; + var installedApplications = ES.Services.WebServers.GetZooApplications(PanelRequest.ItemID); + ViewState["IsZooEnabled"] = true; + + if ((bool) ViewState["IsZooWebConsoleEnabled"]) + { + gvInstalledApplications.DataSource = installedApplications; + gvInstalledApplications.DataBind(); + + + } + else + { + HideInstalledApplications(); + } + } + + private void HideInstalledApplications() + { + gvInstalledApplications.Visible = false; + lblConsole.Visible = false; } private void BindApplications() { + + WebAppGalleryHelpers helper = new WebAppGalleryHelpers(); + GalleryApplicationsResult result = helper.GetGalleryApplications("ZooTemplate", PanelSecurity.PackageId); List applications = result.Value as List; @@ -77,19 +129,34 @@ namespace WebsitePanel.Portal { foreach (GalleryApplication application in applications) { + + foreach (string keyword in application.Keywords) { + bool appAlreadyAdded = false; if (keyword.StartsWith("ZooEngine", StringComparison.OrdinalIgnoreCase)) { string appEngine = keyword.Substring("ZooEngine".Length); + foreach (ShortHeliconZooEngine engine in allowedEngines) { + if (!engine.Enabled) + { + continue; //skip + } + if (string.Equals(appEngine, engine.KeywordedName, StringComparison.OrdinalIgnoreCase)) { + filteredApplications.Add(application); + appAlreadyAdded = true; break; } } + if (appAlreadyAdded) + { + break; + } } } } @@ -120,6 +187,11 @@ namespace WebsitePanel.Portal private void UpdatedAllowedEngines() { + if (!(bool) ViewState["IsZooEnabled"]) + { + return; // exit; + } + List allowedEngines = (List)ViewState["AllowedEngines"]; string[] enabledEngineNames = (string[])ViewState["EnabledEnginesNames"]; @@ -195,5 +267,44 @@ namespace WebsitePanel.Portal return "~/Default.aspx?" + String.Join("&", url.ToArray()); } + + protected void gvInstalledApplications_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "EnableConsole") + { + UpdatedAllowedEngines(); + + string appName = e.CommandArgument.ToString(); + + ES.Services.WebServers.SetZooConsoleEnabled(PanelRequest.ItemID, appName); + + BindInstalledApplications(); + } + + if (e.CommandName == "DisableConsole") + { + UpdatedAllowedEngines(); + + string appName = e.CommandArgument.ToString(); + + ES.Services.WebServers.SetZooConsoleDisabled(PanelRequest.ItemID, appName); + + BindInstalledApplications(); + } + + + } + + + protected bool IsNullOrEmpty(string value) + { + return string.IsNullOrEmpty(value); + } + + protected string GetConsoleFullUrl(string consoleUrl) + { + WebSite site = ES.Services.WebServers.GetWebSite(PanelRequest.ItemID); + return "http://" + site.Name + consoleUrl; + } } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconZooControl.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconZooControl.ascx.designer.cs index 23332593..22ff0efd 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconZooControl.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebSitesHeliconZooControl.ascx.designer.cs @@ -26,6 +26,7 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + //------------------------------------------------------------------------------ // // This code was generated by a tool. @@ -40,6 +41,24 @@ namespace WebsitePanel.Portal { public partial class WebSitesHeliconZooControl { + /// + /// lblConsole control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblConsole; + + /// + /// gvInstalledApplications control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvInstalledApplications; + /// /// gvApplications control. ///