Enable/Disable RDS server

This commit is contained in:
vfedosevich 2014-12-09 05:27:06 -08:00
parent f4c248637e
commit 4ecb5896ce
7 changed files with 174 additions and 118 deletions

View file

@ -4625,10 +4625,10 @@ namespace WebsitePanel.EnterpriseServer
public static void UpdateRDSServer(RdsServer server)
{
UpdateRDSServer(server.Id, server.ItemId, server.Name, server.FqdName, server.Description,
server.RdsCollectionId);
server.RdsCollectionId, server.ConnectionEnabled);
}
public static void UpdateRDSServer(int id, int? itemId, string name, string fqdName, string description, int? rdsCollectionId)
public static void UpdateRDSServer(int id, int? itemId, string name, string fqdName, string description, int? rdsCollectionId, bool connectionEnabled)
{
SqlHelper.ExecuteNonQuery(
ConnectionString,
@ -4639,7 +4639,8 @@ namespace WebsitePanel.EnterpriseServer
new SqlParameter("@Name", name),
new SqlParameter("@FqdName", fqdName),
new SqlParameter("@Description", description),
new SqlParameter("@RDSCollectionId", rdsCollectionId)
new SqlParameter("@RDSCollectionId", rdsCollectionId),
new SqlParameter("@ConnectionEnabled", connectionEnabled)
);
}

View file

@ -478,7 +478,7 @@ namespace WebsitePanel.EnterpriseServer
var rds = GetRemoteDesktopServices(GetRemoteDesktopServiceID(org.PackageId));
var rdsServer = GetRdsServer(rdsSeverId);
var rdsServer = GetRdsServer(rdsSeverId);
if (rdsServer == null)
{
@ -488,6 +488,8 @@ namespace WebsitePanel.EnterpriseServer
}
rds.SetRDServerNewConnectionAllowed(newConnectionAllowed, rdsServer);
rdsServer.ConnectionEnabled = newConnectionAllowed;
DataProvider.UpdateRDSServer(rdsServer);
}
catch (Exception ex)
{

View file

@ -18,5 +18,6 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
public string Address { get; set; }
public string ItemName { get; set; }
public int? RdsCollectionId { get; set; }
public bool ConnectionEnabled { get; set; }
}
}

View file

@ -147,4 +147,16 @@
<data name="locQuota.Text" xml:space="preserve">
<value>Total RDS Servers Allocated:</value>
</data>
<data name="cmdDisable.Text" xml:space="preserve">
<value>Disable</value>
</data>
<data name="cmdEnable.Text" xml:space="preserve">
<value>Enable</value>
</data>
<data name="cmdDisable.ToolTip" xml:space="preserve">
<value>Disable</value>
</data>
<data name="cmdEnable.ToolTip" xml:space="preserve">
<value>Enable</value>
</data>
</root>

View file

@ -1,4 +1,5 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AssignedRDSServers.ascx.cs" Inherits="WebsitePanel.Portal.RDS.AssignedRDSServers" %>
<%@ Import Namespace="WebsitePanel.Portal" %>
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
@ -46,15 +47,24 @@
DataSourceID="odsRDSAssignedServersPaged" PageSize="20">
<Columns>
<asp:TemplateField HeaderText="gvRDSServerName" SortExpression="Name">
<ItemStyle Width="90%"></ItemStyle>
<ItemStyle Width="80%"></ItemStyle>
<ItemTemplate>
<asp:Label id="litRDSServerName" runat="server">
<%# Eval("Name") %>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<asp:TemplateField>
<ItemStyle Width="10%"></ItemStyle>
<ItemTemplate>
<asp:ImageButton ID="EnableLinkButton" ImageUrl='<%# PortalUtils.GetThemedImage("Exchange/bullet.gif")%>' runat="server" Visible='<%# Eval("RdsCollectionId") != null && !Convert.ToBoolean(Eval("ConnectionEnabled")) %>'
CommandName="EnableItem" CommandArgument='<%# Eval("Id") %>' meta:resourcekey="cmdEnable"></asp:ImageButton>
<asp:ImageButton ID="DisableLinkButton" ImageUrl='<%# PortalUtils.GetThemedImage("Exchange/bullet_hover.gif")%>' runat="server" Visible='<%# Eval("RdsCollectionId") != null && Convert.ToBoolean(Eval("ConnectionEnabled")) %>'
CommandName="DisableItem" CommandArgument='<%# Eval("Id") %>' meta:resourcekey="cmdDisable"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="imgRemove1" runat="server" Text="Remove" Visible='<%# Eval("RdsCollectionId") == null %>'
CommandName="DeleteItem" CommandArgument='<%# Eval("Id") %>'
meta:resourcekey="cmdDelete" OnClientClick="return confirm('Are you sure you want to remove selected server?')"></asp:LinkButton>

View file

@ -61,35 +61,31 @@ namespace WebsitePanel.Portal.RDS
protected void gvRDSAssignedServers_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "DeleteItem")
{
// delete RDS Server
int rdsServerId = int.Parse(e.CommandArgument.ToString());
int rdsServerId = int.Parse(e.CommandArgument.ToString());
try
{
RdsServer rdsServer = ES.Services.RDS.GetRdsServer(rdsServerId);
RdsServer rdsServer = ES.Services.RDS.GetRdsServer(rdsServerId);
switch (e.CommandName)
{
case "DeleteItem":
if (rdsServer.RdsCollectionId != null)
{
messageBox.ShowErrorMessage("RDS_UNASSIGN_SERVER_FROM_ORG_SERVER_IS_IN_COLLECTION");
return;
}
ResultObject result = ES.Services.RDS.RemoveRdsServerFromOrganization(rdsServerId);
if (!result.IsSuccess)
{
messageBox.ShowMessage(result, "REMOTE_DESKTOP_SERVICES_UNASSIGN_SERVER_FROM_ORG", "RDS");
return;
}
gvRDSAssignedServers.DataBind();
}
catch (Exception ex)
{
ShowErrorMessage("REMOTE_DESKTOP_SERVICES_UNASSIGN_SERVER_FROM_ORG", ex);
}
DeleteItem(rdsServerId);
break;
case "EnableItem":
ChangeConnectionState(true, rdsServer);
break;
case "DisableItem":
ChangeConnectionState(false, rdsServer);
break;
}
gvRDSAssignedServers.DataBind();
}
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
@ -97,6 +93,26 @@ namespace WebsitePanel.Portal.RDS
gvRDSAssignedServers.PageSize = Convert.ToInt16(ddlPageSize.SelectedValue);
gvRDSAssignedServers.DataBind();
}
#region Methods
private void DeleteItem(int rdsServerId)
{
ResultObject result = ES.Services.RDS.RemoveRdsServerFromOrganization(rdsServerId);
if (!result.IsSuccess)
{
messageBox.ShowMessage(result, "REMOTE_DESKTOP_SERVICES_UNASSIGN_SERVER_FROM_ORG", "RDS");
return;
}
}
private void ChangeConnectionState(bool enabled, RdsServer rdsServer)
{
ES.Services.RDS.SetRDServerNewConnectionAllowed(rdsServer.ItemId.Value, enabled, rdsServer.Id);
}
#endregion
}
}