Added phone numbers in the hosted organization. part 2.

This commit is contained in:
dev_amdtel 2013-11-21 17:03:56 +04:00
parent a735808a04
commit ce04966e91
22 changed files with 4642 additions and 4442 deletions

View file

@ -2401,3 +2401,188 @@ INSERT [dbo].[Providers] ([ProviderId], [GroupId], [ProviderName], [DisplayName]
VALUES(1501, 45, N'RemoteDesktopServices2012', N'Remote Desktop Services Windows 2012', N'WebsitePanel.Providers.RemoteDesktopServices.Windows2012,WebsitePanel.Providers.RemoteDesktopServices.Windows2012', N'RDS', 1)
END
GO
-- Added phone numbers in the hosted organization.
IF NOT EXISTS(select 1 from sys.columns COLS INNER JOIN sys.objects OBJS ON OBJS.object_id=COLS.object_id and OBJS.type='U' AND OBJS.name='PackageIPAddresses' AND COLS.name='OrgID')
BEGIN
ALTER TABLE [dbo].[PackageIPAddresses] ADD
[OrgID] [int] NULL
END
GO
ALTER PROCEDURE [dbo].[AllocatePackageIPAddresses]
(
@PackageID int,
@OrgID int,
@xml ntext
)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @idoc int
--Create an internal representation of the XML document.
EXEC sp_xml_preparedocument @idoc OUTPUT, @xml
-- delete
DELETE FROM PackageIPAddresses
FROM PackageIPAddresses AS PIP
INNER JOIN OPENXML(@idoc, '/items/item', 1) WITH
(
AddressID int '@id'
) as PV ON PIP.AddressID = PV.AddressID
-- insert
INSERT INTO dbo.PackageIPAddresses
(
PackageID,
OrgID,
AddressID
)
SELECT
@PackageID,
@OrgID,
AddressID
FROM OPENXML(@idoc, '/items/item', 1) WITH
(
AddressID int '@id'
) as PV
-- remove document
exec sp_xml_removedocument @idoc
END
GO
ALTER PROCEDURE [dbo].[GetPackageIPAddresses]
(
@PackageID int,
@OrgID int,
@FilterColumn nvarchar(50) = '',
@FilterValue nvarchar(50) = '',
@SortColumn nvarchar(50),
@StartRow int,
@MaximumRows int,
@PoolID int = 0,
@Recursive bit = 0
)
AS
BEGIN
-- start
DECLARE @condition nvarchar(700)
SET @condition = '
((@Recursive = 0 AND PA.PackageID = @PackageID)
OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, PA.PackageID) = 1))
AND (@PoolID = 0 OR @PoolID <> 0 AND IP.PoolID = @PoolID)
AND (@OrgID = 0 OR @OrgID <> 0 AND PA.OrgID = @OrgID)
'
IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL
AND @FilterValue <> '' AND @FilterValue IS NOT NULL
SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + ''''
IF @SortColumn IS NULL OR @SortColumn = ''
SET @SortColumn = 'IP.ExternalIP ASC'
DECLARE @sql nvarchar(3500)
set @sql = '
SELECT COUNT(PA.PackageAddressID)
FROM dbo.PackageIPAddresses PA
INNER JOIN dbo.IPAddresses AS IP ON PA.AddressID = IP.AddressID
INNER JOIN dbo.Packages P ON PA.PackageID = P.PackageID
INNER JOIN dbo.Users U ON U.UserID = P.UserID
LEFT JOIN ServiceItems SI ON PA.ItemId = SI.ItemID
WHERE ' + @condition + '
DECLARE @Addresses AS TABLE
(
PackageAddressID int
);
WITH TempItems AS (
SELECT ROW_NUMBER() OVER (ORDER BY ' + @SortColumn + ') as Row,
PA.PackageAddressID
FROM dbo.PackageIPAddresses PA
INNER JOIN dbo.IPAddresses AS IP ON PA.AddressID = IP.AddressID
INNER JOIN dbo.Packages P ON PA.PackageID = P.PackageID
INNER JOIN dbo.Users U ON U.UserID = P.UserID
LEFT JOIN ServiceItems SI ON PA.ItemId = SI.ItemID
WHERE ' + @condition + '
)
INSERT INTO @Addresses
SELECT PackageAddressID FROM TempItems
WHERE TempItems.Row BETWEEN @StartRow + 1 and @StartRow + @MaximumRows
SELECT
PA.PackageAddressID,
PA.AddressID,
IP.ExternalIP,
IP.InternalIP,
IP.SubnetMask,
IP.DefaultGateway,
PA.ItemID,
SI.ItemName,
PA.PackageID,
P.PackageName,
P.UserID,
U.UserName,
PA.IsPrimary
FROM @Addresses AS TA
INNER JOIN dbo.PackageIPAddresses AS PA ON TA.PackageAddressID = PA.PackageAddressID
INNER JOIN dbo.IPAddresses AS IP ON PA.AddressID = IP.AddressID
INNER JOIN dbo.Packages P ON PA.PackageID = P.PackageID
INNER JOIN dbo.Users U ON U.UserID = P.UserID
LEFT JOIN ServiceItems SI ON PA.ItemId = SI.ItemID
'
print @sql
exec sp_executesql @sql, N'@PackageID int, @OrgID int, @StartRow int, @MaximumRows int, @Recursive bit, @PoolID int',
@PackageID, @OrgID, @StartRow, @MaximumRows, @Recursive, @PoolID
END
GO
ALTER PROCEDURE [dbo].[GetPackageUnassignedIPAddresses]
(
@ActorID int,
@PackageID int,
@OrgID int,
@PoolID int = 0
)
AS
BEGIN
SELECT
PIP.PackageAddressID,
IP.AddressID,
IP.ExternalIP,
IP.InternalIP,
IP.ServerID,
IP.PoolID,
PIP.IsPrimary,
IP.SubnetMask,
IP.DefaultGateway
FROM PackageIPAddresses AS PIP
INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
WHERE
PIP.ItemID IS NULL
AND PIP.PackageID = @PackageID
AND (@PoolID = 0 OR @PoolID <> 0 AND IP.PoolID = @PoolID)
AND (@OrgID = 0 OR @OrgID <> 0 AND PIP.OrgID = @OrgID)
AND dbo.CheckActorPackageRights(@ActorID, PIP.PackageID) = 1
ORDER BY IP.DefaultGateway, IP.ExternalIP
END
GO

View file

@ -3205,23 +3205,25 @@ namespace WebsitePanel.EnterpriseServer
}
public static void AllocatePackageIPAddresses(int packageId, string xml)
public static void AllocatePackageIPAddresses(int packageId, int orgId, string xml)
{
SqlParameter[] param = new[]
{
new SqlParameter("@PackageID", packageId),
new SqlParameter("@OrgID", orgId),
new SqlParameter("@xml", xml)
};
ExecuteLongNonQuery("AllocatePackageIPAddresses", param);
}
public static IDataReader GetPackageIPAddresses(int packageId, int poolId, string filterColumn, string filterValue,
public static IDataReader GetPackageIPAddresses(int packageId, int orgId, int poolId, string filterColumn, string filterValue,
string sortColumn, int startRow, int maximumRows, bool recursive)
{
IDataReader reader = SqlHelper.ExecuteReader(ConnectionString, CommandType.StoredProcedure,
"GetPackageIPAddresses",
new SqlParameter("@PackageID", packageId),
new SqlParameter("@OrgID", orgId),
new SqlParameter("@PoolId", poolId),
new SqlParameter("@FilterColumn", VerifyColumnName(filterColumn)),
new SqlParameter("@FilterValue", VerifyColumnValue(filterValue)),
@ -3266,12 +3268,13 @@ namespace WebsitePanel.EnterpriseServer
#endregion
#region VPS - External Network Adapter
public static IDataReader GetPackageUnassignedIPAddresses(int actorId, int packageId, int poolId)
public static IDataReader GetPackageUnassignedIPAddresses(int actorId, int packageId, int orgId, int poolId)
{
return SqlHelper.ExecuteReader(ConnectionString, CommandType.StoredProcedure,
"GetPackageUnassignedIPAddresses",
new SqlParameter("@ActorID", actorId),
new SqlParameter("@PackageID", packageId),
new SqlParameter("@OrgID", orgId),
new SqlParameter("@PoolId", poolId));
}

View file

@ -1161,13 +1161,13 @@ namespace WebsitePanel.EnterpriseServer
#endregion
#region Package IP Addresses
public static PackageIPAddressesPaged GetPackageIPAddresses(int packageId, IPAddressPool pool,
public static PackageIPAddressesPaged GetPackageIPAddresses(int packageId, int orgId, IPAddressPool pool,
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive)
{
PackageIPAddressesPaged result = new PackageIPAddressesPaged();
// get reader
IDataReader reader = DataProvider.GetPackageIPAddresses(packageId, (int)pool, filterColumn, filterValue, sortColumn, startRow, maximumRows, recursive);
IDataReader reader = DataProvider.GetPackageIPAddresses(packageId, orgId, (int)pool, filterColumn, filterValue, sortColumn, startRow, maximumRows, recursive);
// number of items = first data reader
reader.Read();
@ -1190,10 +1190,15 @@ namespace WebsitePanel.EnterpriseServer
DataProvider.GetUnallottedIPAddresses(packageId, serviceId, (int)pool));
}
public static List<PackageIPAddress> GetPackageUnassignedIPAddresses(int packageId, IPAddressPool pool)
public static List<PackageIPAddress> GetPackageUnassignedIPAddresses(int packageId, int orgId, IPAddressPool pool)
{
return ObjectUtils.CreateListFromDataReader<PackageIPAddress>(
DataProvider.GetPackageUnassignedIPAddresses(SecurityContext.User.UserId, packageId, (int)pool));
DataProvider.GetPackageUnassignedIPAddresses(SecurityContext.User.UserId, packageId, orgId, (int)pool));
}
public static List<PackageIPAddress> GetPackageUnassignedIPAddresses(int packageId, IPAddressPool pool)
{
return GetPackageUnassignedIPAddresses(packageId, 0, pool);
}
public static void AllocatePackageIPAddresses(int packageId, int[] addressId)
@ -1202,10 +1207,10 @@ namespace WebsitePanel.EnterpriseServer
string xml = PrepareIPsXML(addressId);
// save to database
DataProvider.AllocatePackageIPAddresses(packageId, xml);
DataProvider.AllocatePackageIPAddresses(packageId, 0, xml);
}
public static ResultObject AllocatePackageIPAddresses(int packageId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber, int[] addressId)
public static ResultObject AllocatePackageIPAddresses(int packageId, int orgId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber, int[] addressId)
{
#region Check account and space statuses
// create result object
@ -1282,7 +1287,7 @@ namespace WebsitePanel.EnterpriseServer
// save to database
try
{
DataProvider.AllocatePackageIPAddresses(packageId, xml);
DataProvider.AllocatePackageIPAddresses(packageId, orgId, xml);
}
catch (Exception ex)
{
@ -1329,7 +1334,7 @@ namespace WebsitePanel.EnterpriseServer
}
// allocate
return AllocatePackageIPAddresses(packageId, groupName, pool,
return AllocatePackageIPAddresses(packageId, 0, groupName, pool,
true, number, new int[0]);
}

View file

@ -386,24 +386,24 @@ namespace WebsitePanel.EnterpriseServer
}
[WebMethod]
public PackageIPAddressesPaged GetPackageIPAddresses(int packageId, IPAddressPool pool,
public PackageIPAddressesPaged GetPackageIPAddresses(int packageId, int orgId, IPAddressPool pool,
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive)
{
return ServerController.GetPackageIPAddresses(packageId, pool,
return ServerController.GetPackageIPAddresses(packageId, orgId, pool,
filterColumn, filterValue, sortColumn, startRow, maximumRows, recursive);
}
[WebMethod]
public List<PackageIPAddress> GetPackageUnassignedIPAddresses(int packageId, IPAddressPool pool)
public List<PackageIPAddress> GetPackageUnassignedIPAddresses(int packageId, int orgId, IPAddressPool pool)
{
return ServerController.GetPackageUnassignedIPAddresses(packageId, pool);
return ServerController.GetPackageUnassignedIPAddresses(packageId, orgId, pool);
}
[WebMethod]
public ResultObject AllocatePackageIPAddresses(int packageId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber,
public ResultObject AllocatePackageIPAddresses(int packageId,int orgId, string groupName, IPAddressPool pool, bool allocateRandom, int addressesNumber,
int[] addressId)
{
return ServerController.AllocatePackageIPAddresses(packageId, groupName, pool, allocateRandom,
return ServerController.AllocatePackageIPAddresses(packageId, orgId, groupName, pool, allocateRandom,
addressesNumber, addressId);
}

View file

@ -108,7 +108,7 @@ namespace WebsitePanel.Portal
public PackageIPAddress[] GetPackageIPAddresses(int packageId, IPAddressPool pool, string filterColumn, string filterValue,
string sortColumn, int maximumRows, int startRowIndex)
{
packageAddresses = ES.Services.Servers.GetPackageIPAddresses(packageId, pool,
packageAddresses = ES.Services.Servers.GetPackageIPAddresses(packageId, 0, pool,
filterColumn, filterValue, sortColumn, startRowIndex, maximumRows, true);
return packageAddresses.Items;
}

View file

@ -130,7 +130,7 @@ namespace WebsitePanel.Portal
public PackageIPAddress[] GetPackageIPAddresses(int packageId, IPAddressPool pool, string filterColumn, string filterValue,
string sortColumn, int maximumRows, int startRowIndex)
{
packageAddresses = ES.Services.Servers.GetPackageIPAddresses(packageId, pool,
packageAddresses = ES.Services.Servers.GetPackageIPAddresses(packageId, 0, pool,
filterColumn, filterValue, sortColumn, startRowIndex, maximumRows, true);
return packageAddresses.Items;
}
@ -139,6 +139,19 @@ namespace WebsitePanel.Portal
{
return packageAddresses.Count;
}
public PackageIPAddress[] GetPackageIPAddresses(int packageId, int orgId, IPAddressPool pool, string filterColumn, string filterValue,
string sortColumn, int maximumRows, int startRowIndex)
{
packageAddresses = ES.Services.Servers.GetPackageIPAddresses(packageId, orgId, pool,
filterColumn, filterValue, sortColumn, startRowIndex, maximumRows, true);
return packageAddresses.Items;
}
public int GetPackageIPAddressesCount(int packageId, int orgId, IPAddressPool pool, string filterColumn, string filterValue)
{
return packageAddresses.Count;
}
#endregion
#region Package Private IP Addresses

View file

@ -32,7 +32,7 @@
<wsp:AllocatePackagePhoneNumbers id="allocatePhoneNumbers" runat="server"
Pool="PhoneNumbers"
ResourceGroup="Web"
ListAddressesControl="" />
ListAddressesControl="lync_phonenumbers" />
</div>
</div>
</div>

View file

@ -57,7 +57,7 @@ namespace WebsitePanel.Portal.Lync
private void BindPhoneNumbers()
{
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(PanelSecurity.PackageId, IPAddressPool.PhoneNumbers);
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(PanelSecurity.PackageId, PanelRequest.ItemID, IPAddressPool.PhoneNumbers);
if (ips.Length > 0)
{

View file

@ -52,7 +52,7 @@ namespace WebsitePanel.Portal.Lync
private void BindPhoneNumbers()
{
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(PanelSecurity.PackageId, IPAddressPool.PhoneNumbers);
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(PanelSecurity.PackageId, PanelRequest.ItemID, IPAddressPool.PhoneNumbers);
if (ips.Length > 0)
{

View file

@ -27,7 +27,7 @@
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle"></asp:Localize>
</div>
<div class="FormBody">
<wsp:PackagePhoneNumbers id="webAddresses" runat="server"
<wsp:PackagePhoneNumbers id="phoneNumbers" runat="server"
Pool="PhoneNumbers"
EditItemControl=""
SpaceHomeControl=""
@ -43,7 +43,7 @@
<table cellspacing="6">
<tr>
<td><asp:Localize ID="locIPQuota" runat="server" meta:resourcekey="locIPQuota" Text="Number of Phone Numbes:"></asp:Localize></td>
<td><wsp:Quota ID="addressesQuota" runat="server" QuotaName="Lync.PhoneNumbers" /></td>
<td><wsp:Quota ID="phoneQuota" runat="server" QuotaName="Lync.PhoneNumbers" /></td>
</tr>
</table>

View file

@ -56,5 +56,50 @@ namespace WebsitePanel.Portal.Lync {
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locTitle;
/// <summary>
/// phoneNumbers элемент управления.
/// </summary>
/// <remarks>
/// Автоматически создаваемое поле.
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.PackagePhoneNumbers phoneNumbers;
/// <summary>
/// secQuotas элемент управления.
/// </summary>
/// <remarks>
/// Автоматически создаваемое поле.
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
/// </remarks>
protected global::WebsitePanel.Portal.CollapsiblePanel secQuotas;
/// <summary>
/// QuotasPanel элемент управления.
/// </summary>
/// <remarks>
/// Автоматически создаваемое поле.
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel QuotasPanel;
/// <summary>
/// locIPQuota элемент управления.
/// </summary>
/// <remarks>
/// Автоматически создаваемое поле.
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize locIPQuota;
/// <summary>
/// phoneQuota элемент управления.
/// </summary>
/// <remarks>
/// Автоматически создаваемое поле.
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
/// </remarks>
protected global::WebsitePanel.Portal.Quota phoneQuota;
}
}

View file

@ -36,7 +36,7 @@ using WebsitePanel.Providers.Common;
namespace WebsitePanel.Portal.UserControls
{
public partial class AllocatePackagePhoneNumbers : WebsitePanelControlBase
public partial class AllocatePackagePhoneNumbers : WebsitePanelModuleBase
{
private IPAddressPool pool;
public IPAddressPool Pool
@ -129,6 +129,7 @@ namespace WebsitePanel.Portal.UserControls
}
ResultObject res = ES.Services.Servers.AllocatePackageIPAddresses(PanelSecurity.PackageId,
PanelRequest.ItemID,
ResourceGroup, Pool,
radioExternalRandom.Checked,
Utils.ParseInt(txtExternalAddressesNumber.Text),
@ -136,7 +137,8 @@ namespace WebsitePanel.Portal.UserControls
if (res.IsSuccess)
{
// return back
Response.Redirect(HostModule.EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), ListAddressesControl));
Response.Redirect(HostModule.EditUrl("ItemID", PanelRequest.ItemID.ToString(), ListAddressesControl,
PortalUtils.SPACE_ID_PARAM + "=" + PanelSecurity.PackageId));
}
else
{

View file

@ -129,6 +129,7 @@ namespace WebsitePanel.Portal.UserControls
}
ResultObject res = ES.Services.Servers.AllocatePackageIPAddresses(PanelSecurity.PackageId,
0,
ResourceGroup, Pool,
radioExternalRandom.Checked,
Utils.ParseInt(txtExternalAddressesNumber.Text),

View file

@ -73,7 +73,8 @@
OnSelected="odsExternalAddressesPaged_Selected"
onselecting="odsExternalAddressesPaged_Selecting">
<SelectParameters>
<asp:QueryStringParameter Name="packageId" QueryStringField="SpaceID" DefaultValue="0" />
<asp:QueryStringParameter Name="packageId" QueryStringField="SpaceID" DefaultValue="0" />
<asp:QueryStringParameter Name="orgId" QueryStringField="ItemID" DefaultValue="0" />
<asp:Parameter Name="pool" DefaultValue="0" />
<asp:ControlParameter Name="filterColumn" ControlID="searchBox" PropertyName="FilterColumn" />
<asp:ControlParameter Name="filterValue" ControlID="searchBox" PropertyName="FilterValue" />

View file

@ -118,7 +118,8 @@ namespace WebsitePanel.Portal.UserControls
protected void btnAllocateAddress_Click(object sender, EventArgs e)
{
Response.Redirect(HostModule.EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), AllocateAddressesControl));
Response.Redirect(HostModule.EditUrl("ItemID", PanelRequest.ItemID.ToString(), AllocateAddressesControl,
PortalUtils.SPACE_ID_PARAM + "=" + PanelSecurity.PackageId));
}
protected void gvAddresses_RowDataBound(object sender, GridViewRowEventArgs e)

View file

@ -1,39 +1,10 @@
// Copyright (c) 2011, 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.
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3074
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// </автоматически создаваемое>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.UserControls {
@ -42,62 +13,56 @@ namespace WebsitePanel.Portal.UserControls {
public partial class PackagePhoneNumbers {
/// <summary>
/// messageBox control.
/// messageBox элемент управления.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Автоматически создаваемое поле.
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
/// <summary>
/// btnAllocateAddress control.
/// btnAllocateAddress элемент управления.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Автоматически создаваемое поле.
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnAllocateAddress;
/// <summary>
/// searchBox control.
/// searchBox элемент управления.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Автоматически создаваемое поле.
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
/// </remarks>
protected global::WebsitePanel.Portal.SearchBox searchBox;
/// <summary>
/// gvAddresses control.
/// gvAddresses элемент управления.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Автоматически создаваемое поле.
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView gvAddresses;
/// <summary>
/// odsExternalAddressesPaged control.
/// odsExternalAddressesPaged элемент управления.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Автоматически создаваемое поле.
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsExternalAddressesPaged;
/// <summary>
/// btnDeallocateAddresses control.
/// btnDeallocateAddresses элемент управления.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// Автоматически создаваемое поле.
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnDeallocateAddresses;
}

View file

@ -117,7 +117,7 @@ namespace WebsitePanel.Portal.VPS
if (PackagesHelper.IsQuotaEnabled(PanelSecurity.PackageId, Quotas.VPS_EXTERNAL_NETWORK_ENABLED))
{
// bind list
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(PanelSecurity.PackageId, IPAddressPool.VpsExternalNetwork);
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(PanelSecurity.PackageId, 0, IPAddressPool.VpsExternalNetwork);
foreach (PackageIPAddress ip in ips)
{
string txt = ip.ExternalIP;

View file

@ -51,7 +51,7 @@ namespace WebsitePanel.Portal.VPS
private void BindExternalIPAddresses()
{
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(PanelSecurity.PackageId, IPAddressPool.VpsExternalNetwork);
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(PanelSecurity.PackageId, 0, IPAddressPool.VpsExternalNetwork);
foreach (PackageIPAddress ip in ips)
{
string txt = ip.ExternalIP;

View file

@ -51,7 +51,7 @@ namespace WebsitePanel.Portal.VPSForPC
private void BindExternalIPAddresses()
{
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(PanelSecurity.PackageId, IPAddressPool.VpsExternalNetwork);
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(PanelSecurity.PackageId, 0, IPAddressPool.VpsExternalNetwork);
foreach (PackageIPAddress ip in ips)
{
string txt = ip.ExternalIP;

View file

@ -92,7 +92,7 @@ namespace WebsitePanel.Portal
{
ddlIpAddresses.Items.Add(new ListItem("<Select IP>", ""));
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(PanelSecurity.PackageId, IPAddressPool.WebSites);
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(PanelSecurity.PackageId, 0, IPAddressPool.WebSites);
foreach (PackageIPAddress ip in ips)
{
string fullIP = ip.ExternalIP;

View file

@ -179,7 +179,7 @@ namespace WebsitePanel.Portal
// bind unassigned IP addresses
ddlIpAddresses.Items.Clear();
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(site.PackageId, IPAddressPool.WebSites);
PackageIPAddress[] ips = ES.Services.Servers.GetPackageUnassignedIPAddresses(site.PackageId, 0, IPAddressPool.WebSites);
foreach (PackageIPAddress ip in ips)
{
string fullIP = ip.ExternalIP;