Merge
This commit is contained in:
commit
3418676133
51 changed files with 5795 additions and 5058 deletions
|
@ -2419,3 +2419,191 @@ 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
|
||||
|
||||
-- CRM
|
||||
|
||||
UPDATE Providers SET EditorControl = 'CRM2011' Where ProviderID = 1201;
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -3245,23 +3245,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)),
|
||||
|
@ -3306,12 +3308,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));
|
||||
}
|
||||
|
||||
|
|
|
@ -200,6 +200,32 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return res;
|
||||
}
|
||||
|
||||
private static string GetProviderProperty(int organizationServiceId, string property)
|
||||
{
|
||||
|
||||
Organizations orgProxy = new Organizations();
|
||||
|
||||
ServiceProviderProxy.Init(orgProxy, organizationServiceId);
|
||||
|
||||
string[] organizationSettings = orgProxy.ServiceProviderSettingsSoapHeaderValue.Settings;
|
||||
|
||||
string value = string.Empty;
|
||||
foreach (string str in organizationSettings)
|
||||
{
|
||||
string[] props = str.Split('=');
|
||||
if (props.Length == 2)
|
||||
{
|
||||
if (props[0].ToLower() == property)
|
||||
{
|
||||
value = props[1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
public static OrganizationResult CreateOrganization(int organizationId, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string regionName, int userId, string collation)
|
||||
{
|
||||
OrganizationResult res = StartTask<OrganizationResult>("CRM", "CREATE_ORGANIZATION");
|
||||
|
@ -239,6 +265,10 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int serviceid = PackageController.GetPackageServiceId(org.PackageId, ResourceGroups.HostedOrganizations);
|
||||
string rootOU = GetProviderProperty(serviceid, "rootou");
|
||||
|
||||
org.CrmAdministratorId = user.AccountId;
|
||||
org.CrmCurrency =
|
||||
|
@ -248,7 +278,10 @@ namespace WebsitePanel.EnterpriseServer
|
|||
org.CrmOrganizationId = orgId;
|
||||
|
||||
OrganizationResult serverRes =
|
||||
crm.CreateOrganization(orgId, org.OrganizationId, org.Name, baseCurrencyCode, baseCurrencyName,
|
||||
crm.CreateOrganization(orgId, org.OrganizationId, org.Name,
|
||||
org.DefaultDomain,
|
||||
org.OrganizationId + "." + rootOU,
|
||||
baseCurrencyCode, baseCurrencyName,
|
||||
baseCurrencySymbol, user.SamAccountName, user.FirstName, user.LastName, user.PrimaryEmailAddress,
|
||||
collation);
|
||||
|
||||
|
|
|
@ -1167,13 +1167,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();
|
||||
|
@ -1196,10 +1196,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)
|
||||
|
@ -1208,10 +1213,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
|
||||
|
@ -1288,7 +1293,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
// save to database
|
||||
try
|
||||
{
|
||||
DataProvider.AllocatePackageIPAddresses(packageId, xml);
|
||||
DataProvider.AllocatePackageIPAddresses(packageId, orgId, xml);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -1335,7 +1340,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
|
||||
// allocate
|
||||
return AllocatePackageIPAddresses(packageId, groupName, pool,
|
||||
return AllocatePackageIPAddresses(packageId, 0, groupName, pool,
|
||||
true, number, new int[0]);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -58,6 +58,12 @@ namespace WebsitePanel.Providers.Common
|
|||
|
||||
public const string AppRootDomain = "AppRootDomain";
|
||||
|
||||
public const string OrganizationWebService = "OrganizationWebService";
|
||||
|
||||
public const string DiscoveryWebService = "DiscoveryWebService";
|
||||
|
||||
public const string DeploymentWebService = "DeploymentWebService";
|
||||
|
||||
public const string UtilityPath = "UtilityPath";
|
||||
|
||||
public const string EnterpriseServer = "EnterpriseServer";
|
||||
|
|
|
@ -36,5 +36,14 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
public string CRMUserName { get; set; }
|
||||
public CRMUserAccessMode ClientAccessMode { get; set; }
|
||||
public bool CRMDisabled { get; set; }
|
||||
|
||||
public int CRMUsersCount { get; set; }
|
||||
public string AccountNumber { get; set; }
|
||||
public string СRMOrganizationName { get; set; }
|
||||
public int CRMUsersFullLicenceCount { get; set; }
|
||||
public int CRMUsersReadOnlyLicenceCount { get; set; }
|
||||
public int UsedSpace { get; set; }
|
||||
public string UsageMonth { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
public interface ICRM
|
||||
{
|
||||
OrganizationResult CreateOrganization(Guid organizationId, string organizationUniqueName, string organizationFriendlyName,
|
||||
string organizationDomainName, string ou,
|
||||
string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol,
|
||||
string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail,
|
||||
string organizationCollation);
|
||||
|
@ -60,5 +61,8 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
CrmUserResult GetCrmUserById(Guid crmUserId, string orgName);
|
||||
|
||||
ResultObject ChangeUserState(bool disable, string orgName, Guid crmUserId);
|
||||
|
||||
long GetUsedSpace(Guid organizationId);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ using System.Security.Principal;
|
|||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Threading;
|
||||
using System.ServiceModel.Description;
|
||||
using System.Text.RegularExpressions;
|
||||
using Microsoft.Win32;
|
||||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
|
@ -58,7 +59,9 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
{
|
||||
get
|
||||
{
|
||||
string cRMServiceUrl = "https://" + ProviderSettings[Constants.AppRootDomain] + ":" + ProviderSettings[Constants.Port] + "/XRMDeployment/2011/Deployment.svc";
|
||||
string uri = ProviderSettings[Constants.DeploymentWebService];
|
||||
if (String.IsNullOrEmpty(uri)) uri = ProviderSettings[Constants.AppRootDomain];
|
||||
string cRMServiceUrl = "https://" + uri + ":" + ProviderSettings[Constants.Port] + "/XRMDeployment/2011/Deployment.svc";
|
||||
return cRMServiceUrl;
|
||||
}
|
||||
}
|
||||
|
@ -67,7 +70,9 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
{
|
||||
get
|
||||
{
|
||||
string cRMDiscoveryUri = "https://" + ProviderSettings[Constants.AppRootDomain] + ":" + ProviderSettings[Constants.Port] + "/XRMServices/2011/Discovery.svc";
|
||||
string uri = ProviderSettings[Constants.DiscoveryWebService];
|
||||
if (String.IsNullOrEmpty(uri)) uri = ProviderSettings[Constants.AppRootDomain];
|
||||
string cRMDiscoveryUri = "https://" + uri + ":" + ProviderSettings[Constants.Port] + "/XRMServices/2011/Discovery.svc";
|
||||
return cRMDiscoveryUri;
|
||||
}
|
||||
}
|
||||
|
@ -174,6 +179,75 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
return res;
|
||||
}
|
||||
|
||||
public long GetUsedSpace(Guid organizationId)
|
||||
{
|
||||
Log.WriteStart("GetUsedSpace");
|
||||
long res = 0;
|
||||
|
||||
string crmDatabaseName = "MSCRM_CONFIG";
|
||||
string databasename = "";
|
||||
|
||||
SqlConnection connection = null;
|
||||
try
|
||||
{
|
||||
connection = new SqlConnection();
|
||||
connection.ConnectionString =
|
||||
string.Format("Server={1};Initial Catalog={0};Integrated Security=SSPI",
|
||||
crmDatabaseName, SqlServer);
|
||||
|
||||
connection.Open();
|
||||
|
||||
string commandText = string.Format("SELECT DatabaseName FROM dbo.Organization where id = '{0}'", organizationId);
|
||||
SqlCommand command = new SqlCommand(commandText, connection);
|
||||
databasename = command.ExecuteScalar().ToString();
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.WriteError(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (connection != null)
|
||||
connection.Dispose();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
connection = new SqlConnection();
|
||||
connection.ConnectionString =
|
||||
string.Format("Server={1};Initial Catalog={0};Integrated Security=SSPI",
|
||||
databasename, SqlServer);
|
||||
|
||||
connection.Open();
|
||||
|
||||
string commandText = "SELECT ((dbsize + logsize) * 8192 ) size FROM " +
|
||||
"( " +
|
||||
"SELECT SUM(CONVERT(BIGINT,CASE WHEN status & 64 = 0 THEN size ELSE 0 END)) dbsize " +
|
||||
", SUM(CONVERT(BIGINT,CASE WHEN status & 64 <> 0 THEN size ELSE 0 END)) logsize " +
|
||||
"FROM dbo.sysfiles " +
|
||||
") big";
|
||||
|
||||
SqlCommand command = new SqlCommand(commandText, connection);
|
||||
res = (long)command.ExecuteScalar();
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.WriteError(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (connection != null)
|
||||
connection.Dispose();
|
||||
|
||||
}
|
||||
|
||||
Log.WriteEnd("GetUsedSpace");
|
||||
return res;
|
||||
|
||||
}
|
||||
|
||||
private bool CheckOrganizationUnique(string databaseName, string orgName)
|
||||
{
|
||||
Log.WriteStart("CheckOrganizationUnique");
|
||||
|
@ -319,17 +393,39 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
return retOrganization;
|
||||
}
|
||||
|
||||
public OrganizationResult CreateOrganization(Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation)
|
||||
public OrganizationResult CreateOrganization(Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string organizationDomainName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation)
|
||||
{
|
||||
return CreateOrganizationInternal(organizationId, organizationUniqueName, organizationFriendlyName, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, initialUserDomainName, initialUserFirstName, initialUserLastName, initialUserPrimaryEmail, organizationCollation);
|
||||
return CreateOrganizationInternal(organizationId, organizationUniqueName, organizationFriendlyName, organizationDomainName, ou , baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, initialUserDomainName, initialUserFirstName, initialUserLastName, initialUserPrimaryEmail, organizationCollation);
|
||||
}
|
||||
|
||||
const string CRMSysAdminRoleStr = "Ñèñòåìíûé àäìèíèñòðàòîð;System Administrator";
|
||||
const string CRMSysAdminRoleStr = "Системный администратор;System Administrator";
|
||||
|
||||
internal OrganizationResult CreateOrganizationInternal(Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation)
|
||||
internal OrganizationResult CreateOrganizationInternal(Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string organizationDomainName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation)
|
||||
{
|
||||
|
||||
OrganizationResult ret = StartLog<OrganizationResult>("CreateOrganizationInternal");
|
||||
|
||||
organizationUniqueName = Regex.Replace(organizationUniqueName, @"[^\dA-Za-z]", "-", RegexOptions.Compiled);
|
||||
|
||||
// calculate UserRootPath
|
||||
string ldapstr = "";
|
||||
|
||||
string[] ouItems = ou.Split('.');
|
||||
foreach (string ouItem in ouItems)
|
||||
{
|
||||
if (ldapstr.Length != 0) ldapstr += ",";
|
||||
ldapstr += "OU=" + ouItem;
|
||||
}
|
||||
|
||||
string rootDomain = ServerSettings.ADRootDomain;
|
||||
string[] domainItems = rootDomain.Split('.');
|
||||
foreach (string domainItem in domainItems)
|
||||
ldapstr += ",DC=" + domainItem;
|
||||
|
||||
ldapstr = @"LDAP://" + rootDomain + "/" + ldapstr;
|
||||
|
||||
|
||||
|
||||
if (organizationId == Guid.Empty)
|
||||
throw new ArgumentException("OrganizationId is Guid.Empty");
|
||||
|
||||
|
@ -362,6 +458,8 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
Uri serviceUrl = new Uri(CRMServiceUrl);
|
||||
|
||||
DeploymentServiceClient deploymentService = Microsoft.Xrm.Sdk.Deployment.Proxy.ProxyClientHelper.CreateClient(serviceUrl);
|
||||
if (!String.IsNullOrEmpty(UserName))
|
||||
deploymentService.ClientCredentials.Windows.ClientCredential = new NetworkCredential(UserName, Password);
|
||||
|
||||
Microsoft.Xrm.Sdk.Deployment.Organization org = new Microsoft.Xrm.Sdk.Deployment.Organization
|
||||
{
|
||||
|
@ -397,9 +495,11 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
|
||||
Microsoft.Xrm.Sdk.Deployment.OrganizationState OperationState = Microsoft.Xrm.Sdk.Deployment.OrganizationState.Pending;
|
||||
|
||||
int timeout = 30000;
|
||||
|
||||
do
|
||||
{
|
||||
Thread.Sleep(30000);
|
||||
Thread.Sleep(timeout);
|
||||
try
|
||||
{
|
||||
Microsoft.Xrm.Sdk.Deployment.Organization getorg
|
||||
|
@ -413,16 +513,50 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
if (OperationState == Microsoft.Xrm.Sdk.Deployment.OrganizationState.Failed)
|
||||
throw new ArgumentException("Create organization failed.");
|
||||
|
||||
|
||||
try
|
||||
// update UserRootPath setting
|
||||
Microsoft.Xrm.Sdk.Deployment.ConfigurationEntity orgSettings = new Microsoft.Xrm.Sdk.Deployment.ConfigurationEntity
|
||||
{
|
||||
OrganizationServiceProxy _serviceProxy = GetOrganizationProxy(organizationUniqueName);
|
||||
Id = org.Id,
|
||||
LogicalName = "Organization"
|
||||
};
|
||||
orgSettings.Attributes = new Microsoft.Xrm.Sdk.Deployment.AttributeCollection();
|
||||
orgSettings.Attributes.Add(new KeyValuePair<string, object>("UserRootPath", ldapstr));
|
||||
Microsoft.Xrm.Sdk.Deployment.UpdateAdvancedSettingsRequest reqUpdateSettings = new Microsoft.Xrm.Sdk.Deployment.UpdateAdvancedSettingsRequest
|
||||
{
|
||||
Entity = orgSettings
|
||||
};
|
||||
Microsoft.Xrm.Sdk.Deployment.UpdateAdvancedSettingsResponse respUpdateSettings = (Microsoft.Xrm.Sdk.Deployment.UpdateAdvancedSettingsResponse) deploymentService.Execute(reqUpdateSettings);
|
||||
|
||||
string ldap = "";
|
||||
int tryTimeout = 30000;
|
||||
int tryCount = 10;
|
||||
|
||||
Guid SysAdminGuid = RetrieveSystemUser(GetDomainName(initialUserDomainName), initialUserFirstName, initialUserLastName, CRMSysAdminRoleStr, _serviceProxy, ref ldap);
|
||||
bool success = false;
|
||||
int tryItem = 0;
|
||||
|
||||
while (!success)
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
Thread.Sleep(tryTimeout);
|
||||
|
||||
OrganizationServiceProxy _serviceProxy = GetOrganizationProxy(organizationUniqueName, 0, 0);
|
||||
|
||||
string ldap = "";
|
||||
|
||||
Guid SysAdminGuid = RetrieveSystemUser(GetDomainName(initialUserDomainName), initialUserFirstName, initialUserLastName, CRMSysAdminRoleStr, _serviceProxy, ref ldap);
|
||||
|
||||
success = true;
|
||||
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
tryItem++;
|
||||
if (tryItem >= tryCount)
|
||||
success = true;
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
@ -944,10 +1078,15 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
return false;
|
||||
}
|
||||
|
||||
int GetOrganizationProxyTryCount = 5;
|
||||
int GetOrganizationProxyTryCount = 10;
|
||||
int GetOrganizationProxyTryTimeout = 30000;
|
||||
|
||||
private OrganizationServiceProxy GetOrganizationProxy(string orgName)
|
||||
{
|
||||
return GetOrganizationProxy(orgName, GetOrganizationProxyTryCount, GetOrganizationProxyTryTimeout);
|
||||
}
|
||||
|
||||
private OrganizationServiceProxy GetOrganizationProxy(string orgName, int TryCount, int TryTimeout)
|
||||
{
|
||||
|
||||
Uri OrganizationUri = GetOrganizationAddress(orgName);
|
||||
|
@ -977,9 +1116,9 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Thread.Sleep(GetOrganizationProxyTryTimeout);
|
||||
Thread.Sleep(TryTimeout);
|
||||
tryItem++;
|
||||
if (tryItem >= GetOrganizationProxyTryCount)
|
||||
if (tryItem >= TryCount)
|
||||
{
|
||||
exception = exc;
|
||||
success = true;
|
||||
|
@ -1013,7 +1152,6 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
return credentials;
|
||||
}
|
||||
|
||||
|
||||
private DiscoveryServiceProxy GetDiscoveryProxy()
|
||||
{
|
||||
|
||||
|
@ -1041,7 +1179,20 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
|
||||
protected virtual Uri GetOrganizationAddress(string orgName)
|
||||
{
|
||||
string url = "https://" + ProviderSettings[Constants.AppRootDomain] + ":" + ProviderSettings[Constants.Port] + "/" + orgName + "/XRMServices/2011/Organization.svc";
|
||||
//string url = "https://" + ProviderSettings[Constants.AppRootDomain] + ":" + ProviderSettings[Constants.Port] + "/" + orgName + "/XRMServices/2011/Organization.svc";
|
||||
|
||||
string url;
|
||||
|
||||
string organizationWebServiceUri = ProviderSettings[Constants.OrganizationWebService];
|
||||
|
||||
if (!String.IsNullOrEmpty(organizationWebServiceUri))
|
||||
{
|
||||
url = "https://" + organizationWebServiceUri + ":" + ProviderSettings[Constants.Port] + "/" + orgName + "/XRMServices/2011/Organization.svc";
|
||||
}
|
||||
else
|
||||
{
|
||||
url = "https://" + orgName + "." + ProviderSettings[Constants.IFDWebApplicationRootDomain] + ":" + ProviderSettings[Constants.Port] + "/XRMServices/2011/Organization.svc";
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
|
|
|
@ -328,7 +328,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
return retOrganization;
|
||||
}
|
||||
|
||||
public OrganizationResult CreateOrganization(Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation)
|
||||
public OrganizationResult CreateOrganization(Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string organizationDomainName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation)
|
||||
{
|
||||
return CreateOrganizationInternal(organizationId, organizationUniqueName, organizationFriendlyName, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, initialUserDomainName, initialUserFirstName, initialUserLastName, initialUserPrimaryEmail, organizationCollation);
|
||||
}
|
||||
|
@ -1545,6 +1545,11 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
return value.StartsWith("4.");
|
||||
}
|
||||
|
||||
public long GetUsedSpace(Guid organizationId)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,55 +1,26 @@
|
|||
// 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.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.3053
|
||||
// Runtime Version:2.0.50727.5466
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
|
||||
//
|
||||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
|
||||
//
|
||||
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
|
||||
//
|
||||
namespace WebsitePanel.Providers.CRM {
|
||||
using System.Diagnostics;
|
||||
using System.Xml.Serialization;
|
||||
using System.Web.Services;
|
||||
using System.ComponentModel;
|
||||
using System.Web.Services.Protocols;
|
||||
using System;
|
||||
using System.Xml.Serialization;
|
||||
using System.Diagnostics;
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
|
@ -86,9 +57,11 @@ namespace WebsitePanel.Providers.CRM {
|
|||
|
||||
private System.Threading.SendOrPostCallback ChangeUserStateOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetUsedSpaceOperationCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public CRM() {
|
||||
this.Url = "http://192.168.0.133:9003/CRM.asmx";
|
||||
this.Url = "http://localhost:9004/CRM.asmx";
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
|
@ -127,14 +100,19 @@ namespace WebsitePanel.Providers.CRM {
|
|||
/// <remarks/>
|
||||
public event ChangeUserStateCompletedEventHandler ChangeUserStateCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GetUsedSpaceCompletedEventHandler GetUsedSpaceCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateOrganization", 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 OrganizationResult CreateOrganization(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation) {
|
||||
public OrganizationResult CreateOrganization(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string organizationDomainName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation) {
|
||||
object[] results = this.Invoke("CreateOrganization", new object[] {
|
||||
organizationId,
|
||||
organizationUniqueName,
|
||||
organizationFriendlyName,
|
||||
organizationDomainName,
|
||||
ou,
|
||||
baseCurrencyCode,
|
||||
baseCurrencyName,
|
||||
baseCurrencySymbol,
|
||||
|
@ -147,11 +125,13 @@ namespace WebsitePanel.Providers.CRM {
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginCreateOrganization(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, System.AsyncCallback callback, object asyncState) {
|
||||
public System.IAsyncResult BeginCreateOrganization(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string organizationDomainName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("CreateOrganization", new object[] {
|
||||
organizationId,
|
||||
organizationUniqueName,
|
||||
organizationFriendlyName,
|
||||
organizationDomainName,
|
||||
ou,
|
||||
baseCurrencyCode,
|
||||
baseCurrencyName,
|
||||
baseCurrencySymbol,
|
||||
|
@ -169,12 +149,12 @@ namespace WebsitePanel.Providers.CRM {
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CreateOrganizationAsync(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation) {
|
||||
this.CreateOrganizationAsync(organizationId, organizationUniqueName, organizationFriendlyName, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, initialUserDomainName, initialUserFirstName, initialUserLastName, initialUserPrimaryEmail, organizationCollation, null);
|
||||
public void CreateOrganizationAsync(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string organizationDomainName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation) {
|
||||
this.CreateOrganizationAsync(organizationId, organizationUniqueName, organizationFriendlyName, organizationDomainName, ou, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, initialUserDomainName, initialUserFirstName, initialUserLastName, initialUserPrimaryEmail, organizationCollation, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void CreateOrganizationAsync(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, object userState) {
|
||||
public void CreateOrganizationAsync(System.Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string organizationDomainName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation, object userState) {
|
||||
if ((this.CreateOrganizationOperationCompleted == null)) {
|
||||
this.CreateOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrganizationOperationCompleted);
|
||||
}
|
||||
|
@ -182,6 +162,8 @@ namespace WebsitePanel.Providers.CRM {
|
|||
organizationId,
|
||||
organizationUniqueName,
|
||||
organizationFriendlyName,
|
||||
organizationDomainName,
|
||||
ou,
|
||||
baseCurrencyCode,
|
||||
baseCurrencyName,
|
||||
baseCurrencySymbol,
|
||||
|
@ -691,33 +673,54 @@ namespace WebsitePanel.Providers.CRM {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetUsedSpace", 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 long GetUsedSpace(System.Guid organizationId) {
|
||||
object[] results = this.Invoke("GetUsedSpace", new object[] {
|
||||
organizationId});
|
||||
return ((long)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginGetUsedSpace(System.Guid organizationId, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("GetUsedSpace", new object[] {
|
||||
organizationId}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public long EndGetUsedSpace(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((long)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetUsedSpaceAsync(System.Guid organizationId) {
|
||||
this.GetUsedSpaceAsync(organizationId, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetUsedSpaceAsync(System.Guid organizationId, object userState) {
|
||||
if ((this.GetUsedSpaceOperationCompleted == null)) {
|
||||
this.GetUsedSpaceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUsedSpaceOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("GetUsedSpace", new object[] {
|
||||
organizationId}, this.GetUsedSpaceOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnGetUsedSpaceOperationCompleted(object arg) {
|
||||
if ((this.GetUsedSpaceCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.GetUsedSpaceCompleted(this, new GetUsedSpaceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState) {
|
||||
base.CancelAsync(userState);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void CreateOrganizationCompletedEventHandler(object sender, CreateOrganizationCompletedEventArgs e);
|
||||
|
@ -1029,4 +1032,30 @@ namespace WebsitePanel.Providers.CRM {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void GetUsedSpaceCompletedEventHandler(object sender, GetUsedSpaceCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GetUsedSpaceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal GetUsedSpaceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public long Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((long)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,9 +55,9 @@ namespace WebsitePanel.Server
|
|||
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public OrganizationResult CreateOrganization(Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation)
|
||||
public OrganizationResult CreateOrganization(Guid organizationId, string organizationUniqueName, string organizationFriendlyName, string organizationDomainName, string ou, string baseCurrencyCode, string baseCurrencyName, string baseCurrencySymbol, string initialUserDomainName, string initialUserFirstName, string initialUserLastName, string initialUserPrimaryEmail, string organizationCollation)
|
||||
{
|
||||
return CrmProvider.CreateOrganization(organizationId, organizationUniqueName, organizationFriendlyName, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, initialUserDomainName, initialUserFirstName, initialUserLastName, initialUserPrimaryEmail, organizationCollation);
|
||||
return CrmProvider.CreateOrganization(organizationId, organizationUniqueName, organizationFriendlyName, organizationDomainName, ou, baseCurrencyCode, baseCurrencyName, baseCurrencySymbol, initialUserDomainName, initialUserFirstName, initialUserLastName, initialUserPrimaryEmail, organizationCollation);
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
|
@ -126,5 +126,13 @@ namespace WebsitePanel.Server
|
|||
{
|
||||
return CrmProvider.ChangeUserState(disable, orgName, crmUserId);
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public long GetUsedSpace(Guid organizationId)
|
||||
{
|
||||
return CrmProvider.GetUsedSpace( organizationId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -277,7 +277,6 @@
|
|||
<ModuleDefinition id="LyncPhoneNumbers">
|
||||
<Controls>
|
||||
<Control key="" src="WebsitePanel/LyncPhoneNumbers.ascx" title="LyncPhoneNumbers" type="View" />
|
||||
<Control key="allocate_phonenumbers" src="WebsitePanel/LyncAllocatePhoneNumbers.ascx" title="LyncPhoneNumbers" type="View" />
|
||||
</Controls>
|
||||
</ModuleDefinition>
|
||||
<ModuleDefinition id="FtpAccounts">
|
||||
|
@ -554,6 +553,8 @@
|
|||
<Control key="create_enterprisestorage_folder" src="WebsitePanel/ExchangeServer/EnterpriseStorageCreateFolder.ascx" title="Create New ES Folder" type="View" />
|
||||
<Control key="enterprisestorage_folder_settings" src="WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx" title="Edit ES Folder" type="View" />
|
||||
|
||||
<Control key="lync_phonenumbers" src="WebsitePanel/Lync/LyncPhoneNumbers.ascx" title="LyncPhoneNumbers" type="View" />
|
||||
<Control key="allocate_phonenumbers" src="WebsitePanel/Lync/LyncAllocatePhoneNumbers.ascx" title="LyncPhoneNumbers" type="View" />
|
||||
</Controls>
|
||||
</ModuleDefinition>
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -210,4 +210,7 @@
|
|||
<data name="Text.EnterpriseStorageFolders" xml:space="preserve">
|
||||
<value>Folders</value>
|
||||
</data>
|
||||
<data name="Text.LyncPhoneNumbers" xml:space="preserve">
|
||||
<value>Phone Numbers</value>
|
||||
</data>
|
||||
</root>
|
|
@ -246,6 +246,9 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
|
|||
if (Utils.CheckQouta(Quotas.LYNC_FEDERATION, cntx))
|
||||
lyncGroup.MenuItems.Add(CreateMenuItem("LyncFederationDomains", "lync_federationdomains"));
|
||||
|
||||
if (Utils.CheckQouta(Quotas.LYNC_PHONE, cntx))
|
||||
lyncGroup.MenuItems.Add(CreateMenuItem("LyncPhoneNumbers", "lync_phonenumbers"));
|
||||
|
||||
groups.Add(lyncGroup);
|
||||
}
|
||||
|
||||
|
|
|
@ -135,4 +135,7 @@
|
|||
<data name="DomainRequiredValidator.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Lync Add Federation Domain</value>
|
||||
</data>
|
||||
</root>
|
|
@ -123,4 +123,7 @@
|
|||
<data name="secQuotas.Text" xml:space="preserve">
|
||||
<value>Quotas</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Phone Numbers</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,129 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="locIPQuota.Text" xml:space="preserve">
|
||||
<value>Number of Phone Numbers:</value>
|
||||
</data>
|
||||
<data name="secQuotas.Text" xml:space="preserve">
|
||||
<value>Quotas</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Phone Numbers</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,40 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncAllocatePhoneNumbers.ascx.cs" Inherits="WebsitePanel.Portal.Lync.LyncAllocatePhoneNumbers" %>
|
||||
<%@ Register Src="UserControls/AllocatePackagePhoneNumbers.ascx" TagName="AllocatePackagePhoneNumbers" TagPrefix="wsp" %>
|
||||
|
||||
<%@ Register Src="../ExchangeServer/UserControls/UserSelector.ascx" TagName="UserSelector" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/LyncUserPlanSelector.ascx" TagName="LyncUserPlanSelector" TagPrefix="wsp" %>
|
||||
|
||||
<%@ Register Src="../UserControls/PackagePhoneNumbers.ascx" TagName="PackagePhoneNumbers" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/Quota.ascx" TagName="Quota" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
|
||||
<div id="ExchangeContainer">
|
||||
<div class="Module">
|
||||
<div class="Header">
|
||||
<wsp:Breadcrumb id="breadcrumb" runat="server" PageName="Text.PageName" meta:resourcekey="breadcrumb" />
|
||||
</div>
|
||||
<div class="Left">
|
||||
<wsp:Menu id="menu" runat="server" />
|
||||
</div>
|
||||
<div class="Content">
|
||||
<div class="Center">
|
||||
<div class="Title">
|
||||
<asp:Image ID="Image1" SkinID="LyncLogo" runat="server" />
|
||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle"></asp:Localize>
|
||||
</div>
|
||||
<div class="FormBody">
|
||||
<wsp:AllocatePackagePhoneNumbers id="allocatePhoneNumbers" runat="server"
|
||||
Pool="PhoneNumbers"
|
||||
ResourceGroup="Web"
|
||||
ListAddressesControl="lync_phonenumbers" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -32,7 +32,7 @@ using System.Web;
|
|||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
namespace WebsitePanel.Portal.Lync
|
||||
{
|
||||
public partial class LyncAllocatePhoneNumbers : WebsitePanelModuleBase
|
||||
{
|
|
@ -0,0 +1,69 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <автоматически создаваемое>
|
||||
// Этот код создан программой.
|
||||
//
|
||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||
// повторной генерации кода.
|
||||
// </автоматически создаваемое>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.Lync {
|
||||
|
||||
|
||||
public partial class LyncAllocatePhoneNumbers {
|
||||
|
||||
/// <summary>
|
||||
/// asyncTasks элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||
|
||||
/// <summary>
|
||||
/// breadcrumb элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb;
|
||||
|
||||
/// <summary>
|
||||
/// menu элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu;
|
||||
|
||||
/// <summary>
|
||||
/// Image1 элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image Image1;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTitle;
|
||||
|
||||
/// <summary>
|
||||
/// allocatePhoneNumbers элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.AllocatePackagePhoneNumbers allocatePhoneNumbers;
|
||||
}
|
||||
}
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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.Lync {
|
||||
|
@ -42,192 +13,182 @@ namespace WebsitePanel.Portal.Lync {
|
|||
public partial class CreateLyncUser {
|
||||
|
||||
/// <summary>
|
||||
/// asyncTasks control.
|
||||
/// asyncTasks элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||
|
||||
/// <summary>
|
||||
/// breadcrumb control.
|
||||
/// breadcrumb элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb;
|
||||
|
||||
/// <summary>
|
||||
/// menu control.
|
||||
/// menu элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu;
|
||||
|
||||
/// <summary>
|
||||
/// Image1 control.
|
||||
/// Image1 элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image Image1;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle control.
|
||||
/// locTitle элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTitle;
|
||||
|
||||
/// <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>
|
||||
/// ExistingUserTable control.
|
||||
/// ExistingUserTable элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTable ExistingUserTable;
|
||||
|
||||
/// <summary>
|
||||
/// Localize1 control.
|
||||
/// Localize1 элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize Localize1;
|
||||
|
||||
/// <summary>
|
||||
/// userSelector control.
|
||||
/// userSelector элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.UserSelector userSelector;
|
||||
|
||||
/// <summary>
|
||||
/// locPlanName control.
|
||||
/// locPlanName элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locPlanName;
|
||||
|
||||
/// <summary>
|
||||
/// planSelector control.
|
||||
/// planSelector элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.Lync.UserControls.LyncUserPlanSelector planSelector;
|
||||
|
||||
/// <summary>
|
||||
/// pnEnterpriseVoice control.
|
||||
/// pnEnterpriseVoice элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel pnEnterpriseVoice;
|
||||
|
||||
/// <summary>
|
||||
/// locPhoneNumber control.
|
||||
/// locPhoneNumber элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locPhoneNumber;
|
||||
|
||||
/// <summary>
|
||||
/// ddlPhoneNumber control.
|
||||
/// tb_PhoneNumber элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox tb_PhoneNumber;
|
||||
|
||||
/// <summary>
|
||||
/// ddlPhoneNumber элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlPhoneNumber;
|
||||
|
||||
/// <summary>
|
||||
/// PhoneFormatValidator control.
|
||||
/// PhoneFormatValidator элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RegularExpressionValidator PhoneFormatValidator;
|
||||
|
||||
/// <summary>
|
||||
/// locLyncPin control.
|
||||
/// locLyncPin элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locLyncPin;
|
||||
|
||||
/// <summary>
|
||||
/// tbPin control.
|
||||
/// tbPin элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox tbPin;
|
||||
|
||||
/// <summary>
|
||||
/// PinRegularExpressionValidator control.
|
||||
/// PinRegularExpressionValidator элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RegularExpressionValidator PinRegularExpressionValidator;
|
||||
|
||||
/// <summary>
|
||||
/// btnCreate control.
|
||||
/// btnCreate элемент управления.
|
||||
/// </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 btnCreate;
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncPhoneNumbers.ascx.cs" Inherits="WebsitePanel.Portal.Lync.LyncPhoneNumbers" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/UserSelector.ascx" TagName="UserSelector" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/LyncUserPlanSelector.ascx" TagName="LyncUserPlanSelector" TagPrefix="wsp" %>
|
||||
|
||||
<%@ Register Src="../UserControls/PackagePhoneNumbers.ascx" TagName="PackagePhoneNumbers" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/Quota.ascx" TagName="Quota" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
|
||||
<div id="ExchangeContainer">
|
||||
<div class="Module">
|
||||
<div class="Header">
|
||||
<wsp:Breadcrumb id="breadcrumb" runat="server" PageName="Text.PageName" meta:resourcekey="breadcrumb" />
|
||||
</div>
|
||||
<div class="Left">
|
||||
<wsp:Menu id="menu" runat="server" />
|
||||
</div>
|
||||
<div class="Content">
|
||||
<div class="Center">
|
||||
<div class="Title">
|
||||
<asp:Image ID="Image1" SkinID="LyncLogo" runat="server" />
|
||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle"></asp:Localize>
|
||||
</div>
|
||||
<div class="FormBody">
|
||||
<wsp:PackagePhoneNumbers id="phoneNumbers" runat="server"
|
||||
Pool="PhoneNumbers"
|
||||
EditItemControl=""
|
||||
SpaceHomeControl=""
|
||||
AllocateAddressesControl="allocate_phonenumbers"
|
||||
ManageAllowed="true" />
|
||||
|
||||
<br />
|
||||
<wsp:CollapsiblePanel id="secQuotas" runat="server"
|
||||
TargetControlID="QuotasPanel" meta:resourcekey="secQuotas" Text="Quotas">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="QuotasPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
|
||||
<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="phoneQuota" runat="server" QuotaName="Lync.PhoneNumbers" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
</asp:Panel>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
|
@ -26,29 +26,18 @@
|
|||
// (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>
|
||||
//------------------------------------------------------------------------------
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class LyncAllocatePhoneNumbers {
|
||||
|
||||
/// <summary>
|
||||
/// allocatePhoneNumbers control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.AllocatePackagePhoneNumbers allocatePhoneNumbers;
|
||||
namespace WebsitePanel.Portal.Lync
|
||||
{
|
||||
public partial class LyncPhoneNumbers : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,105 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <автоматически создаваемое>
|
||||
// Этот код создан программой.
|
||||
//
|
||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||
// повторной генерации кода.
|
||||
// </автоматически создаваемое>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.Lync {
|
||||
|
||||
|
||||
public partial class LyncPhoneNumbers {
|
||||
|
||||
/// <summary>
|
||||
/// asyncTasks элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||
|
||||
/// <summary>
|
||||
/// breadcrumb элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb;
|
||||
|
||||
/// <summary>
|
||||
/// menu элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu;
|
||||
|
||||
/// <summary>
|
||||
/// Image1 элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image Image1;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </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;
|
||||
}
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AllocatePackagePhoneNumbers.ascx.cs" Inherits="WebsitePanel.Portal.UserControls.AllocatePackagePhoneNumbers" %>
|
||||
<%@ Register Src="SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
|
||||
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
|
@ -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
|
||||
{
|
|
@ -0,0 +1,195 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <автоматически создаваемое>
|
||||
// Этот код создан программой.
|
||||
//
|
||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||
// повторной генерации кода.
|
||||
// </автоматически создаваемое>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls {
|
||||
|
||||
|
||||
public partial class AllocatePackagePhoneNumbers {
|
||||
|
||||
/// <summary>
|
||||
/// messageBox элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// validatorsSummary элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ValidationSummary validatorsSummary;
|
||||
|
||||
/// <summary>
|
||||
/// ErrorMessagesList элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl ErrorMessagesList;
|
||||
|
||||
/// <summary>
|
||||
/// EmptyAddressesMessage элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl EmptyAddressesMessage;
|
||||
|
||||
/// <summary>
|
||||
/// locNotEnoughAddresses элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locNotEnoughAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// QuotaReachedMessage элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl QuotaReachedMessage;
|
||||
|
||||
/// <summary>
|
||||
/// locQuotaReached элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locQuotaReached;
|
||||
|
||||
/// <summary>
|
||||
/// AddressesTable элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.UpdatePanel AddressesTable;
|
||||
|
||||
/// <summary>
|
||||
/// radioExternalRandom элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RadioButton radioExternalRandom;
|
||||
|
||||
/// <summary>
|
||||
/// AddressesNumberRow элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow AddressesNumberRow;
|
||||
|
||||
/// <summary>
|
||||
/// locExternalAddresses элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locExternalAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// txtExternalAddressesNumber элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtExternalAddressesNumber;
|
||||
|
||||
/// <summary>
|
||||
/// ExternalAddressesValidator элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator ExternalAddressesValidator;
|
||||
|
||||
/// <summary>
|
||||
/// litMaxAddresses элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litMaxAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// radioExternalSelected элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RadioButton radioExternalSelected;
|
||||
|
||||
/// <summary>
|
||||
/// AddressesListRow элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow AddressesListRow;
|
||||
|
||||
/// <summary>
|
||||
/// listExternalAddresses элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ListBox listExternalAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// locHoldCtrl элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locHoldCtrl;
|
||||
|
||||
/// <summary>
|
||||
/// btnAdd элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnAdd;
|
||||
|
||||
/// <summary>
|
||||
/// btnCancel элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnCancel;
|
||||
}
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncAllocatePhoneNumbers.ascx.cs" Inherits="WebsitePanel.Portal.LyncAllocatePhoneNumbers" %>
|
||||
<%@ Register Src="UserControls/AllocatePackagePhoneNumbers.ascx" TagName="AllocatePackagePhoneNumbers" TagPrefix="wsp" %>
|
||||
|
||||
<div class="FormBody">
|
||||
|
||||
<wsp:AllocatePackagePhoneNumbers id="allocatePhoneNumbers" runat="server"
|
||||
Pool="PhoneNumbers"
|
||||
ResourceGroup="Web"
|
||||
ListAddressesControl="" />
|
||||
|
||||
</div>
|
|
@ -8,7 +8,6 @@
|
|||
Pool="PhoneNumbers"
|
||||
EditItemControl=""
|
||||
SpaceHomeControl=""
|
||||
AllocateAddressesControl="allocate_phonenumbers"
|
||||
ManageAllowed="true" />
|
||||
|
||||
<br />
|
||||
|
|
|
@ -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 {
|
||||
|
@ -42,52 +13,47 @@ namespace WebsitePanel.Portal {
|
|||
public partial class LyncPhoneNumbers {
|
||||
|
||||
/// <summary>
|
||||
/// webAddresses control.
|
||||
/// webAddresses элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.PackagePhoneNumbers webAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// secQuotas control.
|
||||
/// secQuotas элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secQuotas;
|
||||
|
||||
/// <summary>
|
||||
/// QuotasPanel control.
|
||||
/// QuotasPanel элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel QuotasPanel;
|
||||
|
||||
/// <summary>
|
||||
/// locIPQuota control.
|
||||
/// locIPQuota элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locIPQuota;
|
||||
|
||||
/// <summary>
|
||||
/// addressesQuota control.
|
||||
/// addressesQuota элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.Quota addressesQuota;
|
||||
}
|
||||
|
|
|
@ -51,14 +51,47 @@
|
|||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="SubHead" width="200" nowrap>Deployment web service</td>
|
||||
<td class="SubHead" width="200" nowrap>Web Application Server</td>
|
||||
<td class="Normal" width="100%">
|
||||
<asp:TextBox runat="server" ID="txtAppRootDomain" Width="200px" />
|
||||
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtAppRootDomain" ErrorMessage="*" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="SubHead" width="200" nowrap>Organization Web Service</td>
|
||||
<td class="Normal" width="100%">
|
||||
<asp:TextBox runat="server" ID="txtOrganizationWebService" Width="200px" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="SubHead" width="200" nowrap>Discovery Web Service</td>
|
||||
<td class="Normal" width="100%">
|
||||
<asp:TextBox runat="server" ID="txtDiscoveryWebService" Width="200px" />
|
||||
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtDiscoveryWebService" ErrorMessage="*" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="SubHead" width="200" nowrap>Deployment Web Service</td>
|
||||
<td class="Normal" width="100%">
|
||||
<asp:TextBox runat="server" ID="txtDeploymentWebService" Width="200px" />
|
||||
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtDeploymentWebService" ErrorMessage="*" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td class="SubHead" width="200" nowrap>Service account</td>
|
||||
<td class="Normal" width="100%">
|
||||
<asp:TextBox runat="server" ID="txtUserName" Width="200px" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead" width="200" nowrap>Password</td>
|
||||
<td class="Normal" width="100%">
|
||||
<asp:TextBox runat="server" ID="txtPassword" Width="200px" TextMode="Password" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
|
@ -47,7 +47,16 @@ namespace WebsitePanel.Portal.ProviderControls
|
|||
txtSqlServer.Text = settings[Constants.SqlServer];
|
||||
txtDomainName.Text = settings[Constants.IFDWebApplicationRootDomain];
|
||||
txtPort.Text = settings[Constants.Port];
|
||||
|
||||
txtAppRootDomain.Text = settings[Constants.AppRootDomain];
|
||||
txtOrganizationWebService.Text = settings[Constants.OrganizationWebService];
|
||||
txtDiscoveryWebService.Text = settings[Constants.DiscoveryWebService];
|
||||
txtDeploymentWebService.Text = settings[Constants.DeploymentWebService];
|
||||
|
||||
txtPassword.Text = settings[Constants.Password];
|
||||
ViewState["PWD"] = settings[Constants.Password];
|
||||
txtUserName.Text = settings[Constants.UserName];
|
||||
|
||||
int selectedAddressid = FindAddressByText(settings[Constants.CRMWebsiteIP]);
|
||||
ddlCrmIpAddress.AddressId = (selectedAddressid > 0) ? selectedAddressid : 0;
|
||||
|
||||
|
@ -61,7 +70,15 @@ namespace WebsitePanel.Portal.ProviderControls
|
|||
settings[Constants.SqlServer] = txtSqlServer.Text;
|
||||
settings[Constants.IFDWebApplicationRootDomain] = txtDomainName.Text;
|
||||
settings[Constants.Port] = txtPort.Text;
|
||||
|
||||
settings[Constants.AppRootDomain] = txtAppRootDomain.Text;
|
||||
settings[Constants.OrganizationWebService] = txtOrganizationWebService.Text;
|
||||
settings[Constants.DiscoveryWebService] = txtDiscoveryWebService.Text;
|
||||
settings[Constants.DeploymentWebService] = txtDeploymentWebService.Text;
|
||||
|
||||
settings[Constants.Password] = (txtPassword.Text.Length > 0) ? txtPassword.Text : (string)ViewState["PWD"];
|
||||
settings[Constants.UserName] = txtUserName.Text;
|
||||
|
||||
if (ddlCrmIpAddress.AddressId > 0)
|
||||
{
|
||||
IPAddressInfo address = ES.Services.Servers.GetIPAddress(ddlCrmIpAddress.AddressId);
|
||||
|
|
|
@ -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.
|
||||
// <автоматически создаваемое>
|
||||
// Этот код создан программой.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
|
||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||
// повторной генерации кода.
|
||||
// </автоматически создаваемое>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.ProviderControls {
|
||||
|
@ -42,93 +13,129 @@ namespace WebsitePanel.Portal.ProviderControls {
|
|||
public partial class CRM2011_Settings {
|
||||
|
||||
/// <summary>
|
||||
/// txtSqlServer control.
|
||||
/// txtSqlServer элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtSqlServer;
|
||||
|
||||
/// <summary>
|
||||
/// RequiredFieldValidator1 control.
|
||||
/// RequiredFieldValidator1 элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
|
||||
|
||||
/// <summary>
|
||||
/// txtReportingService control.
|
||||
/// txtReportingService элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtReportingService;
|
||||
|
||||
/// <summary>
|
||||
/// txtDomainName control.
|
||||
/// txtDomainName элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtDomainName;
|
||||
|
||||
/// <summary>
|
||||
/// RequiredFieldValidator2 control.
|
||||
/// RequiredFieldValidator2 элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
|
||||
|
||||
/// <summary>
|
||||
/// ddlSchema control.
|
||||
/// ddlSchema элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlSchema;
|
||||
|
||||
/// <summary>
|
||||
/// ddlCrmIpAddress control.
|
||||
/// ddlCrmIpAddress элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.SelectIPAddress ddlCrmIpAddress;
|
||||
|
||||
/// <summary>
|
||||
/// txtPort control.
|
||||
/// txtPort элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtPort;
|
||||
|
||||
/// <summary>
|
||||
/// txtAppRootDomain control.
|
||||
/// txtAppRootDomain элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtAppRootDomain;
|
||||
|
||||
/// <summary>
|
||||
/// txtOrganizationWebService элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtOrganizationWebService;
|
||||
|
||||
/// <summary>
|
||||
/// txtDiscoveryWebService элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtDiscoveryWebService;
|
||||
|
||||
/// <summary>
|
||||
/// txtDeploymentWebService элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtDeploymentWebService;
|
||||
|
||||
/// <summary>
|
||||
/// txtUserName элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtUserName;
|
||||
|
||||
/// <summary>
|
||||
/// txtPassword элемент управления.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Автоматически создаваемое поле.
|
||||
/// Для изменения переместите объявление поля из файла конструктора в файл кода программной части.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtPassword;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -1,244 +0,0 @@
|
|||
// 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 {
|
||||
|
||||
|
||||
public partial class AllocatePackagePhoneNumbers {
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </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>
|
||||
/// validatorsSummary control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ValidationSummary validatorsSummary;
|
||||
|
||||
/// <summary>
|
||||
/// ErrorMessagesList control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl ErrorMessagesList;
|
||||
|
||||
/// <summary>
|
||||
/// EmptyAddressesMessage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl EmptyAddressesMessage;
|
||||
|
||||
/// <summary>
|
||||
/// locNotEnoughAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locNotEnoughAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// QuotaReachedMessage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl QuotaReachedMessage;
|
||||
|
||||
/// <summary>
|
||||
/// locQuotaReached control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locQuotaReached;
|
||||
|
||||
/// <summary>
|
||||
/// AddressesTable control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.UpdatePanel AddressesTable;
|
||||
|
||||
/// <summary>
|
||||
/// radioExternalRandom control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RadioButton radioExternalRandom;
|
||||
|
||||
/// <summary>
|
||||
/// AddressesNumberRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow AddressesNumberRow;
|
||||
|
||||
/// <summary>
|
||||
/// locExternalAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locExternalAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// txtExternalAddressesNumber control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtExternalAddressesNumber;
|
||||
|
||||
/// <summary>
|
||||
/// ExternalAddressesValidator control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator ExternalAddressesValidator;
|
||||
|
||||
/// <summary>
|
||||
/// litMaxAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litMaxAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// radioExternalSelected control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RadioButton radioExternalSelected;
|
||||
|
||||
/// <summary>
|
||||
/// AddressesListRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow AddressesListRow;
|
||||
|
||||
/// <summary>
|
||||
/// listExternalAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ListBox listExternalAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// locHoldCtrl control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locHoldCtrl;
|
||||
|
||||
/// <summary>
|
||||
/// btnAdd control.
|
||||
/// </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 btnAdd;
|
||||
|
||||
/// <summary>
|
||||
/// btnCancel control.
|
||||
/// </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 btnCancel;
|
||||
}
|
||||
}
|
|
@ -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" />
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -229,7 +229,7 @@
|
|||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ExchangeServer\EnterpriseStorageFolders.ascx.designer.cs">
|
||||
<DependentUpon>EnterpriseStorageFolders.ascx</DependentUpon>
|
||||
<DependentUpon>EnterpriseStorageFolders.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ExchangeServer\OrganizationSecurityGroupMemberOf.ascx.cs">
|
||||
<DependentUpon>OrganizationSecurityGroupMemberOf.ascx</DependentUpon>
|
||||
|
@ -403,6 +403,13 @@
|
|||
<Compile Include="Lync\LyncFederationDomains.ascx.designer.cs">
|
||||
<DependentUpon>LyncFederationDomains.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Lync\LyncPhoneNumbers.ascx.cs">
|
||||
<DependentUpon>LyncPhoneNumbers.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Lync\LyncPhoneNumbers.ascx.designer.cs">
|
||||
<DependentUpon>LyncPhoneNumbers.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Lync\LyncUserPlans.ascx.cs">
|
||||
<DependentUpon>LyncUserPlans.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
@ -567,11 +574,11 @@
|
|||
<Compile Include="UserControls\PackagePhoneNumbers.ascx.designer.cs">
|
||||
<DependentUpon>PackagePhoneNumbers.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UserControls\AllocatePackagePhoneNumbers.ascx.cs">
|
||||
<Compile Include="Lync\UserControls\AllocatePackagePhoneNumbers.ascx.cs">
|
||||
<DependentUpon>AllocatePackagePhoneNumbers.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UserControls\AllocatePackagePhoneNumbers.ascx.designer.cs">
|
||||
<Compile Include="Lync\UserControls\AllocatePackagePhoneNumbers.ascx.designer.cs">
|
||||
<DependentUpon>AllocatePackagePhoneNumbers.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="VPSForPC\MonitoringPage.aspx.cs">
|
||||
|
@ -3999,11 +4006,11 @@
|
|||
<Compile Include="LyncPhoneNumbers.ascx.designer.cs">
|
||||
<DependentUpon>LyncPhoneNumbers.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="LyncAllocatePhoneNumbers.ascx.cs">
|
||||
<Compile Include="Lync\LyncAllocatePhoneNumbers.ascx.cs">
|
||||
<DependentUpon>LyncAllocatePhoneNumbers.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="LyncAllocatePhoneNumbers.ascx.designer.cs">
|
||||
<Compile Include="Lync\LyncAllocatePhoneNumbers.ascx.designer.cs">
|
||||
<DependentUpon>LyncAllocatePhoneNumbers.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PhoneNumbers.ascx.cs">
|
||||
|
@ -4049,6 +4056,7 @@
|
|||
<Content Include="ExchangeServer\UserControls\GroupsList.ascx" />
|
||||
<Content Include="ExchangeServer\UserControls\SecurityGroupTabs.ascx" />
|
||||
<Content Include="ExchangeServer\UserControls\UsersList.ascx" />
|
||||
<Content Include="Lync\LyncPhoneNumbers.ascx" />
|
||||
<Content Include="Lync\UserControls\LyncUserSettings.ascx" />
|
||||
<Content Include="ProviderControls\CRM2011_Settings.ascx" />
|
||||
<Content Include="ProviderControls\EnterpriseStorage_Settings.ascx" />
|
||||
|
@ -4081,7 +4089,7 @@
|
|||
<Content Include="UserControls\OrgIdPolicyEditor.ascx" />
|
||||
<Content Include="UserControls\OrgPolicyEditor.ascx" />
|
||||
<Content Include="UserControls\PackagePhoneNumbers.ascx" />
|
||||
<Content Include="UserControls\AllocatePackagePhoneNumbers.ascx" />
|
||||
<Content Include="Lync\UserControls\AllocatePackagePhoneNumbers.ascx" />
|
||||
<Content Include="VPSForPC\MonitoringPage.aspx" />
|
||||
<Content Include="VPSForPC\VdcAccountVLanAdd.ascx" />
|
||||
<Content Include="VPSForPC\VdcAccountVLanNetwork.ascx" />
|
||||
|
@ -4145,7 +4153,7 @@
|
|||
<Content Include="WebSitesHeliconZooControl.ascx" />
|
||||
<Content Include="WebsitesSSL.ascx" />
|
||||
<Content Include="LyncPhoneNumbers.ascx" />
|
||||
<Content Include="LyncAllocatePhoneNumbers.ascx" />
|
||||
<Content Include="Lync\LyncAllocatePhoneNumbers.ascx" />
|
||||
<Content Include="PhoneNumbers.ascx" />
|
||||
<Content Include="PhoneNumbersAddPhoneNumber.ascx" />
|
||||
<Content Include="PhoneNumbersEditPhoneNumber.ascx" />
|
||||
|
@ -5233,7 +5241,7 @@
|
|||
<Content Include="UserControls\App_LocalResources\PackagePhoneNumbers.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="UserControls\App_LocalResources\AllocatePackagePhoneNumbers.ascx.resx">
|
||||
<Content Include="Lync\UserControls\App_LocalResources\AllocatePackagePhoneNumbers.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<None Include="Resources\Windows2008_Settings.ascx.resx" />
|
||||
|
@ -5250,7 +5258,7 @@
|
|||
<Content Include="App_LocalResources\LyncPhoneNumbers.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="App_LocalResources\LyncAllocatePhoneNumbers.ascx.resx">
|
||||
<Content Include="Lync\App_LocalResources\LyncAllocatePhoneNumbers.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="App_LocalResources\PhoneNumbers.ascx.resx" />
|
||||
|
@ -5270,13 +5278,16 @@
|
|||
</Content>
|
||||
<Content Include="ExchangeServer\App_LocalResources\EnterpriseStorageFolders.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
</Content>
|
||||
<Content Include="UserControls\App_LocalResources\OrgPolicyEditor.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="ExchangeServer\App_LocalResources\EnterpriseStorageCreateFolder.ascx.resx" />
|
||||
<Content Include="ExchangeServer\App_LocalResources\EnterpriseStorageFolderGeneralSettings.ascx.resx" />
|
||||
<Content Include="ExchangeServer\UserControls\App_LocalResources\EnterpriseStoragePermissions.ascx.resx" />
|
||||
<Content Include="Lync\App_LocalResources\LyncPhoneNumbers.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<EmbeddedResource Include="UserControls\App_LocalResources\EditDomainsList.ascx.resx">
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
|
@ -6230,9 +6241,7 @@
|
|||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Lync\UserControls\App_LocalResources\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue