diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql
index c1ec8176..db477da0 100644
--- a/WebsitePanel/Database/update_db.sql
+++ b/WebsitePanel/Database/update_db.sql
@@ -2799,16 +2799,230 @@ AND (@OrgID = 0 OR @OrgID <> 0 AND PA.OrgID = @OrgID)
END
GO
--- Enterprise Storage
-
-IF EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'EnterpriseStorage.DiskStorageSpace')
+-- Enterprise Storage Quotas
+IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'EnterpriseStorage.DiskStorageSpace')
BEGIN
-
-DELETE FROM [dbo].[HostingPlanQuotas] WHERE QuotaID = 430
-
-DELETE FROM [dbo].[PackageQuotas] WHERE QuotaID = 430
-
-DELETE FROM [dbo].[Quotas] WHERE QuotaID = 430
-
+INSERT [dbo].[Quotas] ([QuotaID], [GroupID],[QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (430, 44, 1,N'EnterpriseStorage.DiskStorageSpace',N'Disk Storage Space (Gb)',2, 0 , NULL)
END
GO
+
+UPDATE [dbo].[Quotas] SET [QuotaDescription] = N'Disk Storage Space (Gb)' WHERE [QuotaName] = 'EnterpriseStorage.DiskStorageSpace'
+GO
+
+IF NOT EXISTS (SELECT * FROM SYS.TABLES WHERE name = 'EnterpriseFolders')
+
+CREATE TABLE [dbo].[EnterpriseFolders](
+ [EnterpriseFolderID] [int] IDENTITY(1,1) NOT NULL,
+ [ItemID] [int] NOT NULL,
+ [FolderName] [nvarchar](255) NOT NULL,
+ [FolderQuota] [int] NOT NULL DEFAULT 0,
+ CONSTRAINT [PK_EnterpriseFolders] PRIMARY KEY CLUSTERED
+(
+ [EnterpriseFolderId] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
+)
+
+GO
+
+ALTER FUNCTION [dbo].[CalculateQuotaUsage]
+(
+ @PackageID int,
+ @QuotaID int
+)
+RETURNS int
+AS
+ BEGIN
+
+ DECLARE @QuotaTypeID int
+ SELECT @QuotaTypeID = QuotaTypeID FROM Quotas
+ WHERE QuotaID = @QuotaID
+
+ IF @QuotaTypeID <> 2
+ RETURN 0
+
+ DECLARE @Result int
+
+ IF @QuotaID = 52 -- diskspace
+ SET @Result = dbo.CalculatePackageDiskspace(@PackageID)
+ ELSE IF @QuotaID = 51 -- bandwidth
+ SET @Result = dbo.CalculatePackageBandwidth(@PackageID)
+ ELSE IF @QuotaID = 53 -- domains
+ SET @Result = (SELECT COUNT(D.DomainID) FROM PackagesTreeCache AS PT
+ INNER JOIN Domains AS D ON D.PackageID = PT.PackageID
+ WHERE IsSubDomain = 0 AND IsInstantAlias = 0 AND IsDomainPointer = 0 AND PT.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 54 -- sub-domains
+ SET @Result = (SELECT COUNT(D.DomainID) FROM PackagesTreeCache AS PT
+ INNER JOIN Domains AS D ON D.PackageID = PT.PackageID
+ WHERE IsSubDomain = 1 AND IsInstantAlias = 0 AND IsDomainPointer = 0 AND PT.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 220 -- domain pointers
+ SET @Result = (SELECT COUNT(D.DomainID) FROM PackagesTreeCache AS PT
+ INNER JOIN Domains AS D ON D.PackageID = PT.PackageID
+ WHERE IsDomainPointer = 1 AND PT.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 71 -- scheduled tasks
+ SET @Result = (SELECT COUNT(S.ScheduleID) FROM PackagesTreeCache AS PT
+ INNER JOIN Schedule AS S ON S.PackageID = PT.PackageID
+ WHERE PT.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 305 -- RAM of VPS
+ SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
+ INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
+ INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
+ WHERE SIP.PropertyName = 'RamSize' AND PT.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 306 -- HDD of VPS
+ SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
+ INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
+ INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
+ WHERE SIP.PropertyName = 'HddSize' AND PT.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 309 -- External IP addresses of VPS
+ SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
+ INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
+ INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
+ WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 3)
+ ELSE IF @QuotaID = 100 -- Dedicated Web IP addresses
+ SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
+ INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
+ INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
+ WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 2)
+ ELSE IF @QuotaID = 350 -- RAM of VPSforPc
+ SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
+ INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
+ INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
+ WHERE SIP.PropertyName = 'Memory' AND PT.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 351 -- HDD of VPSforPc
+ SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
+ INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
+ INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
+ WHERE SIP.PropertyName = 'HddSize' AND PT.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 354 -- External IP addresses of VPSforPc
+ SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
+ INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
+ INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
+ WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 3)
+ ELSE IF @QuotaID = 319 -- BB Users
+ SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts ea
+ INNER JOIN BlackBerryUsers bu ON ea.AccountID = bu.AccountID
+ INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
+ INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
+ WHERE pt.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 320 -- OCS Users
+ SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts ea
+ INNER JOIN OCSUsers ocs ON ea.AccountID = ocs.AccountID
+ INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
+ INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
+ WHERE pt.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 206 -- HostedSolution.Users
+ SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
+ INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
+ INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
+ WHERE pt.ParentPackageID = @PackageID AND ea.AccountType IN (1,5,6,7))
+ ELSE IF @QuotaID = 78 -- Exchange2007.Mailboxes
+ SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
+ INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
+ INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
+ WHERE pt.ParentPackageID = @PackageID
+ AND ea.AccountType IN (1)
+ AND ea.MailboxPlanId IS NOT NULL)
+ ELSE IF @QuotaID = 77 -- Exchange2007.DiskSpace
+ SET @Result = (SELECT SUM(B.MailboxSizeMB) FROM ExchangeAccounts AS ea
+ INNER JOIN ExchangeMailboxPlans AS B ON ea.MailboxPlanId = B.MailboxPlanId
+ INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
+ INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
+ WHERE pt.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 370 -- Lync.Users
+ SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
+ INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID
+ INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
+ INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
+ WHERE pt.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 376 -- Lync.EVUsers
+ SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
+ INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID
+ INNER JOIN LyncUserPlans lp ON lu.LyncUserPlanId = lp.LyncUserPlanId
+ INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
+ INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
+ WHERE pt.ParentPackageID = @PackageID AND lp.EnterpriseVoice = 1)
+ ELSE IF @QuotaID = 381 -- Dedicated Lync Phone Numbers
+ SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
+ INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
+ INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
+ WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 5)
+ ELSE IF @QuotaID = 430 -- Enterprise Storage
+ SET @Result = (SELECT SUM(ESF.FolderQuota) FROM EnterpriseFolders AS ESF
+ INNER JOIN ServiceItems SI ON ESF.ItemID = SI.ItemID
+ INNER JOIN PackagesTreeCache PT ON SI.PackageID = PT.PackageID
+ WHERE PT.ParentPackageID = @PackageID)
+ ELSE IF @QuotaID = 431 -- Enterprise Storage Folders
+ SET @Result = (SELECT COUNT(ESF.EnterpriseFolderID) FROM EnterpriseFolders AS ESF
+ INNER JOIN ServiceItems SI ON ESF.ItemID = SI.ItemID
+ INNER JOIN PackagesTreeCache PT ON SI.PackageID = PT.PackageID
+ WHERE PT.ParentPackageID = @PackageID)
+ ELSE
+ SET @Result = (SELECT COUNT(SI.ItemID) FROM Quotas AS Q
+ INNER JOIN ServiceItems AS SI ON SI.ItemTypeID = Q.ItemTypeID
+ INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID AND PT.ParentPackageID = @PackageID
+ WHERE Q.QuotaID = @QuotaID)
+
+ RETURN @Result
+ END
+GO
+
+IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'AddEnterpriseFolder')
+DROP PROCEDURE [dbo].[AddEnterpriseFolder]
+GO
+
+CREATE PROCEDURE [dbo].[AddEnterpriseFolder]
+(
+ @FolderID INT OUTPUT,
+ @ItemID INT,
+ @FolderName NVARCHAR(255)
+)
+AS
+
+INSERT INTO EnterpriseFolders
+(
+ ItemID,
+ FolderName
+)
+VALUES
+(
+ @ItemID,
+ @FolderName
+)
+
+SET @FolderID = SCOPE_IDENTITY()
+
+RETURN
+GO
+
+IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteEnterpriseFolder')
+DROP PROCEDURE DeleteEnterpriseFolder
+GO
+
+CREATE PROCEDURE [dbo].[DeleteEnterpriseFolder]
+(
+ @ItemID INT,
+ @FolderName NVARCHAR(255)
+)
+AS
+
+DELETE FROM EnterpriseFolders
+WHERE ItemID = @ItemID AND FolderName = @FolderName
+GO
+
+IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdateEnterpriseFolder')
+DROP PROCEDURE UpdateEnterpriseFolder
+GO
+
+CREATE PROCEDURE [dbo].[UpdateEnterpriseFolder]
+(
+ @ItemID INT,
+ @FolderID NVARCHAR(255),
+ @FolderName NVARCHAR(255),
+ @FolderQuota INT
+)
+AS
+
+UPDATE EnterpriseFolders SET
+ FolderName = @FolderName,
+ FolderQuota = @FolderQuota
+WHERE ItemID = @ItemID AND FolderName = @FolderID
+GO
\ No newline at end of file
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/EnterpriseStorageProxy.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/EnterpriseStorageProxy.cs
index 046048d2..da0a8852 100644
--- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/EnterpriseStorageProxy.cs
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/EnterpriseStorageProxy.cs
@@ -20,16 +20,8 @@ using WebsitePanel.Providers.OS;
namespace WebsitePanel.EnterpriseServer
{
- using System.Xml.Serialization;
- using System.Web.Services;
- using System.ComponentModel;
- using System.Web.Services.Protocols;
- using System;
- using System.Diagnostics;
-
-
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name = "esEnterpriseStorageSoap", Namespace = "http://smbsaas/websitepanel/enterpriseserver")]
@@ -128,7 +120,7 @@ namespace WebsitePanel.EnterpriseServer
public bool CheckFileServicesInstallation(int serviceId)
{
object[] results = this.Invoke("CheckFileServicesInstallation", new object[] {
- serviceId});
+ serviceId});
return ((bool)(results[0]));
}
@@ -136,7 +128,7 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginCheckFileServicesInstallation(int serviceId, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("CheckFileServicesInstallation", new object[] {
- serviceId}, callback, asyncState);
+ serviceId}, callback, asyncState);
}
///
@@ -160,7 +152,7 @@ namespace WebsitePanel.EnterpriseServer
this.CheckFileServicesInstallationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCheckFileServicesInstallationOperationCompleted);
}
this.InvokeAsync("CheckFileServicesInstallation", new object[] {
- serviceId}, this.CheckFileServicesInstallationOperationCompleted, userState);
+ serviceId}, this.CheckFileServicesInstallationOperationCompleted, userState);
}
private void OnCheckFileServicesInstallationOperationCompleted(object arg)
@@ -177,7 +169,7 @@ namespace WebsitePanel.EnterpriseServer
public SystemFile[] GetEnterpriseFolders(int itemId)
{
object[] results = this.Invoke("GetEnterpriseFolders", new object[] {
- itemId});
+ itemId});
return ((SystemFile[])(results[0]));
}
@@ -185,7 +177,7 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginGetEnterpriseFolders(int itemId, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("GetEnterpriseFolders", new object[] {
- itemId}, callback, asyncState);
+ itemId}, callback, asyncState);
}
///
@@ -209,7 +201,7 @@ namespace WebsitePanel.EnterpriseServer
this.GetEnterpriseFoldersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetEnterpriseFoldersOperationCompleted);
}
this.InvokeAsync("GetEnterpriseFolders", new object[] {
- itemId}, this.GetEnterpriseFoldersOperationCompleted, userState);
+ itemId}, this.GetEnterpriseFoldersOperationCompleted, userState);
}
private void OnGetEnterpriseFoldersOperationCompleted(object arg)
@@ -226,8 +218,8 @@ namespace WebsitePanel.EnterpriseServer
public SystemFile GetEnterpriseFolder(int itemId, string folderName)
{
object[] results = this.Invoke("GetEnterpriseFolder", new object[] {
- itemId,
- folderName});
+ itemId,
+ folderName});
return ((SystemFile)(results[0]));
}
@@ -235,8 +227,8 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginGetEnterpriseFolder(int itemId, string folderName, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("GetEnterpriseFolder", new object[] {
- itemId,
- folderName}, callback, asyncState);
+ itemId,
+ folderName}, callback, asyncState);
}
///
@@ -260,8 +252,8 @@ namespace WebsitePanel.EnterpriseServer
this.GetEnterpriseFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetEnterpriseFolderOperationCompleted);
}
this.InvokeAsync("GetEnterpriseFolder", new object[] {
- itemId,
- folderName}, this.GetEnterpriseFolderOperationCompleted, userState);
+ itemId,
+ folderName}, this.GetEnterpriseFolderOperationCompleted, userState);
}
private void OnGetEnterpriseFolderOperationCompleted(object arg)
@@ -278,8 +270,8 @@ namespace WebsitePanel.EnterpriseServer
public ResultObject CreateEnterpriseFolder(int itemId, string folderName)
{
object[] results = this.Invoke("CreateEnterpriseFolder", new object[] {
- itemId,
- folderName});
+ itemId,
+ folderName});
return ((ResultObject)(results[0]));
}
@@ -287,8 +279,8 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginCreateEnterpriseFolder(int itemId, string folderName, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("CreateEnterpriseFolder", new object[] {
- itemId,
- folderName}, callback, asyncState);
+ itemId,
+ folderName}, callback, asyncState);
}
///
@@ -312,8 +304,8 @@ namespace WebsitePanel.EnterpriseServer
this.CreateEnterpriseFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateEnterpriseFolderOperationCompleted);
}
this.InvokeAsync("CreateEnterpriseFolder", new object[] {
- itemId,
- folderName}, this.CreateEnterpriseFolderOperationCompleted, userState);
+ itemId,
+ folderName}, this.CreateEnterpriseFolderOperationCompleted, userState);
}
private void OnCreateEnterpriseFolderOperationCompleted(object arg)
@@ -330,8 +322,8 @@ namespace WebsitePanel.EnterpriseServer
public ResultObject DeleteEnterpriseFolder(int itemId, string folderName)
{
object[] results = this.Invoke("DeleteEnterpriseFolder", new object[] {
- itemId,
- folderName});
+ itemId,
+ folderName});
return ((ResultObject)(results[0]));
}
@@ -339,8 +331,8 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginDeleteEnterpriseFolder(int itemId, string folderName, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("DeleteEnterpriseFolder", new object[] {
- itemId,
- folderName}, callback, asyncState);
+ itemId,
+ folderName}, callback, asyncState);
}
///
@@ -364,8 +356,8 @@ namespace WebsitePanel.EnterpriseServer
this.DeleteEnterpriseFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteEnterpriseFolderOperationCompleted);
}
this.InvokeAsync("DeleteEnterpriseFolder", new object[] {
- itemId,
- folderName}, this.DeleteEnterpriseFolderOperationCompleted, userState);
+ itemId,
+ folderName}, this.DeleteEnterpriseFolderOperationCompleted, userState);
}
private void OnDeleteEnterpriseFolderOperationCompleted(object arg)
@@ -382,8 +374,8 @@ namespace WebsitePanel.EnterpriseServer
public ESPermission[] GetEnterpriseFolderPermissions(int itemId, string folderName)
{
object[] results = this.Invoke("GetEnterpriseFolderPermissions", new object[] {
- itemId,
- folderName});
+ itemId,
+ folderName});
return ((ESPermission[])(results[0]));
}
@@ -391,8 +383,8 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginGetEnterpriseFolderPermissions(int itemId, string folderName, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("GetEnterpriseFolderPermissions", new object[] {
- itemId,
- folderName}, callback, asyncState);
+ itemId,
+ folderName}, callback, asyncState);
}
///
@@ -416,8 +408,8 @@ namespace WebsitePanel.EnterpriseServer
this.GetEnterpriseFolderPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetEnterpriseFolderPermissionsOperationCompleted);
}
this.InvokeAsync("GetEnterpriseFolderPermissions", new object[] {
- itemId,
- folderName}, this.GetEnterpriseFolderPermissionsOperationCompleted, userState);
+ itemId,
+ folderName}, this.GetEnterpriseFolderPermissionsOperationCompleted, userState);
}
private void OnGetEnterpriseFolderPermissionsOperationCompleted(object arg)
@@ -434,9 +426,9 @@ namespace WebsitePanel.EnterpriseServer
public ResultObject SetEnterpriseFolderPermissions(int itemId, string folderName, ESPermission[] permission)
{
object[] results = this.Invoke("SetEnterpriseFolderPermissions", new object[] {
- itemId,
- folderName,
- permission});
+ itemId,
+ folderName,
+ permission});
return ((ResultObject)(results[0]));
}
@@ -444,9 +436,9 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginSetEnterpriseFolderPermissions(int itemId, string folderName, ESPermission[] permission, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("SetEnterpriseFolderPermissions", new object[] {
- itemId,
- folderName,
- permission}, callback, asyncState);
+ itemId,
+ folderName,
+ permission}, callback, asyncState);
}
///
@@ -470,9 +462,9 @@ namespace WebsitePanel.EnterpriseServer
this.SetEnterpriseFolderPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetEnterpriseFolderPermissionsOperationCompleted);
}
this.InvokeAsync("SetEnterpriseFolderPermissions", new object[] {
- itemId,
- folderName,
- permission}, this.SetEnterpriseFolderPermissionsOperationCompleted, userState);
+ itemId,
+ folderName,
+ permission}, this.SetEnterpriseFolderPermissionsOperationCompleted, userState);
}
private void OnSetEnterpriseFolderPermissionsOperationCompleted(object arg)
@@ -489,10 +481,10 @@ namespace WebsitePanel.EnterpriseServer
public ExchangeAccount[] SearchESAccounts(int itemId, string filterColumn, string filterValue, string sortColumn)
{
object[] results = this.Invoke("SearchESAccounts", new object[] {
- itemId,
- filterColumn,
- filterValue,
- sortColumn});
+ itemId,
+ filterColumn,
+ filterValue,
+ sortColumn});
return ((ExchangeAccount[])(results[0]));
}
@@ -500,10 +492,10 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginSearchESAccounts(int itemId, string filterColumn, string filterValue, string sortColumn, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("SearchESAccounts", new object[] {
- itemId,
- filterColumn,
- filterValue,
- sortColumn}, callback, asyncState);
+ itemId,
+ filterColumn,
+ filterValue,
+ sortColumn}, callback, asyncState);
}
///
@@ -527,10 +519,10 @@ namespace WebsitePanel.EnterpriseServer
this.SearchESAccountsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSearchESAccountsOperationCompleted);
}
this.InvokeAsync("SearchESAccounts", new object[] {
- itemId,
- filterColumn,
- filterValue,
- sortColumn}, this.SearchESAccountsOperationCompleted, userState);
+ itemId,
+ filterColumn,
+ filterValue,
+ sortColumn}, this.SearchESAccountsOperationCompleted, userState);
}
private void OnSearchESAccountsOperationCompleted(object arg)
@@ -547,11 +539,11 @@ namespace WebsitePanel.EnterpriseServer
public SystemFilesPaged GetEnterpriseFoldersPaged(int itemId, string filterValue, string sortColumn, int startRow, int maximumRows)
{
object[] results = this.Invoke("GetEnterpriseFoldersPaged", new object[] {
- itemId,
- filterValue,
- sortColumn,
- startRow,
- maximumRows});
+ itemId,
+ filterValue,
+ sortColumn,
+ startRow,
+ maximumRows});
return ((SystemFilesPaged)(results[0]));
}
@@ -559,11 +551,11 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginGetEnterpriseFoldersPaged(int itemId, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("GetEnterpriseFoldersPaged", new object[] {
- itemId,
- filterValue,
- sortColumn,
- startRow,
- maximumRows}, callback, asyncState);
+ itemId,
+ filterValue,
+ sortColumn,
+ startRow,
+ maximumRows}, callback, asyncState);
}
///
@@ -587,11 +579,11 @@ namespace WebsitePanel.EnterpriseServer
this.GetEnterpriseFoldersPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetEnterpriseFoldersPagedOperationCompleted);
}
this.InvokeAsync("GetEnterpriseFoldersPaged", new object[] {
- itemId,
- filterValue,
- sortColumn,
- startRow,
- maximumRows}, this.GetEnterpriseFoldersPagedOperationCompleted, userState);
+ itemId,
+ filterValue,
+ sortColumn,
+ startRow,
+ maximumRows}, this.GetEnterpriseFoldersPagedOperationCompleted, userState);
}
private void OnGetEnterpriseFoldersPagedOperationCompleted(object arg)
@@ -608,9 +600,9 @@ namespace WebsitePanel.EnterpriseServer
public SystemFile RenameEnterpriseFolder(int itemId, string oldName, string newName)
{
object[] results = this.Invoke("RenameEnterpriseFolder", new object[] {
- itemId,
- oldName,
- newName});
+ itemId,
+ oldName,
+ newName});
return ((SystemFile)(results[0]));
}
@@ -618,9 +610,9 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginRenameEnterpriseFolder(int itemId, string oldName, string newName, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("RenameEnterpriseFolder", new object[] {
- itemId,
- oldName,
- newName}, callback, asyncState);
+ itemId,
+ oldName,
+ newName}, callback, asyncState);
}
///
@@ -644,9 +636,9 @@ namespace WebsitePanel.EnterpriseServer
this.RenameEnterpriseFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRenameEnterpriseFolderOperationCompleted);
}
this.InvokeAsync("RenameEnterpriseFolder", new object[] {
- itemId,
- oldName,
- newName}, this.RenameEnterpriseFolderOperationCompleted, userState);
+ itemId,
+ oldName,
+ newName}, this.RenameEnterpriseFolderOperationCompleted, userState);
}
private void OnRenameEnterpriseFolderOperationCompleted(object arg)
@@ -663,8 +655,8 @@ namespace WebsitePanel.EnterpriseServer
public ResultObject CreateEnterpriseStorage(int packageId, int itemId)
{
object[] results = this.Invoke("CreateEnterpriseStorage", new object[] {
- packageId,
- itemId});
+ packageId,
+ itemId});
return ((ResultObject)(results[0]));
}
@@ -672,8 +664,8 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginCreateEnterpriseStorage(int packageId, int itemId, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("CreateEnterpriseStorage", new object[] {
- packageId,
- itemId}, callback, asyncState);
+ packageId,
+ itemId}, callback, asyncState);
}
///
@@ -697,8 +689,8 @@ namespace WebsitePanel.EnterpriseServer
this.CreateEnterpriseStorageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateEnterpriseStorageOperationCompleted);
}
this.InvokeAsync("CreateEnterpriseStorage", new object[] {
- packageId,
- itemId}, this.CreateEnterpriseStorageOperationCompleted, userState);
+ packageId,
+ itemId}, this.CreateEnterpriseStorageOperationCompleted, userState);
}
private void OnCreateEnterpriseStorageOperationCompleted(object arg)
@@ -716,8 +708,8 @@ namespace WebsitePanel.EnterpriseServer
public bool CheckEnterpriseStorageInitialization(int packageId, int itemId)
{
object[] results = this.Invoke("CheckEnterpriseStorageInitialization", new object[] {
- packageId,
- itemId});
+ packageId,
+ itemId});
return ((bool)(results[0]));
}
@@ -725,8 +717,8 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginCheckEnterpriseStorageInitialization(int packageId, int itemId, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("CheckEnterpriseStorageInitialization", new object[] {
- packageId,
- itemId}, callback, asyncState);
+ packageId,
+ itemId}, callback, asyncState);
}
///
@@ -750,8 +742,8 @@ namespace WebsitePanel.EnterpriseServer
this.CheckEnterpriseStorageInitializationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCheckEnterpriseStorageInitializationOperationCompleted);
}
this.InvokeAsync("CheckEnterpriseStorageInitialization", new object[] {
- packageId,
- itemId}, this.CheckEnterpriseStorageInitializationOperationCompleted, userState);
+ packageId,
+ itemId}, this.CheckEnterpriseStorageInitializationOperationCompleted, userState);
}
private void OnCheckEnterpriseStorageInitializationOperationCompleted(object arg)
@@ -768,7 +760,7 @@ namespace WebsitePanel.EnterpriseServer
public bool CheckUsersDomainExists(int itemId)
{
object[] results = this.Invoke("CheckUsersDomainExists", new object[] {
- itemId});
+ itemId});
return ((bool)(results[0]));
}
@@ -776,7 +768,7 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginCheckUsersDomainExists(int itemId, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("CheckUsersDomainExists", new object[] {
- itemId}, callback, asyncState);
+ itemId}, callback, asyncState);
}
///
@@ -800,7 +792,7 @@ namespace WebsitePanel.EnterpriseServer
this.CheckUsersDomainExistsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCheckUsersDomainExistsOperationCompleted);
}
this.InvokeAsync("CheckUsersDomainExists", new object[] {
- itemId}, this.CheckUsersDomainExistsOperationCompleted, userState);
+ itemId}, this.CheckUsersDomainExistsOperationCompleted, userState);
}
private void OnCheckUsersDomainExistsOperationCompleted(object arg)
@@ -817,8 +809,8 @@ namespace WebsitePanel.EnterpriseServer
public bool GetDirectoryBrowseEnabled(int itemId, string site)
{
object[] results = this.Invoke("GetDirectoryBrowseEnabled", new object[] {
- itemId,
- site});
+ itemId,
+ site});
return ((bool)(results[0]));
}
@@ -826,8 +818,8 @@ namespace WebsitePanel.EnterpriseServer
public System.IAsyncResult BeginGetDirectoryBrowseEnabled(int itemId, string site, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("GetDirectoryBrowseEnabled", new object[] {
- itemId,
- site}, callback, asyncState);
+ itemId,
+ site}, callback, asyncState);
}
///
@@ -851,8 +843,8 @@ namespace WebsitePanel.EnterpriseServer
this.GetDirectoryBrowseEnabledOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDirectoryBrowseEnabledOperationCompleted);
}
this.InvokeAsync("GetDirectoryBrowseEnabled", new object[] {
- itemId,
- site}, this.GetDirectoryBrowseEnabledOperationCompleted, userState);
+ itemId,
+ site}, this.GetDirectoryBrowseEnabledOperationCompleted, userState);
}
private void OnGetDirectoryBrowseEnabledOperationCompleted(object arg)
@@ -869,18 +861,18 @@ namespace WebsitePanel.EnterpriseServer
public void SetDirectoryBrowseEnabled(int itemId, string site, bool enabled)
{
this.Invoke("SetDirectoryBrowseEnabled", new object[] {
- itemId,
- site,
- enabled});
+ itemId,
+ site,
+ enabled});
}
///
public System.IAsyncResult BeginSetDirectoryBrowseEnabled(int itemId, string site, bool enabled, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("SetDirectoryBrowseEnabled", new object[] {
- itemId,
- site,
- enabled}, callback, asyncState);
+ itemId,
+ site,
+ enabled}, callback, asyncState);
}
///
@@ -903,9 +895,9 @@ namespace WebsitePanel.EnterpriseServer
this.SetDirectoryBrowseEnabledOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDirectoryBrowseEnabledOperationCompleted);
}
this.InvokeAsync("SetDirectoryBrowseEnabled", new object[] {
- itemId,
- site,
- enabled}, this.SetDirectoryBrowseEnabledOperationCompleted, userState);
+ itemId,
+ site,
+ enabled}, this.SetDirectoryBrowseEnabledOperationCompleted, userState);
}
private void OnSetDirectoryBrowseEnabledOperationCompleted(object arg)
@@ -919,25 +911,27 @@ namespace WebsitePanel.EnterpriseServer
///
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/SetEnterpriseFolderSettings", RequestNamespace = "http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace = "http://smbsaas/websitepanel/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- public void SetEnterpriseFolderSettings(int itemId, SystemFile folder, ESPermission[] permissions, bool directoyBrowsingEnabled, int quota)
+ public void SetEnterpriseFolderSettings(int itemId, SystemFile folder, ESPermission[] permissions, bool directoyBrowsingEnabled, int quota, QuotaType quotaType)
{
this.Invoke("SetEnterpriseFolderSettings", new object[] {
- itemId,
- folder,
- permissions,
- directoyBrowsingEnabled,
- quota});
+ itemId,
+ folder,
+ permissions,
+ directoyBrowsingEnabled,
+ quota,
+ quotaType});
}
///
- public System.IAsyncResult BeginSetEnterpriseFolderSettings(int itemId, SystemFile folder, ESPermission[] permissions, bool directoyBrowsingEnabled, int quota, System.AsyncCallback callback, object asyncState)
+ public System.IAsyncResult BeginSetEnterpriseFolderSettings(int itemId, SystemFile folder, ESPermission[] permissions, bool directoyBrowsingEnabled, int quota, QuotaType quotaType, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("SetEnterpriseFolderSettings", new object[] {
- itemId,
- folder,
- permissions,
- directoyBrowsingEnabled,
- quota}, callback, asyncState);
+ itemId,
+ folder,
+ permissions,
+ directoyBrowsingEnabled,
+ quota,
+ quotaType}, callback, asyncState);
}
///
@@ -947,24 +941,25 @@ namespace WebsitePanel.EnterpriseServer
}
///
- public void SetEnterpriseFolderSettingsAsync(int itemId, SystemFile folder, ESPermission[] permissions, bool directoyBrowsingEnabled, int quota)
+ public void SetEnterpriseFolderSettingsAsync(int itemId, SystemFile folder, ESPermission[] permissions, bool directoyBrowsingEnabled, int quota, QuotaType quotaType)
{
- this.SetEnterpriseFolderSettingsAsync(itemId, folder, permissions, directoyBrowsingEnabled, quota, null);
+ this.SetEnterpriseFolderSettingsAsync(itemId, folder, permissions, directoyBrowsingEnabled, quota, quotaType, null);
}
///
- public void SetEnterpriseFolderSettingsAsync(int itemId, SystemFile folder, ESPermission[] permissions, bool directoyBrowsingEnabled, int quota, object userState)
+ public void SetEnterpriseFolderSettingsAsync(int itemId, SystemFile folder, ESPermission[] permissions, bool directoyBrowsingEnabled, int quota, QuotaType quotaType, object userState)
{
if ((this.SetEnterpriseFolderSettingsOperationCompleted == null))
{
this.SetEnterpriseFolderSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetEnterpriseFolderSettingsOperationCompleted);
}
this.InvokeAsync("SetEnterpriseFolderSettings", new object[] {
- itemId,
- folder,
- permissions,
- directoyBrowsingEnabled,
- quota}, this.SetEnterpriseFolderSettingsOperationCompleted, userState);
+ itemId,
+ folder,
+ permissions,
+ directoyBrowsingEnabled,
+ quota,
+ quotaType}, this.SetEnterpriseFolderSettingsOperationCompleted, userState);
}
private void OnSetEnterpriseFolderSettingsOperationCompleted(object arg)
@@ -984,11 +979,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void CheckFileServicesInstallationCompletedEventHandler(object sender, CheckFileServicesInstallationCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CheckFileServicesInstallationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1014,11 +1009,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetEnterpriseFoldersCompletedEventHandler(object sender, GetEnterpriseFoldersCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetEnterpriseFoldersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1044,11 +1039,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetEnterpriseFolderCompletedEventHandler(object sender, GetEnterpriseFolderCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetEnterpriseFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1074,11 +1069,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void CreateEnterpriseFolderCompletedEventHandler(object sender, CreateEnterpriseFolderCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CreateEnterpriseFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1104,11 +1099,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void DeleteEnterpriseFolderCompletedEventHandler(object sender, DeleteEnterpriseFolderCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteEnterpriseFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1134,11 +1129,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetEnterpriseFolderPermissionsCompletedEventHandler(object sender, GetEnterpriseFolderPermissionsCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetEnterpriseFolderPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1164,11 +1159,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SetEnterpriseFolderPermissionsCompletedEventHandler(object sender, SetEnterpriseFolderPermissionsCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SetEnterpriseFolderPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1194,11 +1189,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SearchESAccountsCompletedEventHandler(object sender, SearchESAccountsCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SearchESAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1224,11 +1219,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetEnterpriseFoldersPagedCompletedEventHandler(object sender, GetEnterpriseFoldersPagedCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetEnterpriseFoldersPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1254,11 +1249,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void RenameEnterpriseFolderCompletedEventHandler(object sender, RenameEnterpriseFolderCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class RenameEnterpriseFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1284,11 +1279,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void CreateEnterpriseStorageCompletedEventHandler(object sender, CreateEnterpriseStorageCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CreateEnterpriseStorageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1314,11 +1309,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void CheckEnterpriseStorageInitializationCompletedEventHandler(object sender, CheckEnterpriseStorageInitializationCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CheckEnterpriseStorageInitializationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1344,11 +1339,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void CheckUsersDomainExistsCompletedEventHandler(object sender, CheckUsersDomainExistsCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CheckUsersDomainExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1374,11 +1369,11 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetDirectoryBrowseEnabledCompletedEventHandler(object sender, GetDirectoryBrowseEnabledCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetDirectoryBrowseEnabledCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
@@ -1404,10 +1399,10 @@ namespace WebsitePanel.EnterpriseServer
}
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SetDirectoryBrowseEnabledCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
///
- [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void SetEnterpriseFolderSettingsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
}
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Data/DataProvider.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Data/DataProvider.cs
index 07a052cb..6dc8c467 100644
--- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Data/DataProvider.cs
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Data/DataProvider.cs
@@ -4155,5 +4155,48 @@ namespace WebsitePanel.EnterpriseServer
}
#endregion
+
+ #region Enterprise Storage
+
+ public static int AddEntepriseFolder(int itemId, string folderName)
+ {
+ SqlParameter prmId = new SqlParameter("@FolderID", SqlDbType.Int);
+ prmId.Direction = ParameterDirection.Output;
+
+ SqlHelper.ExecuteNonQuery(
+ ConnectionString,
+ CommandType.StoredProcedure,
+ "AddEnterpriseFolder",
+ prmId,
+ new SqlParameter("@ItemID", itemId),
+ new SqlParameter("@FolderName", folderName));
+
+ // read identity
+ return Convert.ToInt32(prmId.Value);
+ }
+
+ public static void DeleteEnterpriseFolder(int itemId, string folderName)
+ {
+ SqlHelper.ExecuteNonQuery(
+ ConnectionString,
+ CommandType.StoredProcedure,
+ "DeleteEnterpriseFolder",
+ new SqlParameter("@ItemID", itemId),
+ new SqlParameter("@FolderName", folderName));
+ }
+
+ public static void UpdateEnterpriseFolder(int itemId, string folderID, string folderName, int folderQuota)
+ {
+ SqlHelper.ExecuteNonQuery(
+ ConnectionString,
+ CommandType.StoredProcedure,
+ "UpdateEnterpriseFolder",
+ new SqlParameter("@ItemID", itemId),
+ new SqlParameter("@FolderID", folderID),
+ new SqlParameter("@FolderName", folderName),
+ new SqlParameter("@FolderQuota", folderQuota));
+ }
+
+ #endregion
}
}
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/EnterpriseStorage/EnterpriseStorageController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/EnterpriseStorage/EnterpriseStorageController.cs
index 72ba9403..97baa68e 100644
--- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/EnterpriseStorage/EnterpriseStorageController.cs
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/EnterpriseStorage/EnterpriseStorageController.cs
@@ -141,9 +141,9 @@ namespace WebsitePanel.EnterpriseServer
return CheckUsersDomainExistsInternal(itemId);
}
- public static void SetFRSMQuotaOnFolder(int itemId, string folderName, int quota)
+ public static void SetFRSMQuotaOnFolder(int itemId, string folderName, int quota, QuotaType quotaType)
{
- SetFRSMQuotaOnFolderInternal(itemId, folderName, quota);
+ SetFRSMQuotaOnFolderInternal(itemId, folderName, quota, quotaType);
}
#region Directory Browsing
@@ -396,7 +396,16 @@ namespace WebsitePanel.EnterpriseServer
EnterpriseStorage es = GetEnterpriseStorage(GetEnterpriseStorageServiceID(org.PackageId));
- return es.RenameFolder(org.OrganizationId, oldFolder, newFolder);
+ if (es.GetFolder(org.OrganizationId, newFolder) == null)
+ {
+ SystemFile folder = es.RenameFolder(org.OrganizationId, oldFolder, newFolder);
+
+ DataProvider.UpdateEnterpriseFolder(itemId, oldFolder, newFolder, folder.FRSMQuotaGB);
+
+ return folder;
+ }
+
+ return null;
}
catch (Exception ex)
{
@@ -421,7 +430,18 @@ namespace WebsitePanel.EnterpriseServer
EnterpriseStorage es = GetEnterpriseStorage(GetEnterpriseStorageServiceID(org.PackageId));
- es.CreateFolder(org.OrganizationId, folderName);
+ if (es.GetFolder(org.OrganizationId, folderName) == null)
+ {
+ es.CreateFolder(org.OrganizationId, folderName);
+
+ DataProvider.AddEntepriseFolder(itemId, folderName);
+ }
+ else
+ {
+ result.IsSuccess = false;
+ result.AddError("Enterprise Storage", new Exception("Folder already exist"));
+ return result;
+ }
}
catch (Exception ex)
{
@@ -442,7 +462,7 @@ namespace WebsitePanel.EnterpriseServer
return result;
}
- protected static void SetFRSMQuotaOnFolderInternal(int itemId, string folderName, int quota)
+ protected static void SetFRSMQuotaOnFolderInternal(int itemId, string folderName, int quota, QuotaType quotaType)
{
ResultObject result = TaskManager.StartResultTask("ENTERPRISE_STORAGE", "CREATE_FOLDER");
@@ -462,7 +482,9 @@ namespace WebsitePanel.EnterpriseServer
// check if it's not root folder
if (!string.IsNullOrEmpty(folderName))
{
- SetFolderQuota(org.PackageId, org.OrganizationId, folderName, quota);
+ SetFolderQuota(org.PackageId, org.OrganizationId, folderName, quota, quotaType);
+
+ DataProvider.UpdateEnterpriseFolder(itemId, folderName, folderName, quota);
}
}
catch (Exception ex)
@@ -498,6 +520,8 @@ namespace WebsitePanel.EnterpriseServer
EnterpriseStorage es = GetEnterpriseStorage(GetEnterpriseStorageServiceID(org.PackageId));
es.DeleteFolder(org.OrganizationId, folderName);
+
+ DataProvider.DeleteEnterpriseFolder(itemId, folderName);
}
catch (Exception ex)
{
@@ -804,15 +828,19 @@ namespace WebsitePanel.EnterpriseServer
rule.Users.Add(permission.Account);
}
- if (permission.Access.ToLower().Contains("read-only"))
+ if (permission.Access.ToLower().Contains("read"))
{
rule.Read = true;
}
- if (permission.Access.ToLower().Contains("read-write"))
+ if (permission.Access.ToLower().Contains("write"))
{
rule.Write = true;
- rule.Read = true;
+ }
+
+ if (permission.Access.ToLower().Contains("source"))
+ {
+ rule.Source = true;
}
rule.Pathes.Add("*");
@@ -860,15 +888,25 @@ namespace WebsitePanel.EnterpriseServer
permission.DisplayName = userObj.DisplayName;
}
- if (rule.Read && !rule.Write)
+ if (rule.Read)
{
- permission.Access = "Read-Only";
- }
- if (rule.Write)
- {
- permission.Access = "Read-Write";
+ permission.Access += "Read,";
}
+ if (rule.Write)
+ {
+ permission.Access += "Write,";
+ }
+
+ if (rule.Source)
+ {
+ permission.Access += "Source";
+ }
+
+ if (permission.Access[permission.Access.Length - 1] == ',')
+ {
+ permission.Access = permission.Access.Remove(permission.Access.Length - 1);
+ }
permissions.Add(permission);
}
@@ -877,7 +915,7 @@ namespace WebsitePanel.EnterpriseServer
}
- private static void SetFolderQuota(int packageId, string orgId, string folderName, int quotaSize)
+ private static void SetFolderQuota(int packageId, string orgId, string folderName, int quotaSize, QuotaType quotaType)
{
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive);
if (accountCheck < 0)
@@ -899,10 +937,6 @@ namespace WebsitePanel.EnterpriseServer
var orgFolder = Path.Combine(usersHome, orgId, folderName);
- FSRMQuotaType quotaType = (esSesstings["enablehardquota"] != null)
- ? bool.Parse(esSesstings["enablehardquota"]) == true ? FSRMQuotaType.Hard : FSRMQuotaType.Soft
- : FSRMQuotaType.Soft;
-
var os = GetOS(packageId);
if (os != null && os.CheckFileServicesInstallation())
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Files/FilesController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Files/FilesController.cs
index bf511db4..ea8ab649 100644
--- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Files/FilesController.cs
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Files/FilesController.cs
@@ -910,7 +910,7 @@ namespace WebsitePanel.EnterpriseServer
return users.ToArray();
}
- public static int SetFolderQuota(int packageId, string path, string driveName,string quotas)
+ public static int SetFolderQuota(int packageId, string path, string driveName, string quotas)
{
// check account
@@ -948,7 +948,7 @@ namespace WebsitePanel.EnterpriseServer
OS.OperatingSystem os = GetOS(packageId);
- os.SetQuotaLimitOnFolder(path, driveName, FSRMQuotaType.Hard, diskSpaceQuota.QuotaAllocatedValue.ToString() + unit, 0, String.Empty, String.Empty);
+ os.SetQuotaLimitOnFolder(path, driveName, QuotaType.Hard, diskSpaceQuota.QuotaAllocatedValue.ToString() + unit, 0, String.Empty, String.Empty);
return 0;
}
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs
index 5f256df8..5d25ce78 100644
--- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/HostedSolution/OrganizationController.cs
@@ -960,10 +960,8 @@ namespace WebsitePanel.EnterpriseServer
SystemFile[] folders = EnterpriseStorageController.GetFolders(itemId);
stats.CreatedEnterpriseStorageFolders = folders.Count();
-
- stats.UsedEnterpriseStorageSpace = (int)folders.Sum(x => x.Size);
-
- stats.AllocatedEnterpriseStorageSpace = folders.Where(x => x.FRSMQuotaMB != -1).Sum(x => x.FRSMQuotaMB);
+
+ stats.UsedEnterpriseStorageSpace = folders.Where(x => x.FRSMQuotaGB != -1).Sum(x => x.FRSMQuotaGB);
}
}
else
@@ -1026,10 +1024,8 @@ namespace WebsitePanel.EnterpriseServer
SystemFile[] folders = EnterpriseStorageController.GetFolders(o.Id);
stats.CreatedEnterpriseStorageFolders += folders.Count();
-
- stats.UsedEnterpriseStorageSpace += (int)folders.Sum(x => x.Size);
- stats.AllocatedEnterpriseStorageSpace += folders.Where(x => x.FRSMQuotaMB != -1).Sum(x => x.FRSMQuotaMB);
+ stats.UsedEnterpriseStorageSpace += folders.Where(x => x.FRSMQuotaGB != -1).Sum(x => x.FRSMQuotaGB);
}
}
}
@@ -1073,6 +1069,7 @@ namespace WebsitePanel.EnterpriseServer
if (cntx.Groups.ContainsKey(ResourceGroups.EnterpriseStorage))
{
stats.AllocatedEnterpriseStorageFolders = cntx.Quotas[Quotas.ENTERPRISESTORAGE_FOLDERS].QuotaAllocatedValue;
+ stats.AllocatedEnterpriseStorageSpace = cntx.Quotas[Quotas.ENTERPRISESTORAGE_DISKSTORAGESPACE].QuotaAllocatedValue;
}
return stats;
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esEnterpriseStorage.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esEnterpriseStorage.asmx.cs
index 4b279f39..e89987b6 100644
--- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esEnterpriseStorage.asmx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esEnterpriseStorage.asmx.cs
@@ -150,11 +150,11 @@ namespace WebsitePanel.EnterpriseServer
}
[WebMethod]
- public void SetEnterpriseFolderSettings(int itemId, SystemFile folder, ESPermission[] permissions, bool directoyBrowsingEnabled, int quota)
+ public void SetEnterpriseFolderSettings(int itemId, SystemFile folder, ESPermission[] permissions, bool directoyBrowsingEnabled, int quota, QuotaType quotaType)
{
EnterpriseStorageController.SetDirectoryBrowseEnabled(itemId, folder.Url, directoyBrowsingEnabled);
EnterpriseStorageController.SetFolderPermission(itemId, folder.Name, permissions);
- EnterpriseStorageController.SetFRSMQuotaOnFolder(itemId, folder.Name, quota);
+ EnterpriseStorageController.SetFRSMQuotaOnFolder(itemId, folder.Name, quota, quotaType);
}
#endregion
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/IOperatingSystem.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/IOperatingSystem.cs
index db1bac5a..23832a60 100644
--- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/IOperatingSystem.cs
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/IOperatingSystem.cs
@@ -82,8 +82,8 @@ namespace WebsitePanel.Providers.OS
FolderGraph GetFolderGraph(string path);
void ExecuteSyncActions(FileSyncAction[] actions);
- void SetQuotaLimitOnFolder(string folderPath, string shareNameDrive, FSRMQuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword);
- int GetQuotaLimitOnFolder(string folderPath, string wmiUserName, string wmiPassword);
+ void SetQuotaLimitOnFolder(string folderPath, string shareNameDrive, QuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword);
+ Quota GetQuotaOnFolder(string folderPath, string wmiUserName, string wmiPassword);
void DeleteDirectoryRecursive(string rootPath);
// File Services
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/Quota.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/Quota.cs
new file mode 100644
index 00000000..13727976
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/Quota.cs
@@ -0,0 +1,51 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace WebsitePanel.Providers.OS
+{
+ public class Quota
+ {
+ #region Fields
+
+ private int _Size;
+ private QuotaType _QuotaType;
+ private int _Usage;
+
+ #endregion
+
+ #region Properties
+
+ public int Size
+ {
+ get { return _Size; }
+ set { _Size = value; }
+ }
+
+ public QuotaType QuotaType
+ {
+ get { return _QuotaType; }
+ set { _QuotaType = value; }
+ }
+
+ public int Usage
+ {
+ get { return _Usage; }
+ set { _Usage = value; }
+ }
+
+ #endregion
+
+ #region Constructors
+
+ public Quota()
+ {
+ _Size = -1;
+ _QuotaType = QuotaType.Soft;
+ _Usage = -1;
+ }
+
+ #endregion
+ }
+}
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/QuotaType.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/QuotaType.cs
new file mode 100644
index 00000000..f470fb19
--- /dev/null
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/QuotaType.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace WebsitePanel.Providers.OS
+{
+ public enum QuotaType
+ {
+ Soft = 1,
+ Hard = 2
+ }
+}
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemFile.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemFile.cs
index 2bda83ce..a788ae4e 100644
--- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemFile.cs
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/OS/SystemFile.cs
@@ -47,6 +47,8 @@ namespace WebsitePanel.Providers.OS
private WebDavFolderRule[] rules;
private string url;
private int fsrmQuotaMB;
+ private int frsmQuotaGB;
+ private QuotaType fsrmQuotaType = QuotaType.Soft;
public SystemFile()
{
@@ -69,6 +71,18 @@ namespace WebsitePanel.Providers.OS
set { fsrmQuotaMB = value; }
}
+ public int FRSMQuotaGB
+ {
+ get { return frsmQuotaGB; }
+ set { frsmQuotaGB = value; }
+ }
+
+ public QuotaType FsrmQuotaType
+ {
+ get { return fsrmQuotaType; }
+ set { fsrmQuotaType = value; }
+ }
+
public string FullName
{
get { return fullName; }
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj
index b699d9d9..76bc8c69 100644
--- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj
@@ -113,7 +113,8 @@
-
+
+
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.EnterpriseStorage.Windows2012/Windows2012.cs b/WebsitePanel/Sources/WebsitePanel.Providers.EnterpriseStorage.Windows2012/Windows2012.cs
index 86e71aca..35c29376 100644
--- a/WebsitePanel/Sources/WebsitePanel.Providers.EnterpriseStorage.Windows2012/Windows2012.cs
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.EnterpriseStorage.Windows2012/Windows2012.cs
@@ -86,7 +86,10 @@ namespace WebsitePanel.Providers.EnterpriseStorage
folder.FullName = dir.FullName;
folder.IsDirectory = true;
- folder.Size = windows.GetUsageOnFolder(fullName);
+ Quota quota = windows.GetQuotaOnFolder(fullName, string.Empty, string.Empty);
+
+ folder.Size = quota.Usage;
+
if (folder.Size == -1)
{
folder.Size = FileUtils.BytesToMb(FileUtils.CalculateFolderSize(dir.FullName));
@@ -94,7 +97,9 @@ namespace WebsitePanel.Providers.EnterpriseStorage
folder.Url = string.Format("https://{0}/{1}/{2}", UsersDomain, organizationId, dir.Name);
folder.Rules = webdav.GetFolderWebDavRules(organizationId, dir.Name);
- folder.FRSMQuotaMB = windows.GetQuotaLimitOnFolder(fullName, string.Empty, string.Empty);
+ folder.FRSMQuotaMB = quota.Size;
+ folder.FRSMQuotaGB = windows.ConvertMegaBytesToGB(folder.FRSMQuotaMB);
+ folder.FsrmQuotaType = quota.QuotaType;
items.Add(folder);
}
@@ -120,7 +125,10 @@ namespace WebsitePanel.Providers.EnterpriseStorage
folder.FullName = root.FullName;
folder.IsDirectory = true;
- folder.Size = windows.GetUsageOnFolder(fullName);
+ Quota quota = windows.GetQuotaOnFolder(fullName, string.Empty, string.Empty);
+
+ folder.Size = quota.Usage;
+
if (folder.Size == -1)
{
folder.Size = FileUtils.BytesToMb(FileUtils.CalculateFolderSize(root.FullName));
@@ -128,7 +136,9 @@ namespace WebsitePanel.Providers.EnterpriseStorage
folder.Url = string.Format("https://{0}/{1}/{2}", UsersDomain, organizationId, folderName);
folder.Rules = GetFolderWebDavRules(organizationId, folderName);
- folder.FRSMQuotaMB = windows.GetQuotaLimitOnFolder(fullName, string.Empty, string.Empty);
+ folder.FRSMQuotaMB = quota.Size;
+ folder.FRSMQuotaGB = windows.ConvertMegaBytesToGB(folder.FRSMQuotaMB);
+ folder.FsrmQuotaType = quota.QuotaType;
}
return folder;
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2003/Windows2003.cs b/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2003/Windows2003.cs
index 5d4e7fd4..80d66840 100644
--- a/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2003/Windows2003.cs
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2003/Windows2003.cs
@@ -210,12 +210,12 @@ namespace WebsitePanel.Providers.OS
ServerSettings, usersOU, null);
}
- public virtual void SetQuotaLimitOnFolder(string folderPath, string shareNameDrive, FSRMQuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword)
+ public virtual void SetQuotaLimitOnFolder(string folderPath, string shareNameDrive, QuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword)
{
FileUtils.SetQuotaLimitOnFolder(folderPath, shareNameDrive, quotaLimit, mode, wmiUserName, wmiPassword);
}
- public virtual int GetQuotaLimitOnFolder(string folderPath, string wmiUserName, string wmiPassword)
+ public virtual Quota GetQuotaOnFolder(string folderPath, string wmiUserName, string wmiPassword)
{
throw new NotImplementedException();
}
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2012/Windows2012.cs b/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2012/Windows2012.cs
index 15661b8d..4d05643c 100644
--- a/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2012/Windows2012.cs
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.OS.Windows2012/Windows2012.cs
@@ -74,7 +74,7 @@ namespace WebsitePanel.Providers.OS
|| version == WebsitePanel.Server.Utils.OS.WindowsVersion.Windows81;
}
- public override void SetQuotaLimitOnFolder(string folderPath, string shareNameDrive, FSRMQuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword)
+ public override void SetQuotaLimitOnFolder(string folderPath, string shareNameDrive, QuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword)
{
Log.WriteStart("SetQuotaLimitOnFolder");
Log.WriteInfo("FolderPath : {0}", folderPath);
@@ -133,14 +133,14 @@ namespace WebsitePanel.Providers.OS
Log.WriteEnd("SetQuotaLimitOnFolder");
}
- public override int GetQuotaLimitOnFolder(string folderPath, string wmiUserName, string wmiPassword)
+ public override Quota GetQuotaOnFolder(string folderPath, string wmiUserName, string wmiPassword)
{
Log.WriteStart("GetQuotaLimitOnFolder");
Log.WriteInfo("FolderPath : {0}", folderPath);
Runspace runSpace = null;
- int quota = -1;
+ Quota quota = new Quota();
try
{
@@ -154,7 +154,9 @@ namespace WebsitePanel.Providers.OS
if (result.Count > 0)
{
- quota = ConvertBytesToMB(Convert.ToInt64(GetPSObjectProperty(result[0], "size")));
+ quota.Size = ConvertBytesToMB(Convert.ToInt64(GetPSObjectProperty(result[0], "Size")));
+ quota.QuotaType = Convert.ToBoolean(GetPSObjectProperty(result[0], "SoftLimit")) ? QuotaType.Soft : QuotaType.Hard;
+ quota.Usage = ConvertBytesToMB(Convert.ToInt64(GetPSObjectProperty(result[0], "usage")));
}
}
}
@@ -173,46 +175,6 @@ namespace WebsitePanel.Providers.OS
return quota;
}
- public int GetUsageOnFolder(string folderPath)
- {
- Log.WriteStart("GetUsageOnFolder");
- Log.WriteInfo("FolderPath : {0}", folderPath);
-
-
- Runspace runSpace = null;
- int size = -1;
-
- try
- {
- runSpace = OpenRunspace();
-
- if (folderPath.IndexOfAny(Path.GetInvalidPathChars()) == -1)
- {
- Command cmd = new Command("Get-FsrmQuota");
- cmd.Parameters.Add("Path", folderPath);
- var result = ExecuteShellCommand(runSpace, cmd, false);
-
- if (result.Count > 0)
- {
- size = ConvertBytesToMB(Convert.ToInt64(GetPSObjectProperty(result[0], "usage")));
- }
- }
- }
- catch (Exception ex)
- {
- Log.WriteError("GetUsageOnFolder", ex);
- throw;
- }
- finally
- {
- CloseRunspace(runSpace);
- }
-
- Log.WriteEnd("GetUsageOnFolder");
-
- return size;
- }
-
public UInt64 CalculateQuota(string quota)
{
UInt64 OneKb = 1024;
@@ -238,16 +200,14 @@ namespace WebsitePanel.Providers.OS
return result;
}
- public int ConvertBytesToGB(long bytes)
+ public int ConvertMegaBytesToGB(int megabytes)
{
- int OneKb = 1024;
- int OneMb = OneKb * 1024;
- int OneGb = OneMb * 1024;
+ int OneGb = 1024;
- if (bytes == 0)
- return 0;
+ if (megabytes == -1)
+ return megabytes;
- return (int)(bytes / OneGb);
+ return (int)(megabytes/ OneGb);
}
public int ConvertBytesToMB(long bytes)
@@ -276,13 +236,13 @@ namespace WebsitePanel.Providers.OS
catch { /* do nothing */ }
}
- public void ChangeQuotaOnFolder(Runspace runSpace, string command, string path, FSRMQuotaType quotaType, UInt64 quota)
+ public void ChangeQuotaOnFolder(Runspace runSpace, string command, string path, QuotaType quotaType, UInt64 quota)
{
Command cmd = new Command(command);
cmd.Parameters.Add("Path", path);
cmd.Parameters.Add("Size", quota);
- if (quotaType == FSRMQuotaType.Soft)
+ if (quotaType == QuotaType.Soft)
{
cmd.Parameters.Add("SoftLimit", true);
}
diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/OperatingSystemProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/OperatingSystemProxy.cs
index e0baa912..d1dc1811 100644
--- a/WebsitePanel/Sources/WebsitePanel.Server.Client/OperatingSystemProxy.cs
+++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/OperatingSystemProxy.cs
@@ -1741,7 +1741,7 @@ namespace WebsitePanel.Providers.OS
///
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetQuotaLimitOnFolder", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- public void SetQuotaLimitOnFolder(string folderPath, string shareNameDrive, FSRMQuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword)
+ public void SetQuotaLimitOnFolder(string folderPath, string shareNameDrive, QuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword)
{
this.Invoke("SetQuotaLimitOnFolder", new object[] {
folderPath,
@@ -1754,7 +1754,7 @@ namespace WebsitePanel.Providers.OS
}
///
- public System.IAsyncResult BeginSetQuotaLimitOnFolder(string folderPath, string shareNameDrive, FSRMQuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword, System.AsyncCallback callback, object asyncState)
+ public System.IAsyncResult BeginSetQuotaLimitOnFolder(string folderPath, string shareNameDrive, QuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword, System.AsyncCallback callback, object asyncState)
{
return this.BeginInvoke("SetQuotaLimitOnFolder", new object[] {
folderPath,
@@ -1773,13 +1773,13 @@ namespace WebsitePanel.Providers.OS
}
///
- public void SetQuotaLimitOnFolderAsync(string folderPath, string shareNameDrive, FSRMQuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword)
+ public void SetQuotaLimitOnFolderAsync(string folderPath, string shareNameDrive, QuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword)
{
this.SetQuotaLimitOnFolderAsync(folderPath, shareNameDrive, quotaType, quotaLimit, mode, wmiUserName, wmiPassword, null);
}
///
- public void SetQuotaLimitOnFolderAsync(string folderPath, string shareNameDrive, FSRMQuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword, object userState)
+ public void SetQuotaLimitOnFolderAsync(string folderPath, string shareNameDrive, QuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword, object userState)
{
if ((this.SetQuotaLimitOnFolderOperationCompleted == null))
{
diff --git a/WebsitePanel/Sources/WebsitePanel.Server/OperatingSystem.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/OperatingSystem.asmx.cs
index eda7fb06..8348ddea 100644
--- a/WebsitePanel/Sources/WebsitePanel.Server/OperatingSystem.asmx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.Server/OperatingSystem.asmx.cs
@@ -536,7 +536,7 @@ namespace WebsitePanel.Server
[WebMethod, SoapHeader("settings")]
- public void SetQuotaLimitOnFolder(string folderPath, string shareNameDrive, FSRMQuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword)
+ public void SetQuotaLimitOnFolder(string folderPath, string shareNameDrive, QuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword)
{
try
{
@@ -552,18 +552,18 @@ namespace WebsitePanel.Server
}
[WebMethod, SoapHeader("settings")]
- public int GetQuotaLimitOnFolder(string folderPath, string wmiUserName, string wmiPassword)
+ public Quota GetQuotaOnFolder(string folderPath, string wmiUserName, string wmiPassword)
{
try
{
- Log.WriteStart("'{0}' GetQuotaLimitOnFolder", ProviderSettings.ProviderName);
- var result = OsProvider.GetQuotaLimitOnFolder(folderPath, wmiUserName, wmiPassword);
- Log.WriteEnd("'{0}' GetQuotaLimitOnFolder", ProviderSettings.ProviderName);
+ Log.WriteStart("'{0}' GetQuotaOnFolder", ProviderSettings.ProviderName);
+ var result = OsProvider.GetQuotaOnFolder(folderPath, wmiUserName, wmiPassword);
+ Log.WriteEnd("'{0}' GetQuotaOnFolder", ProviderSettings.ProviderName);
return result;
}
catch (Exception ex)
{
- Log.WriteError(String.Format("'{0}' GetQuotaLimitOnFolder", ProviderSettings.ProviderName), ex);
+ Log.WriteError(String.Format("'{0}' GetQuotaOnFolder", ProviderSettings.ProviderName), ex);
throw;
}
}
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx
index f4ec2338..002ddaf5 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx
@@ -315,6 +315,9 @@
Error renaming file
+
+ Error: Folder already exist
+
Error extracting files
@@ -5110,10 +5113,10 @@
Recoverable Items Storage, MB
-
- Disk Storage Space, MB
+
+ Disk Storage Space, Gb
-
+
Number of Root Folders
@@ -5350,6 +5353,9 @@
Error reading group settings
+
+ Error creating folder
+
Error updating group settings
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Styles/Skin.css b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Styles/Skin.css
index ff510896..ce4f9f0e 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Styles/Skin.css
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Styles/Skin.css
@@ -141,6 +141,11 @@ SPAN.Checkbox.Bold
border-top: solid 1px #DFDFDF;
}
+.FormRBtnL
+{
+ padding-top: 10px;
+}
+
.FormLabel150
{
font-size: 8pt;
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/SpaceQuotas.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/SpaceQuotas.ascx.resx
index fd22fa9b..42dc6d38 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/SpaceQuotas.ascx.resx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/App_LocalResources/SpaceQuotas.ascx.resx
@@ -201,4 +201,10 @@
Lync Phone Numbers:
+
+ Folders:
+
+
+ Enterprise Storage:
+
\ No newline at end of file
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/EnterpriseStorageFolderGeneralSettings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/EnterpriseStorageFolderGeneralSettings.ascx.resx
index 51c7df40..371dc3d8 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/EnterpriseStorageFolderGeneralSettings.ascx.resx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/EnterpriseStorageFolderGeneralSettings.ascx.resx
@@ -150,10 +150,22 @@
Folder Limit Size (Gb):
-
+
*
-
+
Enter Folder Size
+
+ Quota Type:
+
+
+ *
+
+
+ Hard
+
+
+ Soft
+
\ No newline at end of file
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/EnterpriseStorageFolders.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/EnterpriseStorageFolders.ascx.resx
index 10ddae15..32b8ee00 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/EnterpriseStorageFolders.ascx.resx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/EnterpriseStorageFolders.ascx.resx
@@ -145,7 +145,7 @@
Folder Name
- Folder Size
+ Used Space
Folders
@@ -154,6 +154,9 @@
Url
- Total Space Allocated (Mb):
+ Total Space Allocated (Gb):
+
+
+ Allocated Space
\ No newline at end of file
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationHome.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationHome.ascx.resx
index 0fa1a42f..8f3e935f 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationHome.ascx.resx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/App_LocalResources/OrganizationHome.ascx.resx
@@ -214,7 +214,7 @@
Folders:
- Used Diskspace (Mb):
+ Used Diskspace (Gb):
Enterprise Storage
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageCreateFolder.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageCreateFolder.ascx.cs
index ecf80a9b..1d369fa8 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageCreateFolder.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageCreateFolder.ascx.cs
@@ -73,7 +73,7 @@ namespace WebsitePanel.Portal.ExchangeServer
if (!result.IsSuccess && result.ErrorCodes.Count > 0)
{
- messageBox.ShowMessage(result, "ENTERPRISE_STORAGE_FOLDER", "EnterpriseStorage");
+ messageBox.ShowMessage(result, "ENTERPRISE_STORAGE_CREATE_FOLDER", "Enterprise Storage");
return;
}
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx
index 2c40cb7f..d5388fee 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx
@@ -39,14 +39,22 @@
|
-
-
-
+
+
|
-
+
+ |
+
+
+
+
+
+ |
+
|
|
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx.cs
index cd7d076e..2166bb7f 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx.cs
@@ -45,12 +45,6 @@ namespace WebsitePanel.Portal.ExchangeServer
{
public partial class EnterpriseStorageFolderGeneralSettings : WebsitePanelModuleBase
{
- #region Constansts
-
- const int OneMb = 1024;
-
- #endregion
-
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
@@ -63,6 +57,16 @@ namespace WebsitePanel.Portal.ExchangeServer
BindSettings();
}
+
+ OrganizationStatistics organizationStats = ES.Services.Organizations.GetOrganizationStatisticsByOrganization(PanelRequest.ItemID);
+
+ if (organizationStats.AllocatedEnterpriseStorageSpace != -1)
+ {
+ OrganizationStatistics tenantStats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID);
+
+ rangeFolderSize.MaximumValue = (tenantStats.AllocatedEnterpriseStorageSpace - tenantStats.UsedEnterpriseStorageSpace + Utils.ParseInt(txtFolderSize.Text, 0)).ToString();
+ rangeFolderSize.ErrorMessage = string.Format("The quota you’ve entered exceeds the available quota for tenant ({0}Gb)", rangeFolderSize.MaximumValue);
+ }
}
private void BindSettings()
@@ -70,7 +74,6 @@ namespace WebsitePanel.Portal.ExchangeServer
try
{
// get settings
-
Organization org = ES.Services.Organizations.GetOrganization(PanelRequest.ItemID);
SystemFile folder = ES.Services.EnterpriseStorage.GetEnterpriseFolder(
@@ -82,9 +85,19 @@ namespace WebsitePanel.Portal.ExchangeServer
txtFolderName.Text = folder.Name;
lblFolderUrl.Text = folder.Url;
- if (folder.FRSMQuotaMB != -1)
+ if (folder.FRSMQuotaGB != -1)
{
- txtFolderSize.Text = ((int)(folder.FRSMQuotaMB / OneMb)).ToString();
+ txtFolderSize.Text = folder.FRSMQuotaGB.ToString();
+ }
+
+ switch (folder.FsrmQuotaType)
+ {
+ case QuotaType.Hard:
+ rbtnQuotaHard.Checked = true;
+ break;
+ case QuotaType.Soft:
+ rbtnQuotaSoft.Checked = true;
+ break;
}
var esPermissions = ES.Services.EnterpriseStorage.GetEnterpriseFolderPermissions(PanelRequest.ItemID,folder.Name);
@@ -92,7 +105,6 @@ namespace WebsitePanel.Portal.ExchangeServer
chkDirectoryBrowsing.Checked = ES.Services.EnterpriseStorage.GetDirectoryBrowseEnabled(PanelRequest.ItemID, folder.Url);
permissions.SetPermissions(esPermissions);
-
}
catch (Exception ex)
{
@@ -131,10 +143,22 @@ namespace WebsitePanel.Portal.ExchangeServer
}
folder = ES.Services.EnterpriseStorage.RenameEnterpriseFolder(PanelRequest.ItemID, PanelRequest.FolderID, txtFolderName.Text);
+
+ if (folder == null)
+ {
+ messageBox.ShowErrorMessage("FOLDER_ALREADY_EXIST");
+
+ return;
+ }
}
- ES.Services.EnterpriseStorage.SetEnterpriseFolderSettings(PanelRequest.ItemID, folder, permissions.GetPemissions(),
- chkDirectoryBrowsing.Checked, txtFolderSize.Text.Length == 0 ? -1 : int.Parse(txtFolderSize.Text) * OneMb);
+ ES.Services.EnterpriseStorage.SetEnterpriseFolderSettings(
+ PanelRequest.ItemID,
+ folder,
+ permissions.GetPemissions(),
+ chkDirectoryBrowsing.Checked,
+ int.Parse(txtFolderSize.Text),
+ rbtnQuotaSoft.Checked ? QuotaType.Soft : QuotaType.Hard);
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "enterprisestorage_folders",
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx.designer.cs
index d92313da..f6d35da3 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx.designer.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolderGeneralSettings.ascx.designer.cs
@@ -121,13 +121,49 @@ namespace WebsitePanel.Portal.ExchangeServer {
protected global::System.Web.UI.WebControls.TextBox txtFolderSize;
///
- /// valNumericFolderSize control.
+ /// valRequireFolderSize control.
///
///
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
///
- protected global::System.Web.UI.WebControls.CompareValidator valNumericFolderSize;
+ protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireFolderSize;
+
+ ///
+ /// rangeFolderSize control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.RangeValidator rangeFolderSize;
+
+ ///
+ /// locQuotaType control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Localize locQuotaType;
+
+ ///
+ /// rbtnQuotaSoft control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.RadioButton rbtnQuotaSoft;
+
+ ///
+ /// rbtnQuotaHard control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.RadioButton rbtnQuotaHard;
///
/// locFolderUrl control.
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolders.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolders.ascx
index d9bb6388..f1ecf309 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolders.ascx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolders.ascx
@@ -60,6 +60,12 @@
+
+
+
+
+
+
@@ -99,9 +105,9 @@
-
+
-
+
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolders.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolders.ascx.cs
index 155965b4..3dbee3a9 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolders.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/EnterpriseStorageFolders.ascx.cs
@@ -63,27 +63,26 @@ namespace WebsitePanel.Portal.ExchangeServer
protected void BindEnterpriseStorageStats()
{
+ btnAddFolder.Enabled = true;
+
OrganizationStatistics organizationStats = ES.Services.Organizations.GetOrganizationStatisticsByOrganization(PanelRequest.ItemID);
-
OrganizationStatistics tenantStats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID);
foldersQuota.QuotaUsedValue = organizationStats.CreatedEnterpriseStorageFolders;
-
foldersQuota.QuotaValue = organizationStats.AllocatedEnterpriseStorageFolders;
if (organizationStats.AllocatedEnterpriseStorageFolders != -1)
{
int folderAvailable = foldersQuota.QuotaAvailable = tenantStats.AllocatedEnterpriseStorageFolders - tenantStats.CreatedEnterpriseStorageFolders;
+ int spaceAvailable = tenantStats.AllocatedEnterpriseStorageSpace - tenantStats.UsedEnterpriseStorageSpace;
- if (folderAvailable <= 0)
+ if (folderAvailable <= 0 || spaceAvailable <= 0)
{
btnAddFolder.Enabled = false;
}
}
- spaceQuota.QuotaUsedValue = organizationStats.UsedEnterpriseStorageSpace;
-
- spaceQuota.QuotaValue = organizationStats.AllocatedEnterpriseStorageSpace;
+ spaceQuota.QuotaValue = organizationStats.UsedEnterpriseStorageSpace;
}
protected void btnAddFolder_Click(object sender, EventArgs e)
@@ -109,6 +108,8 @@ namespace WebsitePanel.Portal.ExchangeServer
}
gvFolders.DataBind();
+
+ BindEnterpriseStorageStats();
}
catch (Exception ex)
{
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs
index 91f8422f..6869b014 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs
@@ -298,16 +298,14 @@ namespace WebsitePanel.Portal.ExchangeServer
{
enterpriseStorageSpaceStats.QuotaValue = stats.AllocatedEnterpriseStorageSpace;
enterpriseStorageSpaceStats.QuotaUsedValue = stats.UsedEnterpriseStorageSpace;
+ if (stats.AllocatedEnterpriseStorageSpace != -1) enterpriseStorageSpaceStats.QuotaAvailable = tenantStats.AllocatedEnterpriseStorageSpace - tenantStats.UsedEnterpriseStorageSpace;
lnkBESUsers.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "enterprisestorage_folders",
"SpaceID=" + PanelSecurity.PackageId.ToString());
enterpriseStorageFoldersStats.QuotaValue = stats.AllocatedEnterpriseStorageFolders;
enterpriseStorageFoldersStats.QuotaUsedValue = stats.CreatedEnterpriseStorageFolders;
- if (stats.AllocatedEnterpriseStorageFolders != -1)
- {
- enterpriseStorageFoldersStats.QuotaAvailable = tenantStats.AllocatedEnterpriseStorageFolders - tenantStats.CreatedEnterpriseStorageFolders;
- }
+ if (stats.AllocatedEnterpriseStorageFolders != -1) enterpriseStorageFoldersStats.QuotaAvailable = tenantStats.AllocatedEnterpriseStorageFolders - tenantStats.CreatedEnterpriseStorageFolders;
lnkBESUsers.NavigateUrl = EditUrl("ItemID", PanelRequest.ItemID.ToString(), "enterprisestorage_folders",
"SpaceID=" + PanelSecurity.PackageId.ToString());
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/EnterpriseStoragePermissions.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/EnterpriseStoragePermissions.ascx.resx
index ccc8a35f..bba8d593 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/EnterpriseStoragePermissions.ascx.resx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/EnterpriseStoragePermissions.ascx.resx
@@ -129,11 +129,17 @@
Delete
-
- Set Read-Only
+
+ Set Permissions
-
- Set Read-Write
+
+ Read
+
+
+ Source
+
+
+ Write
Display Name
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EnterpriseStoragePermissions.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EnterpriseStoragePermissions.ascx
index c250f192..30e1d75f 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EnterpriseStoragePermissions.ascx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EnterpriseStoragePermissions.ascx
@@ -38,8 +38,11 @@
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EnterpriseStoragePermissions.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EnterpriseStoragePermissions.ascx.cs
index b1de0af2..afa631b9 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EnterpriseStoragePermissions.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EnterpriseStoragePermissions.ascx.cs
@@ -103,7 +103,7 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
{
Account = account.AccountName,
DisplayName = account.DisplayName,
- Access = "Read-Only",
+ Access = "Read",
});
}
@@ -281,9 +281,34 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls
if (chkSelect.Checked)
{
chkSelect.Checked = false;
- litAccess.Text = ((Button)sender).CommandArgument;
+
+ litAccess.Text = "";
+
+ if (chkRead.Checked)
+ {
+ litAccess.Text = "Read,";
+ }
+
+ if (chkWrite.Checked)
+ {
+ litAccess.Text += "Write,";
+ }
+
+ if (chkSource.Checked)
+ {
+ litAccess.Text += "Source";
+ }
+
+ if (litAccess.Text[litAccess.Text.Length - 1] == ',')
+ {
+ litAccess.Text = litAccess.Text.Remove(litAccess.Text.Length - 1);
+ }
}
}
+
+ chkRead.Checked = false;
+ chkWrite.Checked = false;
+ chkSource.Checked = false;
}
}
}
\ No newline at end of file
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EnterpriseStoragePermissions.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EnterpriseStoragePermissions.ascx.designer.cs
index 1820355e..d3c9a6f3 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EnterpriseStoragePermissions.ascx.designer.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/EnterpriseStoragePermissions.ascx.designer.cs
@@ -1,31 +1,3 @@
-// Copyright (c) 2012, Outercurve Foundation.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without modification,
-// are permitted provided that the following conditions are met:
-//
-// - Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// - Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// - Neither the name of the Outercurve Foundation nor the names of its
-// contributors may be used to endorse or promote products derived from this
-// software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
@@ -77,22 +49,40 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls {
protected global::System.Web.UI.WebControls.GridView gvPermissions;
///
- /// btnSetReadOnly control.
+ /// chkRead control.
///
///
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
///
- protected global::System.Web.UI.WebControls.Button btnSetReadOnly;
+ protected global::System.Web.UI.WebControls.CheckBox chkRead;
///
- /// btnSetReadWrite control.
+ /// chkWrite control.
///
///
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
///
- protected global::System.Web.UI.WebControls.Button btnSetReadWrite;
+ protected global::System.Web.UI.WebControls.CheckBox chkWrite;
+
+ ///
+ /// chkSource control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.CheckBox chkSource;
+
+ ///
+ /// btnSet control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Button btnSet;
///
/// AddAccountsPanel control.
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/EnterpriseStorage_Settings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/EnterpriseStorage_Settings.ascx.resx
index 304ec438..a253249e 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/EnterpriseStorage_Settings.ascx.resx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/EnterpriseStorage_Settings.ascx.resx
@@ -117,9 +117,6 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Enable Hard Quota:
-
Enterprise Storage Path:
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/EnterpriseStorage_Settings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/EnterpriseStorage_Settings.ascx
index aeb0beaf..f67f906a 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/EnterpriseStorage_Settings.ascx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/EnterpriseStorage_Settings.ascx
@@ -24,19 +24,4 @@
ControlToValidate="txtDomain" ErrorMessage="*">
-
- |
-
-
- |
-
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/EnterpriseStorage_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/EnterpriseStorage_Settings.ascx.cs
index 4e37d26a..18e6b533 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/EnterpriseStorage_Settings.ascx.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/EnterpriseStorage_Settings.ascx.cs
@@ -48,14 +48,9 @@ namespace WebsitePanel.Portal.ProviderControls
{
try
{
- chkEnableHardQuota.Enabled = ES.Services.EnterpriseStorage.CheckFileServicesInstallation(PanelRequest.ServiceId);
- txtFolder.Enabled = chkEnableHardQuota.Enabled;
- if (!chkEnableHardQuota.Enabled)
- lblFileServiceInfo.Visible = true;
- }
- catch
- {
+ txtFolder.Enabled = ES.Services.EnterpriseStorage.CheckFileServicesInstallation(PanelRequest.ServiceId);
}
+ catch { }
}
}
@@ -65,7 +60,6 @@ namespace WebsitePanel.Portal.ProviderControls
txtFolder.Text = path;
txtDomain.Text = settings["UsersDomain"];
- chkEnableHardQuota.Checked = settings["EnableHardQuota"] == "true" ? true : false;
}
public void SaveSettings(StringDictionary settings)
@@ -79,7 +73,6 @@ namespace WebsitePanel.Portal.ProviderControls
settings["LocationDrive"] = drive.Split(':')[0];
settings["UsersHome"] = folder;
settings["UsersDomain"] = domain;
- settings["EnableHardQuota"] = chkEnableHardQuota.Checked.ToString().ToLower();
}
}
}
\ No newline at end of file
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/EnterpriseStorage_Settings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/EnterpriseStorage_Settings.ascx.designer.cs
index 21b155b1..8000d44f 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/EnterpriseStorage_Settings.ascx.designer.cs
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/EnterpriseStorage_Settings.ascx.designer.cs
@@ -1,31 +1,3 @@
-// Copyright (c) 2012, Outercurve Foundation.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without modification,
-// are permitted provided that the following conditions are met:
-//
-// - Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// - Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// - Neither the name of the Outercurve Foundation nor the names of its
-// contributors may be used to endorse or promote products derived from this
-// software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
@@ -111,23 +83,5 @@ namespace WebsitePanel.Portal.ProviderControls {
/// To modify move field declaration from designer file to code-behind file.
///
protected global::System.Web.UI.WebControls.RegularExpressionValidator valExpressionDomain;
-
- ///
- /// chkEnableHardQuota control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.CheckBox chkEnableHardQuota;
-
- ///
- /// lblFileServiceInfo control.
- ///
- ///
- /// Auto-generated field.
- /// To modify move field declaration from designer file to code-behind file.
- ///
- protected global::System.Web.UI.WebControls.Label lblFileServiceInfo;
}
}
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx
index fc4e2a8f..2507167b 100644
--- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx
+++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx
@@ -86,6 +86,14 @@
|
|
+
+ |
+ |
+
+
+ |
+ |
+