diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/RDS_Settings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/RDS_Settings.ascx.resx new file mode 100644 index 00000000..f3221c01 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/RDS_Settings.ascx.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add + + + No gateway serves have been added yet. + + + Server Name + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RDS_Settings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RDS_Settings.ascx index eb1de52b..879afc47 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RDS_Settings.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RDS_Settings.ascx @@ -9,15 +9,6 @@ - - - - - - - - - @@ -52,4 +43,33 @@ + + + + + + +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RDS_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RDS_Settings.ascx.cs index 0eaea7f4..2a5aa27b 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RDS_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RDS_Settings.ascx.cs @@ -27,6 +27,8 @@ // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. using System; +using System.Collections.Generic; +using System.Web.UI.WebControls; using WebsitePanel.EnterpriseServer; using WebsitePanel.Providers.Common; @@ -39,10 +41,26 @@ namespace WebsitePanel.Portal.ProviderControls } + public string GWServers + { + get + { + return ViewState["GWServers"] != null ? ViewState["GWServers"].ToString() : string.Empty; + } + set + { + ViewState["GWServers"] = value; + } + } + public void BindSettings(System.Collections.Specialized.StringDictionary settings) { txtConnectionBroker.Text = settings["ConnectionBroker"]; - txtGateway.Text = settings["GWServrsList"]; + + GWServers = settings["GWServrsList"]; + + UpdateLyncServersGrid(); + txtRootOU.Text = settings["RootOU"]; txtPrimaryDomainController.Text = settings["PrimaryDomainController"]; @@ -63,11 +81,12 @@ namespace WebsitePanel.Portal.ProviderControls public void SaveSettings(System.Collections.Specialized.StringDictionary settings) { settings["ConnectionBroker"] = txtConnectionBroker.Text; - settings["GWServrsList"] = txtGateway.Text; settings["RootOU"] = txtRootOU.Text; settings["PrimaryDomainController"] = txtPrimaryDomainController.Text; settings["UseCentralNPS"] = chkUseCentralNPS.Checked.ToString(); settings["CentralNPS"] = chkUseCentralNPS.Checked ? txtCentralNPS.Text : string.Empty; + + settings["GWServrsList"] = GWServers; } protected void chkUseCentralNPS_CheckedChanged(object sender, EventArgs e) @@ -75,6 +94,61 @@ namespace WebsitePanel.Portal.ProviderControls txtCentralNPS.Enabled = chkUseCentralNPS.Checked; txtCentralNPS.Text = chkUseCentralNPS.Checked ? txtCentralNPS.Text : string.Empty; } - + + protected void btnAddGWServer_Click(object sender, EventArgs e) + { + if (!string.IsNullOrEmpty(GWServers)) + GWServers += ";"; + + GWServers += txtAddGWServer.Text; + + txtAddGWServer.Text = string.Empty; + + UpdateLyncServersGrid(); + } + + public List GetServices(string data) + { + if (string.IsNullOrEmpty(data)) + return null; + List list = new List(); + string[] serversNames = data.Split(';'); + foreach (string current in serversNames) + { + list.Add(new GWServer { ServerName = current }); + } + + return list; + } + + private void UpdateLyncServersGrid() + { + gvGWServers.DataSource = GetServices(GWServers); + gvGWServers.DataBind(); + } + + protected void gvGWServers_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "RemoveServer") + { + string str = string.Empty; + List servers = GetServices(GWServers); + foreach (GWServer current in servers) + { + if (current.ServerName == e.CommandArgument.ToString()) + continue; + + str += current.ServerName + ";"; + } + + GWServers = str.TrimEnd(';'); + UpdateLyncServersGrid(); + } + } + } + + public class GWServer + { + public string ServerName { get; set; } } } \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RDS_Settings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RDS_Settings.ascx.designer.cs index e3f1f911..e1c47f7a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RDS_Settings.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/RDS_Settings.ascx.designer.cs @@ -39,33 +39,6 @@ namespace WebsitePanel.Portal.ProviderControls { /// protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2; - /// - /// lblGateway control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblGateway; - - /// - /// txtGateway control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox txtGateway; - - /// - /// RequiredFieldValidator3 control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3; - /// /// lblRootOU control. /// @@ -155,5 +128,41 @@ namespace WebsitePanel.Portal.ProviderControls { /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.TextBox txtCentralNPS; + + /// + /// locGWServers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locGWServers; + + /// + /// txtAddGWServer control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtAddGWServer; + + /// + /// btnAddGWServer control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAddGWServer; + + /// + /// gvGWServers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvGWServers; } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj index 22deb551..9d85192e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj @@ -5535,6 +5535,7 @@ + Designer