Significant amount of changes to hosted organizations and exchange:
Exchange 2010 SP2 provisioning separated through a new provider Exchange 2010 SP2 now compliant with product group guidelines Support for Database Availability Group Fixed Distribution List view scope to only tenant Consumer support (individual mailboxes as hotmail) added Mailbox configuration moved to mailbox plans concept CN creation is now based on UPN sAMAccountName generation revised and decoupled from tenant name 2007 (ACL Based), 2010 (ACL Bases), 2010 SP2 (ABP) supported Automated Hosted Organization provisioning added to create hosting space Enterprise Server webservice extended with ImportMethod Mobile tab fixed Added more information to users listview
This commit is contained in:
parent
2f8a580846
commit
50f2c43315
194 changed files with 12994 additions and 9755 deletions
|
@ -29,7 +29,7 @@ CREATE TABLE [dbo].[ExchangeAccounts](
|
|||
[AccountID] [int] IDENTITY(1,1) NOT NULL,
|
||||
[ItemID] [int] NOT NULL,
|
||||
[AccountType] [int] NOT NULL,
|
||||
[AccountName] [nvarchar](20) COLLATE Latin1_General_CI_AS NOT NULL,
|
||||
[AccountName] [nvarchar](300) COLLATE Latin1_General_CI_AS NOT NULL,
|
||||
[DisplayName] [nvarchar](300) COLLATE Latin1_General_CI_AS NOT NULL,
|
||||
[PrimaryEmailAddress] [nvarchar](300) COLLATE Latin1_General_CI_AS NULL,
|
||||
[MailEnabledPublicFolder] [bit] NULL,
|
||||
|
@ -37,6 +37,8 @@ CREATE TABLE [dbo].[ExchangeAccounts](
|
|||
[SamAccountName] [nvarchar](100) COLLATE Latin1_General_CI_AS NULL,
|
||||
[AccountPassword] [nvarchar](200) COLLATE Latin1_General_CI_AS NULL,
|
||||
[CreatedDate] [datetime] NOT NULL,
|
||||
[MailboxPlanId] [int] NULL,
|
||||
[SubscriberNumber] [nvarchar] (32) COLLATE Latin1_General_CI_AS NULL,
|
||||
CONSTRAINT [PK_ExchangeAccounts] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[AccountID] ASC
|
||||
|
@ -54,6 +56,32 @@ SET QUOTED_IDENTIFIER ON
|
|||
GO
|
||||
|
||||
|
||||
CREATE TABLE [dbo].[ExchangeMailboxPlans](
|
||||
[MailboxPlanId] [int] IDENTITY(1,1) NOT NULL,
|
||||
[ItemID] [int] NOT NULL,
|
||||
[MailboxPlan] [nvarchar](300) COLLATE Latin1_General_CI_AS NOT NULL,
|
||||
[EnableActiveSync] [bit] NOT NULL,
|
||||
[EnableIMAP] [bit] NOT NULL,
|
||||
[EnableMAPI] [bit] NOT NULL,
|
||||
[EnableOWA] [bit] NOT NULL,
|
||||
[EnablePOP] [bit] NOT NULL,
|
||||
[IsDefault] [bit] NOT NULL,
|
||||
[IssueWarningPct] [int] NOT NULL,
|
||||
[KeepDeletedItemsDays] [int] NOT NULL,
|
||||
[MailboxSizeMB] [int] NOT NULL,
|
||||
[MaxReceiveMessageSizeKB] [int] NOT NULL,
|
||||
[MaxRecipients] [int] NOT NULL,
|
||||
[MaxSendMessageSizeKB] [int] NOT NULL,
|
||||
[ProhibitSendPct] [int] NOT NULL,
|
||||
[ProhibitSendReceivePct] [int] NOT NULL,
|
||||
[HideFromAddressBook] [bit] NOT NULL,
|
||||
CONSTRAINT [PK_ExchangeMailboxPlans] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[MailboxPlanId] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
@ -80,7 +108,8 @@ SELECT
|
|||
AccountName,
|
||||
DisplayName,
|
||||
PrimaryEmailAddress,
|
||||
MailEnabledPublicFolder
|
||||
MailEnabledPublicFolder,
|
||||
SubscriberNumber
|
||||
FROM
|
||||
ExchangeAccounts
|
||||
WHERE
|
||||
|
@ -109,6 +138,7 @@ END
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GO
|
||||
|
@ -150,21 +180,71 @@ CREATE PROCEDURE [dbo].[GetExchangeAccounts]
|
|||
)
|
||||
AS
|
||||
SELECT
|
||||
AccountID,
|
||||
ItemID,
|
||||
AccountType,
|
||||
AccountName,
|
||||
DisplayName,
|
||||
PrimaryEmailAddress,
|
||||
MailEnabledPublicFolder
|
||||
E.AccountID,
|
||||
E.ItemID,
|
||||
E.AccountType,
|
||||
E.AccountName,
|
||||
E.DisplayName,
|
||||
E.PrimaryEmailAddress,
|
||||
E.MailEnabledPublicFolder,
|
||||
E.MailboxPlanId,
|
||||
P.MailboxPlan,
|
||||
E.SubscriberNumber
|
||||
FROM
|
||||
ExchangeAccounts
|
||||
ExchangeAccounts AS E
|
||||
INNER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
||||
WHERE
|
||||
ItemID = @ItemID AND
|
||||
(AccountType = @AccountType OR @AccountType IS NULL)
|
||||
E.ItemID = @ItemID AND
|
||||
(E.AccountType = @AccountType OR @AccountType IS NULL)
|
||||
ORDER BY DisplayName
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[GetExchangeAccountByAccountName]
|
||||
(
|
||||
@ItemID int,
|
||||
@AccountName nvarchar(300)
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
E.AccountID,
|
||||
E.ItemID,
|
||||
E.AccountType,
|
||||
E.AccountName,
|
||||
E.DisplayName,
|
||||
E.PrimaryEmailAddress,
|
||||
E.MailEnabledPublicFolder,
|
||||
E.MailboxManagerActions,
|
||||
E.SamAccountName,
|
||||
E.AccountPassword,
|
||||
E.MailboxPlanId,
|
||||
P.MailboxPlan,
|
||||
E.SubscriberNumber
|
||||
FROM
|
||||
ExchangeAccounts AS E
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
||||
WHERE
|
||||
E.ItemID = @ItemID AND
|
||||
E.AccountName = @AccountName
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
@ -231,21 +311,25 @@ CREATE PROCEDURE [dbo].[GetExchangeAccount]
|
|||
)
|
||||
AS
|
||||
SELECT
|
||||
AccountID,
|
||||
ItemID,
|
||||
AccountType,
|
||||
AccountName,
|
||||
DisplayName,
|
||||
PrimaryEmailAddress,
|
||||
MailEnabledPublicFolder,
|
||||
MailboxManagerActions,
|
||||
SamAccountName,
|
||||
AccountPassword
|
||||
E.AccountID,
|
||||
E.ItemID,
|
||||
E.AccountType,
|
||||
E.AccountName,
|
||||
E.DisplayName,
|
||||
E.PrimaryEmailAddress,
|
||||
E.MailEnabledPublicFolder,
|
||||
E.MailboxManagerActions,
|
||||
E.SamAccountName,
|
||||
E.AccountPassword,
|
||||
E.MailboxPlanId,
|
||||
P.MailboxPlan,
|
||||
E.SubscriberNumber
|
||||
FROM
|
||||
ExchangeAccounts
|
||||
ExchangeAccounts AS E
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
||||
WHERE
|
||||
ItemID = @ItemID AND
|
||||
AccountID = @AccountID
|
||||
E.ItemID = @ItemID AND
|
||||
E.AccountID = @AccountID
|
||||
RETURN
|
||||
|
||||
|
||||
|
@ -311,14 +395,14 @@ GO
|
|||
|
||||
|
||||
|
||||
CREATE PROCEDURE ExchangeAccountExists
|
||||
CREATE PROCEDURE [dbo].[ExchangeAccountExists]
|
||||
(
|
||||
@AccountName nvarchar(20),
|
||||
@Exists bit OUTPUT
|
||||
)
|
||||
AS
|
||||
SET @Exists = 0
|
||||
IF EXISTS(SELECT * FROM ExchangeAccounts WHERE AccountName = @AccountName)
|
||||
IF EXISTS(SELECT * FROM ExchangeAccounts WHERE sAMAccountName LIKE '%\'+@AccountName)
|
||||
BEGIN
|
||||
SET @Exists = 1
|
||||
END
|
||||
|
@ -352,6 +436,10 @@ RETURN
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -936,7 +1024,7 @@ GO
|
|||
|
||||
|
||||
|
||||
CREATE PROCEDURE SearchExchangeAccounts
|
||||
CREATE PROCEDURE [dbo].[SearchExchangeAccounts]
|
||||
(
|
||||
@ActorID int,
|
||||
@ItemID int,
|
||||
|
@ -986,7 +1074,8 @@ SELECT
|
|||
EA.AccountName,
|
||||
EA.DisplayName,
|
||||
EA.PrimaryEmailAddress,
|
||||
EA.MailEnabledPublicFolder
|
||||
EA.MailEnabledPublicFolder,
|
||||
EA.SubscriberNumber
|
||||
FROM ExchangeAccounts AS EA
|
||||
WHERE ' + @condition
|
||||
|
||||
|
@ -1026,6 +1115,7 @@ RETURN
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GO
|
||||
|
@ -1080,6 +1170,10 @@ END
|
|||
IF @SortColumn IS NULL OR @SortColumn = ''
|
||||
SET @SortColumn = 'EA.DisplayName ASC'
|
||||
|
||||
DECLARE @joincondition nvarchar(700)
|
||||
SET @joincondition = ',P.MailboxPlan FROM ExchangeAccounts AS EA
|
||||
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON EA.MailboxPlanId = P.MailboxPlanId'
|
||||
|
||||
DECLARE @sql nvarchar(3500)
|
||||
|
||||
set @sql = '
|
||||
|
@ -1094,9 +1188,10 @@ WITH Accounts AS (
|
|||
EA.AccountName,
|
||||
EA.DisplayName,
|
||||
EA.PrimaryEmailAddress,
|
||||
EA.MailEnabledPublicFolder
|
||||
FROM ExchangeAccounts AS EA
|
||||
WHERE ' + @condition + '
|
||||
EA.MailEnabledPublicFolder,
|
||||
EA.MailboxPlanId,
|
||||
EA.SubscriberNumber ' + @joincondition +
|
||||
' WHERE ' + @condition + '
|
||||
)
|
||||
|
||||
SELECT * FROM Accounts
|
||||
|
@ -1118,6 +1213,7 @@ RETURN
|
|||
|
||||
|
||||
|
||||
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
@ -1407,13 +1503,15 @@ CREATE PROCEDURE [dbo].[AddExchangeAccount]
|
|||
@AccountID int OUTPUT,
|
||||
@ItemID int,
|
||||
@AccountType int,
|
||||
@AccountName nvarchar(20),
|
||||
@AccountName nvarchar(300),
|
||||
@DisplayName nvarchar(300),
|
||||
@PrimaryEmailAddress nvarchar(300),
|
||||
@MailEnabledPublicFolder bit,
|
||||
@MailboxManagerActions varchar(200),
|
||||
@SamAccountName nvarchar(100),
|
||||
@AccountPassword nvarchar(200)
|
||||
@AccountPassword nvarchar(200),
|
||||
@MailboxPlanId int,
|
||||
@SubscriberNumber nvarchar(32)
|
||||
)
|
||||
AS
|
||||
|
||||
|
@ -1427,7 +1525,9 @@ INSERT INTO ExchangeAccounts
|
|||
MailEnabledPublicFolder,
|
||||
MailboxManagerActions,
|
||||
SamAccountName,
|
||||
AccountPassword
|
||||
AccountPassword,
|
||||
MailboxPlanId,
|
||||
SubscriberNumber
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
|
@ -1439,7 +1539,9 @@ VALUES
|
|||
@MailEnabledPublicFolder,
|
||||
@MailboxManagerActions,
|
||||
@SamAccountName,
|
||||
@AccountPassword
|
||||
@AccountPassword,
|
||||
@MailboxPlanId,
|
||||
@SubscriberNumber
|
||||
)
|
||||
|
||||
SET @AccountID = SCOPE_IDENTITY()
|
||||
|
@ -1475,6 +1577,7 @@ RETURN
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GO
|
||||
|
@ -3538,9 +3641,9 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe
|
|||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (75, 1, 8, N'OS.ExtraApplications', N'Extra Application Packs', 1, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (77, 12, 2, N'Exchange2007.DiskSpace', N'Organization Disk Space, MB', 3, 0, NULL)
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (77, 12, 2, N'Exchange2007.DiskSpace', N'Organization Disk Space, MB', 21, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (78, 12, 3, N'Exchange2007.Mailboxes', N'Mailboxes per Organization', 3, 0, NULL)
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (78, 12, 3, N'Exchange2007.Mailboxes', N'Mailboxes per Organization', 2, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (79, 12, 4, N'Exchange2007.Contacts', N'Contacts per Organization', 3, 0, NULL)
|
||||
GO
|
||||
|
@ -3560,16 +3663,6 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe
|
|||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (88, 12, 8, N'Exchange2007.MailEnabledPublicFolders', N'Mail Enabled Public Folders Allowed', 1, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (89, 12, 10, N'Exchange2007.POP3Enabled', N'POP3 Enabled by default', 1, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (90, 12, 12, N'Exchange2007.IMAPEnabled', N'IMAP Enabled by default', 1, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (91, 12, 14, N'Exchange2007.OWAEnabled', N'OWA Enabled by default', 1, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (92, 12, 16, N'Exchange2007.MAPIEnabled', N'MAPI Enabled by default', 1, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (93, 12, 18, N'Exchange2007.ActiveSyncEnabled', N'ActiveSync Enabled by default', 1, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (94, 2, 17, N'Web.ColdFusion', N'ColdFusion', 1, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (95, 2, 1, N'Web.WebAppGallery', N'Web Application Gallery', 1, 0, NULL)
|
||||
|
@ -3602,7 +3695,7 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe
|
|||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (205, 13, 1, N'HostedSolution.Organizations', N'Organizations', 2, 0, 29)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (206, 13, 2, N'HostedSolution.Users', N'Users', 3, 0, 30)
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (206, 13, 2, N'HostedSolution.Users', N'Users', 2, 0, 30)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (207, 13, 3, N'HostedSolution.Domains', N'Domains per Organizations', 3, 0, NULL)
|
||||
GO
|
||||
|
@ -3748,6 +3841,16 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe
|
|||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (363, 40, 12, N'VPSForPC.Bandwidth', N'Monthly bandwidth, GB', 2, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (364, 12, 19, N'Exchange2007.KeepDeletedItemsDays', N'Keep Deleted Items (days)', 3, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (365, 12, 20, N'Exchange2007.MaxRecipients', N'Maximum Recipients', 3, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (366, 12, 21, N'Exchange2007.MaxSendMessageSizeKB', N'Maximum Send Message Size (Kb)', 3, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (367, 12, 22, N'Exchange2007.MaxReceiveMessageSizeKB', N'Maximum Receive Message Size (Kb)', 3, 0, NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (368, 12, 1, N'Exchange2007.IsConsumer',N'Is Consumer Organization',1, 0 , NULL)
|
||||
GO
|
||||
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (400, 20, 3, N'HostedSharePoint.UseSharedSSL', N'Use shared SSL Root', 1, 0, NULL)
|
||||
GO
|
||||
|
||||
|
@ -5866,7 +5969,7 @@ SET QUOTED_IDENTIFIER ON
|
|||
GO
|
||||
CREATE TABLE [dbo].[ExchangeOrganizations](
|
||||
[ItemID] [int] NOT NULL,
|
||||
[OrganizationID] [nvarchar](10) COLLATE Latin1_General_CI_AS NOT NULL,
|
||||
[OrganizationID] [nvarchar](128) COLLATE Latin1_General_CI_AS NOT NULL,
|
||||
CONSTRAINT [PK_ExchangeOrganizations] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[ItemID] ASC
|
||||
|
@ -5980,8 +6083,10 @@ CREATE PROCEDURE DeleteExchangeOrganization
|
|||
@ItemID int
|
||||
)
|
||||
AS
|
||||
DELETE FROM ExchangeOrganizations
|
||||
WHERE ItemID = @ItemID
|
||||
BEGIN TRAN
|
||||
DELETE FROM ExchangeMailboxPlans WHERE ItemID = @ItemID
|
||||
DELETE FROM ExchangeOrganizations WHERE ItemID = @ItemID
|
||||
COMMIT TRAN
|
||||
RETURN
|
||||
|
||||
|
||||
|
@ -6053,7 +6158,7 @@ GO
|
|||
CREATE PROCEDURE AddExchangeOrganization
|
||||
(
|
||||
@ItemID int,
|
||||
@OrganizationID nvarchar(10)
|
||||
@OrganizationID nvarchar(128)
|
||||
)
|
||||
AS
|
||||
|
||||
|
@ -6241,7 +6346,8 @@ SELECT
|
|||
(SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 2 AND ItemID = @ItemID) AS CreatedContacts,
|
||||
(SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 3 AND ItemID = @ItemID) AS CreatedDistributionLists,
|
||||
(SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 4 AND ItemID = @ItemID) AS CreatedPublicFolders,
|
||||
(SELECT COUNT(*) FROM ExchangeOrganizationDomains WHERE ItemID = @ItemID) AS CreatedDomains
|
||||
(SELECT COUNT(*) FROM ExchangeOrganizationDomains WHERE ItemID = @ItemID) AS CreatedDomains,
|
||||
(SELECT SUM(B.MailboxSizeMB) FROM ExchangeAccounts AS A INNER JOIN ExchangeMailboxPlans AS B ON A.MailboxPlanId = B.MailboxPlanId WHERE A.ItemID=@ItemID) AS UsedDiskSpace
|
||||
|
||||
RETURN
|
||||
|
||||
|
@ -6272,7 +6378,6 @@ RETURN
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GO
|
||||
|
@ -6611,18 +6716,26 @@ GO
|
|||
CREATE PROCEDURE [dbo].[UpdateExchangeAccount]
|
||||
(
|
||||
@AccountID int,
|
||||
@AccountName nvarchar(20),
|
||||
@AccountName nvarchar(300),
|
||||
@DisplayName nvarchar(300),
|
||||
@PrimaryEmailAddress nvarchar(300),
|
||||
@AccountType int,
|
||||
@SamAccountName nvarchar(100),
|
||||
@MailEnabledPublicFolder bit,
|
||||
@MailboxManagerActions varchar(200),
|
||||
@Password varchar(200)
|
||||
@Password varchar(200),
|
||||
@MailboxPlanId int,
|
||||
@SubscriberNumber varchar(32)
|
||||
)
|
||||
AS
|
||||
|
||||
BEGIN TRAN
|
||||
|
||||
IF (@MailboxPlanId = -1)
|
||||
BEGIN
|
||||
SET @MailboxPlanId = NULL
|
||||
END
|
||||
|
||||
UPDATE ExchangeAccounts SET
|
||||
AccountName = @AccountName,
|
||||
DisplayName = @DisplayName,
|
||||
|
@ -6630,7 +6743,9 @@ UPDATE ExchangeAccounts SET
|
|||
MailEnabledPublicFolder = @MailEnabledPublicFolder,
|
||||
MailboxManagerActions = @MailboxManagerActions,
|
||||
AccountType =@AccountType,
|
||||
SamAccountName = @SamAccountName
|
||||
SamAccountName = @SamAccountName,
|
||||
MailboxPlanId = @MailboxPlanId,
|
||||
SubscriberNumber = @SubscriberNumber
|
||||
|
||||
WHERE
|
||||
AccountID = @AccountID
|
||||
|
@ -6667,6 +6782,10 @@ RETURN
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GO
|
||||
|
@ -8899,7 +9018,8 @@ SELECT
|
|||
EA.AccountType,
|
||||
EA.AccountName,
|
||||
EA.DisplayName,
|
||||
EA.PrimaryEmailAddress
|
||||
EA.PrimaryEmailAddress,
|
||||
EA.SubscriberNumber
|
||||
FROM ExchangeAccounts AS EA
|
||||
WHERE ' + @condition
|
||||
|
||||
|
@ -8936,6 +9056,8 @@ RETURN
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -20551,7 +20673,7 @@ GO
|
|||
|
||||
|
||||
|
||||
CREATE PROCEDURE GetPackages
|
||||
CREATE PROCEDURE [dbo].[GetPackages]
|
||||
(
|
||||
@ActorID int,
|
||||
@UserID int
|
||||
|
@ -20590,8 +20712,7 @@ INNER JOIN Users AS U ON P.UserID = U.UserID
|
|||
INNER JOIN Servers AS S ON P.ServerID = S.ServerID
|
||||
INNER JOIN HostingPlans AS HP ON P.PlanID = HP.PlanID
|
||||
WHERE
|
||||
P.UserID <> @UserID
|
||||
AND dbo.CheckUserParent(@UserID, P.UserID) = 1
|
||||
P.UserID = @UserID
|
||||
RETURN
|
||||
|
||||
|
||||
|
@ -23257,6 +23378,8 @@ INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName]
|
|||
GO
|
||||
INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (400, 40, N'HyperVForPC', N'Microsoft Hyper-V For Private Cloud', N'WebsitePanel.Providers.VirtualizationForPC.HyperVForPC, WebsitePanel.Providers.VirtualizationForPC.HyperVForPC', N'HyperVForPrivateCloud', 1)
|
||||
GO
|
||||
INSERT [dbo].[Providers] ([ProviderId], [GroupId], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES(90, 12, N'Exchange2010SP2', N'Hosted Microsoft Exchange Server 2010 SP2', N'WebsitePanel.Providers.HostedSolution.Exchange2010SP2, WebsitePanel.Providers.HostedSolution', N'Exchange', 1)
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
|
@ -25738,21 +25861,27 @@ AS
|
|||
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)
|
||||
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 = 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.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
|
||||
SET @Result = (SELECT COUNT(SI.ItemID) FROM Quotas AS Q
|
||||
INNER JOIN ServiceItems AS SI ON SI.ItemTypeID = Q.ItemTypeID
|
||||
|
@ -25761,14 +25890,10 @@ AS
|
|||
|
||||
RETURN @Result
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
@ -44451,6 +44576,7 @@ EXEC sp_xml_removedocument @idoc
|
|||
COMMIT TRAN
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
@ -44473,27 +44599,280 @@ RETURN
|
|||
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[AddExchangeMailboxPlan]
|
||||
(
|
||||
@MailboxPlanId int OUTPUT,
|
||||
@ItemID int,
|
||||
@MailboxPlan nvarchar(300),
|
||||
@EnableActiveSync bit,
|
||||
@EnableIMAP bit,
|
||||
@EnableMAPI bit,
|
||||
@EnableOWA bit,
|
||||
@EnablePOP bit,
|
||||
@IsDefault bit,
|
||||
@IssueWarningPct int,
|
||||
@KeepDeletedItemsDays int,
|
||||
@MailboxSizeMB int,
|
||||
@MaxReceiveMessageSizeKB int,
|
||||
@MaxRecipients int,
|
||||
@MaxSendMessageSizeKB int,
|
||||
@ProhibitSendPct int,
|
||||
@ProhibitSendReceivePct int ,
|
||||
@HideFromAddressBook bit
|
||||
)
|
||||
AS
|
||||
|
||||
INSERT INTO ExchangeMailboxPlans
|
||||
(
|
||||
ItemID,
|
||||
MailboxPlan,
|
||||
EnableActiveSync,
|
||||
EnableIMAP,
|
||||
EnableMAPI,
|
||||
EnableOWA,
|
||||
EnablePOP,
|
||||
IsDefault,
|
||||
IssueWarningPct,
|
||||
KeepDeletedItemsDays,
|
||||
MailboxSizeMB,
|
||||
MaxReceiveMessageSizeKB,
|
||||
MaxRecipients,
|
||||
MaxSendMessageSizeKB,
|
||||
ProhibitSendPct,
|
||||
ProhibitSendReceivePct,
|
||||
HideFromAddressBook
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
@ItemID,
|
||||
@MailboxPlan,
|
||||
@EnableActiveSync,
|
||||
@EnableIMAP,
|
||||
@EnableMAPI,
|
||||
@EnableOWA,
|
||||
@EnablePOP,
|
||||
@IsDefault,
|
||||
@IssueWarningPct,
|
||||
@KeepDeletedItemsDays,
|
||||
@MailboxSizeMB,
|
||||
@MaxReceiveMessageSizeKB,
|
||||
@MaxRecipients,
|
||||
@MaxSendMessageSizeKB,
|
||||
@ProhibitSendPct,
|
||||
@ProhibitSendReceivePct,
|
||||
@HideFromAddressBook
|
||||
)
|
||||
|
||||
SET @MailboxPlanId = SCOPE_IDENTITY()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[SetExchangeAccountMailboxplan]
|
||||
(
|
||||
@AccountID int,
|
||||
@MailboxPlanId int
|
||||
)
|
||||
AS
|
||||
|
||||
UPDATE ExchangeAccounts SET
|
||||
MailboxPlanId = @MailboxPlanId
|
||||
WHERE
|
||||
AccountID = @AccountID
|
||||
|
||||
RETURN
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[SetOrganizationDefaultExchangeMailboxPlan]
|
||||
(
|
||||
@ItemId int,
|
||||
@MailboxPlanId int
|
||||
)
|
||||
AS
|
||||
|
||||
UPDATE ExchangeMailboxPlans SET IsDefault=0 WHERE ItemId=@ItemId
|
||||
UPDATE ExchangeMailboxPlans SET IsDefault=1 WHERE MailboxPlanId=@MailboxPlanId
|
||||
|
||||
RETURN
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[GetExchangeMailboxPlan]
|
||||
(
|
||||
@MailboxPlanId int
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
MailboxPlanId,
|
||||
ItemID,
|
||||
MailboxPlan,
|
||||
EnableActiveSync,
|
||||
EnableIMAP,
|
||||
EnableMAPI,
|
||||
EnableOWA,
|
||||
EnablePOP,
|
||||
IsDefault,
|
||||
IssueWarningPct,
|
||||
KeepDeletedItemsDays,
|
||||
MailboxSizeMB,
|
||||
MaxReceiveMessageSizeKB,
|
||||
MaxRecipients,
|
||||
MaxSendMessageSizeKB,
|
||||
ProhibitSendPct,
|
||||
ProhibitSendReceivePct,
|
||||
HideFromAddressBook
|
||||
FROM
|
||||
ExchangeMailboxPlans
|
||||
WHERE
|
||||
MailboxPlanId = @MailboxPlanId
|
||||
RETURN
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[GetExchangeMailboxPlans]
|
||||
(
|
||||
@ItemID int
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
MailboxPlanId,
|
||||
ItemID,
|
||||
MailboxPlan,
|
||||
EnableActiveSync,
|
||||
EnableIMAP,
|
||||
EnableMAPI,
|
||||
EnableOWA,
|
||||
EnablePOP,
|
||||
IsDefault,
|
||||
IssueWarningPct,
|
||||
KeepDeletedItemsDays,
|
||||
MailboxSizeMB,
|
||||
MaxReceiveMessageSizeKB,
|
||||
MaxRecipients,
|
||||
MaxSendMessageSizeKB,
|
||||
ProhibitSendPct,
|
||||
ProhibitSendReceivePct,
|
||||
HideFromAddressBook
|
||||
FROM
|
||||
ExchangeMailboxPlans
|
||||
WHERE
|
||||
ItemID = @ItemID
|
||||
ORDER BY MailboxPlan
|
||||
RETURN
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[DeleteExchangeMailboxPlan]
|
||||
(
|
||||
@MailboxPlanId int
|
||||
)
|
||||
AS
|
||||
|
||||
-- delete mailboxplan
|
||||
DELETE FROM ExchangeMailboxPlans
|
||||
WHERE MailboxPlanId = @MailboxPlanId
|
||||
|
||||
RETURN
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ALTER TABLE [dbo].[ScheduleParameters] WITH CHECK ADD CONSTRAINT [FK_ScheduleParameters_Schedule] FOREIGN KEY([ScheduleID])
|
||||
REFERENCES [dbo].[Schedule] ([ScheduleID])
|
||||
ON DELETE CASCADE
|
||||
GO
|
||||
ALTER TABLE [dbo].[ScheduleParameters] CHECK CONSTRAINT [FK_ScheduleParameters_Schedule]
|
||||
GO
|
||||
ALTER TABLE dbo.ExchangeMailboxPlans ADD CONSTRAINT
|
||||
IX_ExchangeMailboxPlans UNIQUE NONCLUSTERED
|
||||
(
|
||||
MailboxPlanId
|
||||
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
|
||||
GO
|
||||
ALTER TABLE dbo.ExchangeMailboxPlans ADD CONSTRAINT
|
||||
FK_ExchangeMailboxPlans_ExchangeOrganizations FOREIGN KEY
|
||||
(
|
||||
ItemID
|
||||
) REFERENCES dbo.ExchangeOrganizations
|
||||
(
|
||||
ItemID
|
||||
) ON UPDATE NO ACTION
|
||||
ON DELETE CASCADE
|
||||
GO
|
||||
|
||||
ALTER TABLE [dbo].[ExchangeAccounts] WITH CHECK ADD CONSTRAINT [FK_ExchangeAccounts_ExchangeMailboxPlans] FOREIGN KEY([MailboxPlanId])
|
||||
REFERENCES [dbo].[ExchangeMailboxPlans] ([MailboxPlanId])
|
||||
GO
|
||||
ALTER TABLE [dbo].[ExchangeAccounts] CHECK CONSTRAINT [FK_ExchangeAccounts_ExchangeMailboxPlans]
|
||||
GO
|
||||
ALTER TABLE [dbo].[ExchangeAccounts] WITH CHECK ADD CONSTRAINT [FK_ExchangeAccounts_ServiceItems] FOREIGN KEY([ItemID])
|
||||
REFERENCES [dbo].[ServiceItems] ([ItemID])
|
||||
ON DELETE CASCADE
|
||||
|
@ -44713,6 +45092,12 @@ ON DELETE CASCADE
|
|||
GO
|
||||
ALTER TABLE [dbo].[ExchangeOrganizations] CHECK CONSTRAINT [FK_ExchangeOrganizations_ServiceItems]
|
||||
GO
|
||||
ALTER TABLE [dbo].[ExchangeOrganizations] WITH CHECK ADD CONSTRAINT [FK_ExchangeOrganizations_ExchangeMailboxPlans] FOREIGN KEY([ItemID])
|
||||
REFERENCES [dbo].[ExchangeMailboxPlans] ([ItemID])
|
||||
ON DELETE CASCADE
|
||||
GO
|
||||
ALTER TABLE [dbo].[ExchangeOrganizations] CHECK CONSTRAINT [FK_ExchangeOrganizations_ExchangeMailboxPlans]
|
||||
GO
|
||||
ALTER TABLE [dbo].[ExchangeOrganizationDomains] WITH CHECK ADD CONSTRAINT [FK_ExchangeOrganizationDomains_ServiceItems] FOREIGN KEY([ItemID])
|
||||
REFERENCES [dbo].[ServiceItems] ([ItemID])
|
||||
ON DELETE CASCADE
|
||||
|
@ -45117,4 +45502,5 @@ ON DELETE CASCADE
|
|||
GO
|
||||
ALTER TABLE [dbo].[ServiceProperties] CHECK CONSTRAINT [FK_ServiceProperties_Services]
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -105,6 +105,11 @@ order by rg.groupOrder
|
|||
public const string EXCHANGE2007_OWAENABLED = "Exchange2007.OWAEnabled"; // OWA Enabled by default
|
||||
public const string EXCHANGE2007_MAPIENABLED = "Exchange2007.MAPIEnabled"; // MAPI Enabled by default
|
||||
public const string EXCHANGE2007_ACTIVESYNCENABLED = "Exchange2007.ActiveSyncEnabled"; // ActiveSync Enabled by default
|
||||
public const string EXCHANGE2007_KEEPDELETEDITEMSDAYS = "Exchange2007.KeepDeletedItemsDays"; // Keep deleted items
|
||||
public const string EXCHANGE2007_MAXRECIPIENTS = "Exchange2007.MaxRecipients"; // Max Recipients
|
||||
public const string EXCHANGE2007_MAXSENDMESSAGESIZEKB = "Exchange2007.MaxSendMessageSizeKB"; // Max Send Message Size
|
||||
public const string EXCHANGE2007_MAXRECEIVEMESSAGESIZEKB = "Exchange2007.MaxReceiveMessageSizeKB"; // Max Receive Message Size
|
||||
public const string EXCHANGE2007_ISCONSUMER = "Exchange2007.IsConsumer"; // Is Consumer Organization
|
||||
public const string MSSQL2000_DATABASES = "MsSQL2000.Databases"; // Databases
|
||||
public const string MSSQL2000_USERS = "MsSQL2000.Users"; // Users
|
||||
public const string MSSQL2000_MAXDATABASESIZE = "MsSQL2000.MaxDatabaseSize"; // Max Database Size
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -2065,33 +2065,36 @@ namespace WebsitePanel.EnterpriseServer
|
|||
#endregion
|
||||
|
||||
#region Exchange Server
|
||||
|
||||
|
||||
public static int AddExchangeAccount(int itemId, int accountType, string accountName,
|
||||
|
||||
public static int AddExchangeAccount(int itemId, int accountType, string accountName,
|
||||
string displayName, string primaryEmailAddress, bool mailEnabledPublicFolder,
|
||||
string mailboxManagerActions, string samAccountName, string accountPassword)
|
||||
{
|
||||
SqlParameter outParam = new SqlParameter("@AccountID", SqlDbType.Int);
|
||||
outParam.Direction = ParameterDirection.Output;
|
||||
string mailboxManagerActions, string samAccountName, string accountPassword, int mailboxPlanId, string subscriberNumber)
|
||||
{
|
||||
SqlParameter outParam = new SqlParameter("@AccountID", SqlDbType.Int);
|
||||
outParam.Direction = ParameterDirection.Output;
|
||||
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"AddExchangeAccount",
|
||||
outParam,
|
||||
new SqlParameter("@ItemID", itemId),
|
||||
new SqlParameter("@AccountType", accountType),
|
||||
new SqlParameter("@AccountName", accountName),
|
||||
new SqlParameter("@DisplayName", displayName),
|
||||
new SqlParameter("@PrimaryEmailAddress", primaryEmailAddress),
|
||||
new SqlParameter("@MailEnabledPublicFolder", mailEnabledPublicFolder),
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"AddExchangeAccount",
|
||||
outParam,
|
||||
new SqlParameter("@ItemID", itemId),
|
||||
new SqlParameter("@AccountType", accountType),
|
||||
new SqlParameter("@AccountName", accountName),
|
||||
new SqlParameter("@DisplayName", displayName),
|
||||
new SqlParameter("@PrimaryEmailAddress", primaryEmailAddress),
|
||||
new SqlParameter("@MailEnabledPublicFolder", mailEnabledPublicFolder),
|
||||
new SqlParameter("@MailboxManagerActions", mailboxManagerActions),
|
||||
new SqlParameter("@SamAccountName", samAccountName),
|
||||
new SqlParameter("@AccountPassword", accountPassword)
|
||||
);
|
||||
new SqlParameter("@AccountPassword", accountPassword),
|
||||
new SqlParameter("@MailboxPlanId", (mailboxPlanId == 0) ? (object)DBNull.Value : (object)mailboxPlanId),
|
||||
new SqlParameter("@SubscriberNumber", (string.IsNullOrEmpty(subscriberNumber) ? (object)DBNull.Value : (object)subscriberNumber))
|
||||
);
|
||||
|
||||
return Convert.ToInt32(outParam.Value);
|
||||
}
|
||||
|
||||
return Convert.ToInt32(outParam.Value);
|
||||
}
|
||||
|
||||
public static void AddExchangeAccountEmailAddress(int accountId, string emailAddress)
|
||||
{
|
||||
|
@ -2159,6 +2162,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
);
|
||||
}
|
||||
|
||||
|
||||
public static void DeleteExchangeAccountEmailAddress(int accountId, string emailAddress)
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
|
@ -2255,26 +2259,27 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return Convert.ToBoolean(outParam.Value);
|
||||
}
|
||||
|
||||
public static void UpdateExchangeAccount(int accountId, string accountName, ExchangeAccountType accountType,
|
||||
public static void UpdateExchangeAccount(int accountId, string accountName, ExchangeAccountType accountType,
|
||||
string displayName, string primaryEmailAddress, bool mailEnabledPublicFolder,
|
||||
string mailboxManagerActions, string samAccountName, string accountPassword)
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"UpdateExchangeAccount",
|
||||
new SqlParameter("@AccountID", accountId),
|
||||
new SqlParameter("@AccountName", accountName),
|
||||
new SqlParameter("@DisplayName", displayName),
|
||||
string mailboxManagerActions, string samAccountName, string accountPassword, int mailboxPlanId, string subscriberNumber)
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"UpdateExchangeAccount",
|
||||
new SqlParameter("@AccountID", accountId),
|
||||
new SqlParameter("@AccountName", accountName),
|
||||
new SqlParameter("@DisplayName", displayName),
|
||||
new SqlParameter("@AccountType", (int)accountType),
|
||||
new SqlParameter("@PrimaryEmailAddress", primaryEmailAddress),
|
||||
new SqlParameter("@MailEnabledPublicFolder", mailEnabledPublicFolder),
|
||||
new SqlParameter("@PrimaryEmailAddress", primaryEmailAddress),
|
||||
new SqlParameter("@MailEnabledPublicFolder", mailEnabledPublicFolder),
|
||||
new SqlParameter("@MailboxManagerActions", mailboxManagerActions),
|
||||
new SqlParameter("@Password", string.IsNullOrEmpty(accountPassword) ? (object)DBNull.Value : (object)accountPassword),
|
||||
new SqlParameter("@SamAccountName", samAccountName)
|
||||
|
||||
);
|
||||
}
|
||||
new SqlParameter("@SamAccountName", samAccountName),
|
||||
new SqlParameter("@MailboxPlanId", (mailboxPlanId == 0) ? (object)DBNull.Value : (object)mailboxPlanId),
|
||||
new SqlParameter("@SubscriberNumber", (string.IsNullOrEmpty(subscriberNumber) ? (object)DBNull.Value : (object)subscriberNumber))
|
||||
);
|
||||
}
|
||||
|
||||
public static IDataReader GetExchangeAccount(int itemId, int accountId)
|
||||
{
|
||||
|
@ -2287,6 +2292,17 @@ namespace WebsitePanel.EnterpriseServer
|
|||
);
|
||||
}
|
||||
|
||||
public static IDataReader GetExchangeAccountByAccountName(int itemId, string accountName)
|
||||
{
|
||||
return SqlHelper.ExecuteReader(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"GetExchangeAccountByAccountName",
|
||||
new SqlParameter("@ItemID", itemId),
|
||||
new SqlParameter("@AccountName", accountName)
|
||||
);
|
||||
}
|
||||
|
||||
public static IDataReader GetExchangeAccountEmailAddresses(int accountId)
|
||||
{
|
||||
return SqlHelper.ExecuteReader(
|
||||
|
@ -2398,6 +2414,97 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
#endregion
|
||||
|
||||
#region Exchange Mailbox Plans
|
||||
public static int AddExchangeMailboxPlan(int itemID, string mailboxPlan, bool enableActiveSync, bool enableIMAP, bool enableMAPI, bool enableOWA, bool enablePOP,
|
||||
bool isDefault, int issueWarningPct, int keepDeletedItemsDays, int mailboxSizeMB, int maxReceiveMessageSizeKB, int maxRecipients,
|
||||
int maxSendMessageSizeKB, int prohibitSendPct, int prohibitSendReceivePct, bool hideFromAddressBook)
|
||||
{
|
||||
SqlParameter outParam = new SqlParameter("@MailboxPlanId", SqlDbType.Int);
|
||||
outParam.Direction = ParameterDirection.Output;
|
||||
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"AddExchangeMailboxPlan",
|
||||
outParam,
|
||||
new SqlParameter("@ItemID", itemID),
|
||||
new SqlParameter("@MailboxPlan", mailboxPlan),
|
||||
new SqlParameter("@EnableActiveSync", enableActiveSync),
|
||||
new SqlParameter("@EnableIMAP", enableIMAP),
|
||||
new SqlParameter("@EnableMAPI", enableMAPI),
|
||||
new SqlParameter("@EnableOWA", enableOWA),
|
||||
new SqlParameter("@EnablePOP", enablePOP),
|
||||
new SqlParameter("@IsDefault", isDefault),
|
||||
new SqlParameter("@IssueWarningPct", issueWarningPct),
|
||||
new SqlParameter("@KeepDeletedItemsDays", keepDeletedItemsDays),
|
||||
new SqlParameter("@MailboxSizeMB", mailboxSizeMB),
|
||||
new SqlParameter("@MaxReceiveMessageSizeKB", maxReceiveMessageSizeKB),
|
||||
new SqlParameter("@MaxRecipients", maxRecipients),
|
||||
new SqlParameter("@MaxSendMessageSizeKB", maxSendMessageSizeKB),
|
||||
new SqlParameter("@ProhibitSendPct", prohibitSendPct),
|
||||
new SqlParameter("@ProhibitSendReceivePct", prohibitSendReceivePct),
|
||||
new SqlParameter("@HideFromAddressBook", hideFromAddressBook)
|
||||
);
|
||||
|
||||
return Convert.ToInt32(outParam.Value);
|
||||
}
|
||||
|
||||
|
||||
public static void DeleteExchangeMailboxPlan(int mailboxPlanId)
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"DeleteExchangeMailboxPlan",
|
||||
new SqlParameter("@MailboxPlanId", mailboxPlanId)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
public static IDataReader GetExchangeMailboxPlan(int mailboxPlanId)
|
||||
{
|
||||
return SqlHelper.ExecuteReader(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"GetExchangeMailboxPlan",
|
||||
new SqlParameter("@MailboxPlanId", mailboxPlanId)
|
||||
);
|
||||
}
|
||||
|
||||
public static IDataReader GetExchangeMailboxPlans(int itemId)
|
||||
{
|
||||
return SqlHelper.ExecuteReader(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"GetExchangeMailboxPlans",
|
||||
new SqlParameter("@ItemID", itemId)
|
||||
);
|
||||
}
|
||||
|
||||
public static void SetOrganizationDefaultExchangeMailboxPlan(int itemId, int mailboxPlanId)
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"SetOrganizationDefaultExchangeMailboxPlan",
|
||||
new SqlParameter("@ItemID", itemId),
|
||||
new SqlParameter("@MailboxPlanId", mailboxPlanId)
|
||||
);
|
||||
}
|
||||
|
||||
public static void SetExchangeAccountMailboxPlan(int accountId, int mailboxPlanId)
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
ConnectionString,
|
||||
CommandType.StoredProcedure,
|
||||
"SetExchangeAccountMailboxplan",
|
||||
new SqlParameter("@AccountID", accountId),
|
||||
new SqlParameter("@MailboxPlanId", (mailboxPlanId == 0) ? (object)DBNull.Value : (object)mailboxPlanId)
|
||||
);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Organizations
|
||||
|
||||
public static void DeleteOrganizationUser(int itemId)
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -633,7 +633,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
|
||||
|
||||
private static Organizations GetOrganizationProxy(int serviceId)
|
||||
public static Organizations GetOrganizationProxy(int serviceId)
|
||||
{
|
||||
Organizations ws = new Organizations();
|
||||
ServiceProviderProxy.Init(ws, serviceId);
|
||||
|
@ -710,9 +710,6 @@ namespace WebsitePanel.EnterpriseServer
|
|||
org.Id = 1;
|
||||
org.OrganizationId = "fabrikam";
|
||||
org.Name = "Fabrikam Inc";
|
||||
org.IssueWarningKB = 150000;
|
||||
org.ProhibitSendKB = 170000;
|
||||
org.ProhibitSendReceiveKB = 190000;
|
||||
org.KeepDeletedItemsDays = 14;
|
||||
org.GlobalAddressList = "FabrikamGAL";
|
||||
return org;
|
||||
|
@ -980,8 +977,17 @@ namespace WebsitePanel.EnterpriseServer
|
|||
OrganizationUsersPaged result = new OrganizationUsersPaged();
|
||||
result.RecordsCount = (int)ds.Tables[0].Rows[0][0];
|
||||
|
||||
List<OrganizationUser> Tmpaccounts = new List<OrganizationUser>();
|
||||
ObjectUtils.FillCollectionFromDataView(Tmpaccounts, ds.Tables[1].DefaultView);
|
||||
result.PageUsers = Tmpaccounts.ToArray();
|
||||
|
||||
List<OrganizationUser> accounts = new List<OrganizationUser>();
|
||||
ObjectUtils.FillCollectionFromDataView(accounts, ds.Tables[1].DefaultView);
|
||||
|
||||
foreach (OrganizationUser user in Tmpaccounts.ToArray())
|
||||
{
|
||||
accounts.Add(GetUserGeneralSettings(itemId, user.AccountId));
|
||||
}
|
||||
|
||||
result.PageUsers = accounts.ToArray();
|
||||
return result;
|
||||
}
|
||||
|
@ -993,22 +999,23 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return DataProvider.ExchangeAccountEmailAddressExists(emailAddress);
|
||||
}
|
||||
|
||||
|
||||
private static int AddOrganizationUser(int itemId, string accountName, string displayName, string email, string accountPassword)
|
||||
{
|
||||
|
||||
private static int AddOrganizationUser(int itemId, string accountName, string displayName, string email, string sAMAccountName, string accountPassword, string subscriberNumber)
|
||||
{
|
||||
return DataProvider.AddExchangeAccount(itemId, (int)ExchangeAccountType.User, accountName, displayName, email, false, string.Empty,
|
||||
string.Empty, CryptoUtils.Encrypt(accountPassword));
|
||||
|
||||
}
|
||||
sAMAccountName, CryptoUtils.Encrypt(accountPassword), 0, subscriberNumber.Trim());
|
||||
|
||||
}
|
||||
|
||||
public static string GetAccountName(string loginName)
|
||||
{
|
||||
string []parts = loginName.Split('@');
|
||||
return parts != null && parts.Length > 1 ? parts[0] : loginName;
|
||||
//string []parts = loginName.Split('@');
|
||||
//return parts != null && parts.Length > 1 ? parts[0] : loginName;
|
||||
return loginName;
|
||||
|
||||
}
|
||||
|
||||
public static int CreateUser(int itemId, string displayName, string name, string domain, string password, bool enabled, bool sendNotification, string to, out string accountName)
|
||||
public static int CreateUser(int itemId, string displayName, string name, string domain, string password, string subscriberNumber, bool enabled, bool sendNotification, string to, out string accountName)
|
||||
{
|
||||
if (string.IsNullOrEmpty(displayName))
|
||||
throw new ArgumentNullException("displayName");
|
||||
|
@ -1023,55 +1030,171 @@ namespace WebsitePanel.EnterpriseServer
|
|||
throw new ArgumentNullException("password");
|
||||
|
||||
accountName = string.Empty;
|
||||
|
||||
|
||||
// check account
|
||||
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive);
|
||||
if (accountCheck < 0) return accountCheck;
|
||||
|
||||
|
||||
|
||||
// place log record
|
||||
TaskManager.StartTask("ORGANIZATION", "CREATE_USER");
|
||||
TaskManager.ItemId = itemId;
|
||||
TaskManager.Write("Organization ID :" + itemId);
|
||||
TaskManager.Write("name :" + name);
|
||||
TaskManager.Write("domain :" + domain);
|
||||
TaskManager.Write("subscriberNumber :" + subscriberNumber);
|
||||
|
||||
// e-mail
|
||||
string email = name + "@" + domain;
|
||||
int userId = -1;
|
||||
|
||||
if (EmailAddressExists(email))
|
||||
return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS;
|
||||
|
||||
// load organization
|
||||
Organization org = GetOrganization(itemId);
|
||||
if (org == null)
|
||||
return -1;
|
||||
|
||||
// check package
|
||||
int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive);
|
||||
if (packageCheck < 0) return packageCheck;
|
||||
|
||||
int errorCode;
|
||||
if (!CheckUserQuota(org.Id, out errorCode))
|
||||
return errorCode;
|
||||
|
||||
|
||||
Organizations orgProxy = GetOrganizationProxy(org.ServiceId);
|
||||
|
||||
string upn = string.Format("{0}@{1}", name, domain);
|
||||
accountName = BuildAccountName(org.OrganizationId, name);
|
||||
orgProxy.CreateUser(org.OrganizationId, accountName, displayName, upn, password, enabled);
|
||||
|
||||
int userId = AddOrganizationUser(itemId, accountName, displayName, email, password);
|
||||
|
||||
// register email address
|
||||
AddAccountEmailAddress(userId, email);
|
||||
|
||||
if (sendNotification)
|
||||
try
|
||||
{
|
||||
SendSummaryLetter(org.Id, userId, true, to, "");
|
||||
displayName = displayName.Trim();
|
||||
name = name.Trim();
|
||||
domain = domain.Trim();
|
||||
|
||||
// e-mail
|
||||
string email = name + "@" + domain;
|
||||
|
||||
if (EmailAddressExists(email))
|
||||
return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS;
|
||||
|
||||
// load organization
|
||||
Organization org = GetOrganization(itemId);
|
||||
if (org == null)
|
||||
return -1;
|
||||
|
||||
// check package
|
||||
int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive);
|
||||
if (packageCheck < 0) return packageCheck;
|
||||
|
||||
int errorCode;
|
||||
if (!CheckUserQuota(org.Id, out errorCode))
|
||||
return errorCode;
|
||||
|
||||
|
||||
Organizations orgProxy = GetOrganizationProxy(org.ServiceId);
|
||||
|
||||
string upn = string.Format("{0}@{1}", name, domain);
|
||||
string sAMAccountName = BuildAccountName(org.OrganizationId, name);
|
||||
|
||||
TaskManager.Write("accountName :" + sAMAccountName);
|
||||
TaskManager.Write("upn :" + upn);
|
||||
|
||||
if (orgProxy.CreateUser(org.OrganizationId, sAMAccountName, displayName, upn, password, enabled) == 0)
|
||||
{
|
||||
OrganizationUser retUser = orgProxy.GetUserGeneralSettings(upn, org.OrganizationId);
|
||||
TaskManager.Write("sAMAccountName :" + retUser.DomainUserName);
|
||||
|
||||
userId = AddOrganizationUser(itemId, upn, displayName, email, retUser.DomainUserName, password, subscriberNumber);
|
||||
accountName = upn;
|
||||
|
||||
// register email address
|
||||
AddAccountEmailAddress(userId, email);
|
||||
|
||||
if (sendNotification)
|
||||
{
|
||||
SendSummaryLetter(org.Id, userId, true, to, "");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
TaskManager.WriteError("Failed to create user");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
TaskManager.WriteError(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
TaskManager.CompleteTask();
|
||||
}
|
||||
|
||||
return userId;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static int ImportUser(int itemId, string accountName, string displayName, string name, string domain, string password, string subscriberNumber)
|
||||
{
|
||||
if (string.IsNullOrEmpty(accountName))
|
||||
throw new ArgumentNullException("accountName");
|
||||
|
||||
if (string.IsNullOrEmpty(displayName))
|
||||
throw new ArgumentNullException("displayName");
|
||||
|
||||
if (string.IsNullOrEmpty(name))
|
||||
throw new ArgumentNullException("name");
|
||||
|
||||
if (string.IsNullOrEmpty(domain))
|
||||
throw new ArgumentNullException("domain");
|
||||
|
||||
if (string.IsNullOrEmpty(password))
|
||||
throw new ArgumentNullException("password");
|
||||
|
||||
|
||||
// place log record
|
||||
TaskManager.StartTask("ORGANIZATION", "IMPORT_USER");
|
||||
TaskManager.ItemId = itemId;
|
||||
TaskManager.Write("Organization ID :" + itemId);
|
||||
TaskManager.Write("account :" + accountName);
|
||||
TaskManager.Write("name :" + name);
|
||||
TaskManager.Write("domain :" + domain);
|
||||
|
||||
int userId = -1;
|
||||
|
||||
try
|
||||
{
|
||||
accountName = accountName.Trim();
|
||||
displayName = displayName.Trim();
|
||||
name = name.Trim();
|
||||
domain = domain.Trim();
|
||||
|
||||
// e-mail
|
||||
string email = name + "@" + domain;
|
||||
|
||||
if (EmailAddressExists(email))
|
||||
return BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS;
|
||||
|
||||
// load organization
|
||||
Organization org = GetOrganization(itemId);
|
||||
if (org == null)
|
||||
return -1;
|
||||
|
||||
// check package
|
||||
int packageCheck = SecurityContext.CheckPackage(org.PackageId, DemandPackage.IsActive);
|
||||
if (packageCheck < 0) return packageCheck;
|
||||
|
||||
int errorCode;
|
||||
if (!CheckUserQuota(org.Id, out errorCode))
|
||||
return errorCode;
|
||||
|
||||
Organizations orgProxy = GetOrganizationProxy(org.ServiceId);
|
||||
|
||||
string upn = string.Format("{0}@{1}", name, domain);
|
||||
TaskManager.Write("upn :" + upn);
|
||||
|
||||
OrganizationUser retUser = orgProxy.GetUserGeneralSettings(accountName, org.OrganizationId);
|
||||
|
||||
TaskManager.Write("sAMAccountName :" + retUser.DomainUserName);
|
||||
|
||||
userId = AddOrganizationUser(itemId, accountName, displayName, email, retUser.DomainUserName, password, subscriberNumber);
|
||||
|
||||
AddAccountEmailAddress(userId, email);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
TaskManager.WriteError(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
TaskManager.CompleteTask();
|
||||
}
|
||||
|
||||
return userId;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static void AddAccountEmailAddress(int accountId, string emailAddress)
|
||||
{
|
||||
|
@ -1080,28 +1203,40 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
private static string BuildAccountName(string orgId, string name)
|
||||
{
|
||||
int maxLen = 19 - orgId.Length;
|
||||
|
||||
// try to choose name
|
||||
int i = 0;
|
||||
while (true)
|
||||
string accountName = name = name.Replace(" ", "");
|
||||
string CounterStr = "00000";
|
||||
int counter = 0;
|
||||
bool bFound = false;
|
||||
do
|
||||
{
|
||||
string num = i > 0 ? i.ToString() : "";
|
||||
int len = maxLen - num.Length;
|
||||
accountName = genSamLogin(name, CounterStr);
|
||||
|
||||
if (name.Length > len)
|
||||
name = name.Substring(0, len);
|
||||
if (!AccountExists(accountName)) bFound = true;
|
||||
|
||||
string accountName = name + num + "_" + orgId;
|
||||
|
||||
// check if already exists
|
||||
if (!AccountExists(accountName))
|
||||
return accountName;
|
||||
|
||||
i++;
|
||||
CounterStr = counter.ToString("d5");
|
||||
counter++;
|
||||
}
|
||||
while (!bFound);
|
||||
|
||||
return accountName;
|
||||
}
|
||||
|
||||
private static string genSamLogin(string login, string strCounter)
|
||||
{
|
||||
int maxLogin = 20;
|
||||
int fullLen = login.Length + strCounter.Length;
|
||||
if (fullLen <= maxLogin)
|
||||
return login + strCounter;
|
||||
else
|
||||
{
|
||||
if (login.Length - (fullLen - maxLogin) > 0)
|
||||
return login.Substring(0, login.Length - (fullLen - maxLogin)) + strCounter;
|
||||
else return strCounter; // ????
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static bool AccountExists(string accountName)
|
||||
{
|
||||
return DataProvider.ExchangeAccountExists(accountName);
|
||||
|
@ -1180,6 +1315,18 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return account;
|
||||
}
|
||||
|
||||
public static OrganizationUser GetAccountByAccountName(int itemId, string AccountName)
|
||||
{
|
||||
OrganizationUser account = ObjectUtils.FillObjectFromDataReader<OrganizationUser>(
|
||||
DataProvider.GetExchangeAccountByAccountName(itemId, AccountName));
|
||||
|
||||
if (account == null)
|
||||
return null;
|
||||
|
||||
return account;
|
||||
}
|
||||
|
||||
|
||||
private static void DeleteUserFromMetabase(int itemId, int accountId)
|
||||
{
|
||||
// try to get organization
|
||||
|
@ -1217,11 +1364,16 @@ namespace WebsitePanel.EnterpriseServer
|
|||
string accountName = GetAccountName(account.AccountName);
|
||||
|
||||
|
||||
OrganizationUser retUser = orgProxy.GeUserGeneralSettings(accountName, org.OrganizationId);
|
||||
OrganizationUser retUser = orgProxy.GetUserGeneralSettings(accountName, org.OrganizationId);
|
||||
retUser.AccountId = accountId;
|
||||
retUser.AccountName = account.AccountName;
|
||||
retUser.PrimaryEmailAddress = account.PrimaryEmailAddress;
|
||||
retUser.AccountType = account.AccountType;
|
||||
retUser.CrmUserId = CRMController.GetCrmUserId(accountId);
|
||||
retUser.IsOCSUser = DataProvider.CheckOCSUserExists(accountId);
|
||||
//retUser.IsLyncUser = DataProvider.CheckLyncUserExists(accountId);
|
||||
retUser.IsBlackBerryUser = BlackBerryController.CheckBlackBerryUserExists(accountId);
|
||||
retUser.SubscriberNumber = account.SubscriberNumber;
|
||||
|
||||
return retUser;
|
||||
}
|
||||
|
@ -1240,7 +1392,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
string lastName, string address, string city, string state, string zip, string country,
|
||||
string jobTitle, string company, string department, string office, string managerAccountName,
|
||||
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
|
||||
string webPage, string notes, string externalEmail)
|
||||
string webPage, string notes, string externalEmail, string subscriberNumber)
|
||||
{
|
||||
|
||||
// check account
|
||||
|
@ -1253,6 +1405,10 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
try
|
||||
{
|
||||
displayName = displayName.Trim();
|
||||
firstName = firstName.Trim();
|
||||
lastName = lastName.Trim();
|
||||
|
||||
// load organization
|
||||
Organization org = GetOrganization(itemId);
|
||||
if (org == null)
|
||||
|
@ -1303,6 +1459,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
|
||||
// update account
|
||||
account.DisplayName = displayName;
|
||||
account.SubscriberNumber = subscriberNumber;
|
||||
|
||||
//account.
|
||||
if (!String.IsNullOrEmpty(password))
|
||||
|
@ -1329,7 +1486,8 @@ namespace WebsitePanel.EnterpriseServer
|
|||
{
|
||||
DataProvider.UpdateExchangeAccount(account.AccountId, account.AccountName, account.AccountType, account.DisplayName,
|
||||
account.PrimaryEmailAddress, account.MailEnabledPublicFolder,
|
||||
account.MailboxManagerActions.ToString(), account.SamAccountName, account.AccountPassword);
|
||||
account.MailboxManagerActions.ToString(), account.SamAccountName, account.AccountPassword, account.MailboxPlanId,
|
||||
(string.IsNullOrEmpty(account.SubscriberNumber) ? null : account.SubscriberNumber.Trim()));
|
||||
}
|
||||
|
||||
|
||||
|
@ -1377,11 +1535,58 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
#endregion
|
||||
|
||||
return ObjectUtils.CreateListFromDataReader<OrganizationUser>(
|
||||
DataProvider.SearchOrganizationAccounts(SecurityContext.User.UserId, itemId,
|
||||
filterColumn, filterValue, sortColumn, includeMailboxes));
|
||||
List<OrganizationUser> Tmpaccounts = ObjectUtils.CreateListFromDataReader<OrganizationUser>(
|
||||
DataProvider.SearchOrganizationAccounts(SecurityContext.User.UserId, itemId,
|
||||
filterColumn, filterValue, sortColumn, includeMailboxes));
|
||||
|
||||
List<OrganizationUser> Accounts = new List<OrganizationUser>();
|
||||
|
||||
foreach (OrganizationUser user in Tmpaccounts.ToArray())
|
||||
{
|
||||
Accounts.Add(GetUserGeneralSettings(itemId, user.AccountId));
|
||||
}
|
||||
|
||||
return Accounts;
|
||||
}
|
||||
|
||||
public static int GetAccountIdByUserPrincipalName(int itemId, string userPrincipalName)
|
||||
{
|
||||
// place log record
|
||||
TaskManager.StartTask("ORGANIZATION", "GET_ACCOUNT_BYUPN");
|
||||
TaskManager.ItemId = itemId;
|
||||
|
||||
int accounId = -1;
|
||||
|
||||
try
|
||||
{
|
||||
// load organization
|
||||
Organization org = GetOrganization(itemId);
|
||||
if (org == null)
|
||||
return 0;
|
||||
|
||||
// get samaccountName
|
||||
//Organizations orgProxy = GetOrganizationProxy(org.ServiceId);
|
||||
//string accountName = orgProxy.GetSamAccountNameByUserPrincipalName(org.OrganizationId, userPrincipalName);
|
||||
|
||||
// load account
|
||||
OrganizationUser account = GetAccountByAccountName(itemId, userPrincipalName);
|
||||
|
||||
if (account != null)
|
||||
accounId = account.AccountId;
|
||||
|
||||
return accounId;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw TaskManager.WriteError(ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
TaskManager.CompleteTask();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public static List<OrganizationDomainName> GetOrganizationDomains(int itemId)
|
||||
|
|
|
@ -46,80 +46,81 @@ namespace WebsitePanel.EnterpriseServer
|
|||
[ToolboxItem(false)]
|
||||
public class esExchangeServer : WebService
|
||||
{
|
||||
#region Organizations
|
||||
[WebMethod]
|
||||
public DataSet GetRawExchangeOrganizationsPaged(int packageId, bool recursive,
|
||||
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows)
|
||||
{
|
||||
return ExchangeServerController.GetRawExchangeOrganizationsPaged(packageId, recursive,
|
||||
filterColumn, filterValue, sortColumn, startRow, maximumRows);
|
||||
}
|
||||
#region Organizations
|
||||
[WebMethod]
|
||||
public DataSet GetRawExchangeOrganizationsPaged(int packageId, bool recursive,
|
||||
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows)
|
||||
{
|
||||
return ExchangeServerController.GetRawExchangeOrganizationsPaged(packageId, recursive,
|
||||
filterColumn, filterValue, sortColumn, startRow, maximumRows);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public OrganizationsPaged GetExchangeOrganizationsPaged(int packageId, bool recursive,
|
||||
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows)
|
||||
{
|
||||
return ExchangeServerController.GetExchangeOrganizationsPaged(packageId, recursive,
|
||||
filterColumn, filterValue, sortColumn, startRow, maximumRows);
|
||||
}
|
||||
[WebMethod]
|
||||
public OrganizationsPaged GetExchangeOrganizationsPaged(int packageId, bool recursive,
|
||||
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows)
|
||||
{
|
||||
return ExchangeServerController.GetExchangeOrganizationsPaged(packageId, recursive,
|
||||
filterColumn, filterValue, sortColumn, startRow, maximumRows);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public List<Organization> GetExchangeOrganizations(int packageId, bool recursive)
|
||||
{
|
||||
return ExchangeServerController.GetExchangeOrganizations(packageId, recursive);
|
||||
}
|
||||
[WebMethod]
|
||||
public List<Organization> GetExchangeOrganizations(int packageId, bool recursive)
|
||||
{
|
||||
return ExchangeServerController.GetExchangeOrganizations(packageId, recursive);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public Organization GetOrganization(int itemId)
|
||||
{
|
||||
return ExchangeServerController.GetOrganization(itemId);
|
||||
}
|
||||
[WebMethod]
|
||||
public Organization GetOrganization(int itemId)
|
||||
{
|
||||
return ExchangeServerController.GetOrganization(itemId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public OrganizationStatistics GetOrganizationStatistics(int itemId)
|
||||
{
|
||||
return ExchangeServerController.GetOrganizationStatistics(itemId);
|
||||
}
|
||||
[WebMethod]
|
||||
public OrganizationStatistics GetOrganizationStatistics(int itemId)
|
||||
{
|
||||
return ExchangeServerController.GetOrganizationStatistics(itemId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public int DeleteOrganization(int itemId)
|
||||
{
|
||||
return ExchangeServerController.DeleteOrganization(itemId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public Organization GetOrganizationStorageLimits(int itemId)
|
||||
{
|
||||
return ExchangeServerController.GetOrganizationStorageLimits(itemId);
|
||||
}
|
||||
[WebMethod]
|
||||
public int DeleteOrganization(int itemId)
|
||||
{
|
||||
return ExchangeServerController.DeleteOrganization(itemId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SetOrganizationStorageLimits(int itemId, int issueWarningKB, int prohibitSendKB,
|
||||
int prohibitSendReceiveKB, int keepDeletedItemsDays, bool applyToMailboxes)
|
||||
{
|
||||
return ExchangeServerController.SetOrganizationStorageLimits(itemId, issueWarningKB, prohibitSendKB,
|
||||
prohibitSendReceiveKB, keepDeletedItemsDays, applyToMailboxes);
|
||||
}
|
||||
[WebMethod]
|
||||
public Organization GetOrganizationStorageLimits(int itemId)
|
||||
{
|
||||
return ExchangeServerController.GetOrganizationStorageLimits(itemId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeItemStatistics[] GetMailboxesStatistics(int itemId)
|
||||
{
|
||||
return ExchangeServerController.GetMailboxesStatistics(itemId);
|
||||
}
|
||||
[WebMethod]
|
||||
public int SetOrganizationStorageLimits(int itemId, int issueWarningKB, int prohibitSendKB,
|
||||
int prohibitSendReceiveKB, int keepDeletedItemsDays, bool applyToMailboxes)
|
||||
{
|
||||
return ExchangeServerController.SetOrganizationStorageLimits(itemId, issueWarningKB, prohibitSendKB,
|
||||
prohibitSendReceiveKB, keepDeletedItemsDays, applyToMailboxes);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeItemStatistics[] GetPublicFoldersStatistics(int itemId)
|
||||
{
|
||||
return ExchangeServerController.GetPublicFoldersStatistics(itemId);
|
||||
}
|
||||
[WebMethod]
|
||||
public ExchangeItemStatistics[] GetMailboxesStatistics(int itemId)
|
||||
{
|
||||
return ExchangeServerController.GetMailboxesStatistics(itemId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int CalculateOrganizationDiskspace(int itemId)
|
||||
{
|
||||
return ExchangeServerController.CalculateOrganizationDiskspace(itemId);
|
||||
}
|
||||
[WebMethod]
|
||||
public ExchangeMailboxStatistics GetMailboxStatistics(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetMailboxStatistics(itemId, accountId);
|
||||
}
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public int CalculateOrganizationDiskspace(int itemId)
|
||||
{
|
||||
return ExchangeServerController.CalculateOrganizationDiskspace(itemId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeActiveSyncPolicy GetActiveSyncPolicy(int itemId)
|
||||
|
@ -139,14 +140,14 @@ namespace WebsitePanel.EnterpriseServer
|
|||
passwordRecoveryEnabled, deviceEncryptionEnabled, allowSimplePassword, maxPasswordFailedAttempts,
|
||||
minPasswordLength, inactivityLockMin, passwordExpirationDays, passwordHistory, refreshInteval);
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Domains
|
||||
[WebMethod]
|
||||
#region Domains
|
||||
[WebMethod]
|
||||
public int AddAuthoritativeDomain(int itemId, int domainId)
|
||||
{
|
||||
{
|
||||
return ExchangeServerController.AddAuthoritativeDomain(itemId, domainId);
|
||||
}
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int DeleteAuthoritativeDomain(int itemId, int domainId)
|
||||
|
@ -155,42 +156,42 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Accounts
|
||||
[WebMethod]
|
||||
public ExchangeAccountsPaged GetAccountsPaged(int itemId, string accountTypes,
|
||||
string filterColumn, string filterValue, string sortColumn,
|
||||
int startRow, int maximumRows)
|
||||
{
|
||||
#region Accounts
|
||||
[WebMethod]
|
||||
public ExchangeAccountsPaged GetAccountsPaged(int itemId, string accountTypes,
|
||||
string filterColumn, string filterValue, string sortColumn,
|
||||
int startRow, int maximumRows)
|
||||
{
|
||||
return ExchangeServerController.GetAccountsPaged(itemId, accountTypes,
|
||||
filterColumn, filterValue, sortColumn,
|
||||
startRow, maximumRows);
|
||||
}
|
||||
filterColumn, filterValue, sortColumn,
|
||||
startRow, maximumRows);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public List<ExchangeAccount> GetAccounts(int itemId, ExchangeAccountType accountType)
|
||||
{
|
||||
return ExchangeServerController.GetAccounts(itemId, accountType);
|
||||
}
|
||||
[WebMethod]
|
||||
public List<ExchangeAccount> GetAccounts(int itemId, ExchangeAccountType accountType)
|
||||
{
|
||||
return ExchangeServerController.GetAccounts(itemId, accountType);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public List<ExchangeAccount> SearchAccounts(int itemId,
|
||||
bool includeMailboxes, bool includeContacts, bool includeDistributionLists,
|
||||
[WebMethod]
|
||||
public List<ExchangeAccount> SearchAccounts(int itemId,
|
||||
bool includeMailboxes, bool includeContacts, bool includeDistributionLists,
|
||||
bool includeRooms, bool includeEquipment,
|
||||
string filterColumn, string filterValue, string sortColumn)
|
||||
{
|
||||
return ExchangeServerController.SearchAccounts(itemId,
|
||||
includeMailboxes, includeContacts, includeDistributionLists,
|
||||
string filterColumn, string filterValue, string sortColumn)
|
||||
{
|
||||
return ExchangeServerController.SearchAccounts(itemId,
|
||||
includeMailboxes, includeContacts, includeDistributionLists,
|
||||
includeRooms, includeEquipment,
|
||||
filterColumn, filterValue, sortColumn);
|
||||
}
|
||||
filterColumn, filterValue, sortColumn);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeAccount GetAccount(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetAccount(itemId, accountId);
|
||||
}
|
||||
[WebMethod]
|
||||
public ExchangeAccount GetAccount(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetAccount(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeAccount SearchAccount(ExchangeAccountType accountType, string primaryEmailAddress)
|
||||
|
@ -204,21 +205,21 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return ExchangeServerController.CheckAccountCredentials(itemId, email, password);
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region Mailboxes
|
||||
[WebMethod]
|
||||
public int CreateMailbox(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName,
|
||||
string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress)
|
||||
{
|
||||
return ExchangeServerController.CreateMailbox(itemId, accountId, accountType, accountName, displayName, name, domain, password, sendSetupInstructions, setupInstructionMailAddress);
|
||||
}
|
||||
#region Mailboxes
|
||||
[WebMethod]
|
||||
public int CreateMailbox(int itemId, int accountId, ExchangeAccountType accountType, string accountName, string displayName,
|
||||
string name, string domain, string password, bool sendSetupInstructions, string setupInstructionMailAddress, int mailboxPlanId, string subscriberNumber)
|
||||
{
|
||||
return ExchangeServerController.CreateMailbox(itemId, accountId, accountType, accountName, displayName, name, domain, password, sendSetupInstructions, setupInstructionMailAddress, mailboxPlanId, subscriberNumber);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int DeleteMailbox(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.DeleteMailbox(itemId, accountId);
|
||||
}
|
||||
[WebMethod]
|
||||
public int DeleteMailbox(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.DeleteMailbox(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int DisableMailbox(int itemId, int accountId)
|
||||
|
@ -227,87 +228,66 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeMailbox GetMailboxGeneralSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetMailboxGeneralSettings(itemId, accountId);
|
||||
}
|
||||
[WebMethod]
|
||||
public ExchangeMailbox GetMailboxGeneralSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetMailboxGeneralSettings(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SetMailboxGeneralSettings(int itemId, int accountId, string displayName,
|
||||
string password, bool hideAddressBook, bool disabled, string firstName, string initials,
|
||||
string lastName, string address, string city, string state, string zip, string country,
|
||||
string jobTitle, string company, string department, string office, string managerAccountName,
|
||||
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
|
||||
string webPage, string notes)
|
||||
{
|
||||
return ExchangeServerController.SetMailboxGeneralSettings(itemId, accountId, displayName,
|
||||
password, hideAddressBook, disabled, firstName, initials,
|
||||
lastName, address, city, state, zip, country,
|
||||
jobTitle, company, department, office, managerAccountName,
|
||||
businessPhone, fax, homePhone, mobilePhone, pager,
|
||||
webPage, notes);
|
||||
}
|
||||
[WebMethod]
|
||||
public int SetMailboxGeneralSettings(int itemId, int accountId, bool hideAddressBook, bool disabled)
|
||||
{
|
||||
return ExchangeServerController.SetMailboxGeneralSettings(itemId, accountId, hideAddressBook, disabled);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeEmailAddress[] GetMailboxEmailAddresses(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetMailboxEmailAddresses(itemId, accountId);
|
||||
}
|
||||
[WebMethod]
|
||||
public ExchangeEmailAddress[] GetMailboxEmailAddresses(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetMailboxEmailAddresses(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int AddMailboxEmailAddress(int itemId, int accountId, string emailAddress)
|
||||
{
|
||||
return ExchangeServerController.AddMailboxEmailAddress(itemId, accountId, emailAddress);
|
||||
}
|
||||
[WebMethod]
|
||||
public int AddMailboxEmailAddress(int itemId, int accountId, string emailAddress)
|
||||
{
|
||||
return ExchangeServerController.AddMailboxEmailAddress(itemId, accountId, emailAddress);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SetMailboxPrimaryEmailAddress(int itemId, int accountId, string emailAddress)
|
||||
{
|
||||
return ExchangeServerController.SetMailboxPrimaryEmailAddress(itemId, accountId, emailAddress);
|
||||
}
|
||||
[WebMethod]
|
||||
public int SetMailboxPrimaryEmailAddress(int itemId, int accountId, string emailAddress)
|
||||
{
|
||||
return ExchangeServerController.SetMailboxPrimaryEmailAddress(itemId, accountId, emailAddress);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int DeleteMailboxEmailAddresses(int itemId, int accountId, string[] emailAddresses)
|
||||
{
|
||||
return ExchangeServerController.DeleteMailboxEmailAddresses(itemId, accountId, emailAddresses);
|
||||
}
|
||||
[WebMethod]
|
||||
public int DeleteMailboxEmailAddresses(int itemId, int accountId, string[] emailAddresses)
|
||||
{
|
||||
return ExchangeServerController.DeleteMailboxEmailAddresses(itemId, accountId, emailAddresses);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeMailbox GetMailboxMailFlowSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetMailboxMailFlowSettings(itemId, accountId);
|
||||
}
|
||||
[WebMethod]
|
||||
public ExchangeMailbox GetMailboxMailFlowSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetMailboxMailFlowSettings(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SetMailboxMailFlowSettings(int itemId, int accountId,
|
||||
bool enableForwarding, string forwardingAccountName, bool forwardToBoth,
|
||||
string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts,
|
||||
int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB,
|
||||
[WebMethod]
|
||||
public int SetMailboxMailFlowSettings(int itemId, int accountId,
|
||||
bool enableForwarding, string forwardingAccountName, bool forwardToBoth,
|
||||
string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts,
|
||||
bool requireSenderAuthentication)
|
||||
{
|
||||
return ExchangeServerController.SetMailboxMailFlowSettings(itemId, accountId,
|
||||
enableForwarding, forwardingAccountName, forwardToBoth,
|
||||
sendOnBehalfAccounts, acceptAccounts, rejectAccounts,
|
||||
maxRecipients, maxSendMessageSizeKB, maxReceiveMessageSizeKB,
|
||||
requireSenderAuthentication);
|
||||
}
|
||||
{
|
||||
return ExchangeServerController.SetMailboxMailFlowSettings(itemId, accountId,
|
||||
enableForwarding, forwardingAccountName, forwardToBoth,
|
||||
sendOnBehalfAccounts, acceptAccounts, rejectAccounts,
|
||||
requireSenderAuthentication);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeMailbox GetMailboxAdvancedSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetMailboxAdvancedSettings(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SetMailboxAdvancedSettings(int itemId, int accountId, bool enablePOP,
|
||||
bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync,
|
||||
int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays)
|
||||
{
|
||||
return ExchangeServerController.SetMailboxAdvancedSettings(itemId, accountId, enablePOP,
|
||||
enableIMAP, enableOWA, enableMAPI, enableActiveSync,
|
||||
issueWarningKB, prohibitSendKB, prohibitSendReceiveKB, keepDeletedItemsDays);
|
||||
}
|
||||
[WebMethod]
|
||||
public int SetExchangeMailboxPlan(int itemId, int accountId, int mailboxPlanId)
|
||||
{
|
||||
return ExchangeServerController.SetExchangeMailboxPlan(itemId, accountId, mailboxPlanId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public string GetMailboxSetupInstructions(int itemId, int accountId, bool pmm, bool emailMode, bool signup)
|
||||
|
@ -327,137 +307,137 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return ExchangeServerController.SetMailboxManagerSettings(itemId, accountId, pmmAllowed, action);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
[WebMethod]
|
||||
public ExchangeMailbox GetMailboxPermissions(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetMailboxPermissions(itemId, accountId);
|
||||
return ExchangeServerController.GetMailboxPermissions(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SetMailboxPermissions(int itemId, int accountId, string[] sendAsaccounts, string[] fullAccessAcounts)
|
||||
{
|
||||
return ExchangeServerController.SetMailboxPermissions(itemId, accountId, sendAsaccounts, fullAccessAcounts);
|
||||
return ExchangeServerController.SetMailboxPermissions(itemId, accountId, sendAsaccounts, fullAccessAcounts);
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Contacts
|
||||
[WebMethod]
|
||||
public int CreateContact(int itemId, string displayName, string email)
|
||||
{
|
||||
return ExchangeServerController.CreateContact(itemId, displayName, email);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int DeleteContact(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.DeleteContact(itemId, accountId);
|
||||
}
|
||||
#endregion
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeContact GetContactGeneralSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetContactGeneralSettings(itemId, accountId);
|
||||
}
|
||||
#region Contacts
|
||||
[WebMethod]
|
||||
public int CreateContact(int itemId, string displayName, string email)
|
||||
{
|
||||
return ExchangeServerController.CreateContact(itemId, displayName, email);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SetContactGeneralSettings(int itemId, int accountId, string displayName, string emailAddress,
|
||||
bool hideAddressBook, string firstName, string initials,
|
||||
string lastName, string address, string city, string state, string zip, string country,
|
||||
string jobTitle, string company, string department, string office, string managerAccountName,
|
||||
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
|
||||
[WebMethod]
|
||||
public int DeleteContact(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.DeleteContact(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeContact GetContactGeneralSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetContactGeneralSettings(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SetContactGeneralSettings(int itemId, int accountId, string displayName, string emailAddress,
|
||||
bool hideAddressBook, string firstName, string initials,
|
||||
string lastName, string address, string city, string state, string zip, string country,
|
||||
string jobTitle, string company, string department, string office, string managerAccountName,
|
||||
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
|
||||
string webPage, string notes, int useMapiRichTextFormat)
|
||||
{
|
||||
return ExchangeServerController.SetContactGeneralSettings(itemId, accountId, displayName, emailAddress,
|
||||
hideAddressBook, firstName, initials,
|
||||
lastName, address, city, state, zip, country,
|
||||
jobTitle, company, department, office, managerAccountName,
|
||||
businessPhone, fax, homePhone, mobilePhone, pager,
|
||||
webPage, notes, useMapiRichTextFormat);
|
||||
}
|
||||
{
|
||||
return ExchangeServerController.SetContactGeneralSettings(itemId, accountId, displayName, emailAddress,
|
||||
hideAddressBook, firstName, initials,
|
||||
lastName, address, city, state, zip, country,
|
||||
jobTitle, company, department, office, managerAccountName,
|
||||
businessPhone, fax, homePhone, mobilePhone, pager,
|
||||
webPage, notes, useMapiRichTextFormat);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeContact GetContactMailFlowSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetContactMailFlowSettings(itemId, accountId);
|
||||
}
|
||||
[WebMethod]
|
||||
public ExchangeContact GetContactMailFlowSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetContactMailFlowSettings(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SetContactMailFlowSettings(int itemId, int accountId,
|
||||
string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication)
|
||||
{
|
||||
return ExchangeServerController.SetContactMailFlowSettings(itemId, accountId,
|
||||
acceptAccounts, rejectAccounts, requireSenderAuthentication);
|
||||
}
|
||||
#endregion
|
||||
[WebMethod]
|
||||
public int SetContactMailFlowSettings(int itemId, int accountId,
|
||||
string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication)
|
||||
{
|
||||
return ExchangeServerController.SetContactMailFlowSettings(itemId, accountId,
|
||||
acceptAccounts, rejectAccounts, requireSenderAuthentication);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Distribution Lists
|
||||
[WebMethod]
|
||||
public int CreateDistributionList(int itemId, string displayName, string name, string domain, int managerId)
|
||||
{
|
||||
return ExchangeServerController.CreateDistributionList(itemId, displayName, name, domain, managerId);
|
||||
}
|
||||
#region Distribution Lists
|
||||
[WebMethod]
|
||||
public int CreateDistributionList(int itemId, string displayName, string name, string domain, int managerId)
|
||||
{
|
||||
return ExchangeServerController.CreateDistributionList(itemId, displayName, name, domain, managerId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int DeleteDistributionList(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.DeleteDistributionList(itemId, accountId);
|
||||
}
|
||||
[WebMethod]
|
||||
public int DeleteDistributionList(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.DeleteDistributionList(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeDistributionList GetDistributionListGeneralSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetDistributionListGeneralSettings(itemId, accountId);
|
||||
}
|
||||
[WebMethod]
|
||||
public ExchangeDistributionList GetDistributionListGeneralSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetDistributionListGeneralSettings(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SetDistributionListGeneralSettings(int itemId, int accountId, string displayName,
|
||||
bool hideAddressBook, string managerAccount, string[] memberAccounts,
|
||||
string notes)
|
||||
{
|
||||
return ExchangeServerController.SetDistributionListGeneralSettings(itemId, accountId, displayName,
|
||||
hideAddressBook, managerAccount, memberAccounts,
|
||||
notes);
|
||||
}
|
||||
[WebMethod]
|
||||
public int SetDistributionListGeneralSettings(int itemId, int accountId, string displayName,
|
||||
bool hideAddressBook, string managerAccount, string[] memberAccounts,
|
||||
string notes)
|
||||
{
|
||||
return ExchangeServerController.SetDistributionListGeneralSettings(itemId, accountId, displayName,
|
||||
hideAddressBook, managerAccount, memberAccounts,
|
||||
notes);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeDistributionList GetDistributionListMailFlowSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetDistributionListMailFlowSettings(itemId, accountId);
|
||||
}
|
||||
[WebMethod]
|
||||
public ExchangeDistributionList GetDistributionListMailFlowSettings(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetDistributionListMailFlowSettings(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SetDistributionListMailFlowSettings(int itemId, int accountId,
|
||||
string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication)
|
||||
{
|
||||
return ExchangeServerController.SetDistributionListMailFlowSettings(itemId, accountId,
|
||||
acceptAccounts, rejectAccounts, requireSenderAuthentication);
|
||||
}
|
||||
[WebMethod]
|
||||
public int SetDistributionListMailFlowSettings(int itemId, int accountId,
|
||||
string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication)
|
||||
{
|
||||
return ExchangeServerController.SetDistributionListMailFlowSettings(itemId, accountId,
|
||||
acceptAccounts, rejectAccounts, requireSenderAuthentication);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeEmailAddress[] GetDistributionListEmailAddresses(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetDistributionListEmailAddresses(itemId, accountId);
|
||||
}
|
||||
[WebMethod]
|
||||
public ExchangeEmailAddress[] GetDistributionListEmailAddresses(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetDistributionListEmailAddresses(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int AddDistributionListEmailAddress(int itemId, int accountId, string emailAddress)
|
||||
{
|
||||
return ExchangeServerController.AddDistributionListEmailAddress(itemId, accountId, emailAddress);
|
||||
}
|
||||
[WebMethod]
|
||||
public int AddDistributionListEmailAddress(int itemId, int accountId, string emailAddress)
|
||||
{
|
||||
return ExchangeServerController.AddDistributionListEmailAddress(itemId, accountId, emailAddress);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int SetDistributionListPrimaryEmailAddress(int itemId, int accountId, string emailAddress)
|
||||
{
|
||||
return ExchangeServerController.SetDistributionListPrimaryEmailAddress(itemId, accountId, emailAddress);
|
||||
}
|
||||
[WebMethod]
|
||||
public int SetDistributionListPrimaryEmailAddress(int itemId, int accountId, string emailAddress)
|
||||
{
|
||||
return ExchangeServerController.SetDistributionListPrimaryEmailAddress(itemId, accountId, emailAddress);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int DeleteDistributionListEmailAddresses(int itemId, int accountId, string[] emailAddresses)
|
||||
{
|
||||
return ExchangeServerController.DeleteDistributionListEmailAddresses(itemId, accountId, emailAddresses);
|
||||
}
|
||||
[WebMethod]
|
||||
public int DeleteDistributionListEmailAddresses(int itemId, int accountId, string[] emailAddresses)
|
||||
{
|
||||
return ExchangeServerController.DeleteDistributionListEmailAddresses(itemId, accountId, emailAddresses);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ResultObject SetDistributionListPermissions(int itemId, int accountId, string[] sendAsAccounts, string[] sendOnBehalfAccounts)
|
||||
|
@ -470,9 +450,77 @@ namespace WebsitePanel.EnterpriseServer
|
|||
{
|
||||
return ExchangeServerController.GetDistributionListPermissions(itemId, accountId);
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region MobileDevice
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeMobileDevice[] GetMobileDevices(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetMobileDevices(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeMobileDevice GetMobileDevice(int itemId, string deviceId)
|
||||
{
|
||||
return ExchangeServerController.GetMobileDevice(itemId, deviceId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void WipeDataFromDevice(int itemId, string deviceId)
|
||||
{
|
||||
ExchangeServerController.WipeDataFromDevice(itemId, deviceId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void CancelRemoteWipeRequest(int itemId, string deviceId)
|
||||
{
|
||||
ExchangeServerController.CancelRemoteWipeRequest(itemId, deviceId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void RemoveDevice(int itemId, string deviceId)
|
||||
{
|
||||
ExchangeServerController.RemoveDevice(itemId, deviceId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region MailboxPlans
|
||||
[WebMethod]
|
||||
public List<ExchangeMailboxPlan> GetExchangeMailboxPlans(int itemId)
|
||||
{
|
||||
return ExchangeServerController.GetExchangeMailboxPlans(itemId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeMailboxPlan GetExchangeMailboxPlan(int itemId, int mailboxPlanId)
|
||||
{
|
||||
return ExchangeServerController.GetExchangeMailboxPlan(itemId, mailboxPlanId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int AddExchangeMailboxPlan(int itemId, ExchangeMailboxPlan mailboxPlan)
|
||||
{
|
||||
return ExchangeServerController.AddExchangeMailboxPlan(itemId, mailboxPlan);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int DeleteExchangeMailboxPlan(int itemId, int mailboxPlanId)
|
||||
{
|
||||
return ExchangeServerController.DeleteExchangeMailboxPlan(itemId, mailboxPlanId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void SetOrganizationDefaultExchangeMailboxPlan(int itemId, int mailboxPlanId)
|
||||
{
|
||||
ExchangeServerController.SetOrganizationDefaultExchangeMailboxPlan(itemId, mailboxPlanId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Public Folders
|
||||
[WebMethod]
|
||||
public int CreatePublicFolder(int itemId, string parentFolder, string folderName,
|
||||
|
@ -560,39 +608,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
}
|
||||
#endregion
|
||||
|
||||
#region MobileDevice
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeMobileDevice[] GetMobileDevices(int itemId, int accountId)
|
||||
{
|
||||
return ExchangeServerController.GetMobileDevices(itemId, accountId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public ExchangeMobileDevice GetMobileDevice(int itemId, string deviceId)
|
||||
{
|
||||
return ExchangeServerController.GetMobileDevice(itemId, deviceId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void WipeDataFromDevice(int itemId, string deviceId)
|
||||
{
|
||||
ExchangeServerController.WipeDataFromDevice(itemId, deviceId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void CancelRemoteWipeRequest(int itemId, string deviceId)
|
||||
{
|
||||
ExchangeServerController.CancelRemoteWipeRequest(itemId, deviceId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void RemoveDevice(int itemId, string deviceId)
|
||||
{
|
||||
ExchangeServerController.RemoveDevice(itemId, deviceId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
|
@ -46,10 +46,10 @@ namespace WebsitePanel.EnterpriseServer
|
|||
#region Organizations
|
||||
|
||||
[WebMethod]
|
||||
public int CreateOrganization(int packageId, string organizationID, string organizationName)
|
||||
public int CreateOrganization(int packageId, string organizationID, string organizationName)
|
||||
{
|
||||
return OrganizationController.CreateOrganization(packageId, organizationID, organizationName);
|
||||
|
||||
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
|
@ -60,7 +60,7 @@ namespace WebsitePanel.EnterpriseServer
|
|||
filterColumn, filterValue, sortColumn, startRow, maximumRows);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public List<Organization> GetOrganizations(int packageId, bool recursive)
|
||||
{
|
||||
|
@ -72,13 +72,13 @@ namespace WebsitePanel.EnterpriseServer
|
|||
{
|
||||
return OrganizationController.GetOrganizationUserSummuryLetter(itemId, accountId, pmm, emailMode, signup);
|
||||
}
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public int SendOrganizationUserSummuryLetter(int itemId, int accountId, bool signup, string to, string cc)
|
||||
{
|
||||
return OrganizationController.SendSummaryLetter(itemId, accountId, signup, to, cc);
|
||||
}
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public int DeleteOrganization(int itemId)
|
||||
{
|
||||
|
@ -97,6 +97,13 @@ namespace WebsitePanel.EnterpriseServer
|
|||
return OrganizationController.GetOrganization(itemId);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int GetAccountIdByUserPrincipalName(int itemId, string userPrincipalName)
|
||||
{
|
||||
return OrganizationController.GetAccountIdByUserPrincipalName(itemId, userPrincipalName);
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
@ -107,13 +114,13 @@ namespace WebsitePanel.EnterpriseServer
|
|||
{
|
||||
return OrganizationController.AddOrganizationDomain(itemId, domainName);
|
||||
}
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public List<OrganizationDomainName> GetOrganizationDomains(int itemId)
|
||||
{
|
||||
return OrganizationController.GetOrganizationDomains(itemId);
|
||||
}
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public int DeleteOrganizationDomain(int itemId, int domainId)
|
||||
{
|
||||
|
@ -132,15 +139,22 @@ namespace WebsitePanel.EnterpriseServer
|
|||
#region Users
|
||||
|
||||
[WebMethod]
|
||||
public int CreateUser(int itemId, string displayName, string name, string domain, string password, bool sendNotification, string to)
|
||||
public int CreateUser(int itemId, string displayName, string name, string domain, string password, string subscriberNumber, bool sendNotification, string to)
|
||||
{
|
||||
string accountName;
|
||||
return OrganizationController.CreateUser(itemId, displayName, name, domain, password, true, sendNotification, to, out accountName);
|
||||
return OrganizationController.CreateUser(itemId, displayName, name, domain, password, subscriberNumber, true, sendNotification, to, out accountName);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public int ImportUser(int itemId, string accountName, string displayName, string name, string domain, string password, string subscriberNumber)
|
||||
{
|
||||
return OrganizationController.ImportUser(itemId, accountName, displayName, name, domain, password, subscriberNumber);
|
||||
}
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public OrganizationUsersPaged GetOrganizationUsersPaged(int itemId, string filterColumn, string filterValue, string sortColumn,
|
||||
int startRow, int maximumRows)
|
||||
int startRow, int maximumRows)
|
||||
{
|
||||
return OrganizationController.GetOrganizationUsersPaged(itemId, filterColumn, filterValue, sortColumn, startRow, maximumRows);
|
||||
}
|
||||
|
@ -157,30 +171,30 @@ namespace WebsitePanel.EnterpriseServer
|
|||
string lastName, string address, string city, string state, string zip, string country,
|
||||
string jobTitle, string company, string department, string office, string managerAccountName,
|
||||
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
|
||||
string webPage, string notes, string externalEmail)
|
||||
string webPage, string notes, string externalEmail, string subscriberNumber)
|
||||
{
|
||||
return OrganizationController.SetUserGeneralSettings(itemId, accountId, displayName,
|
||||
password, hideAddressBook, disabled, locked, firstName, initials,
|
||||
lastName, address, city, state, zip, country,
|
||||
jobTitle, company, department, office, managerAccountName,
|
||||
businessPhone, fax, homePhone, mobilePhone, pager,
|
||||
webPage, notes, externalEmail);
|
||||
webPage, notes, externalEmail, subscriberNumber);
|
||||
}
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public List<OrganizationUser> SearchAccounts(int itemId,
|
||||
public List<OrganizationUser> SearchAccounts(int itemId,
|
||||
string filterColumn, string filterValue, string sortColumn, bool includeMailboxes)
|
||||
{
|
||||
return OrganizationController.SearchAccounts(itemId,
|
||||
filterColumn, filterValue, sortColumn, includeMailboxes);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[WebMethod]
|
||||
public int DeleteUser(int itemId, int accountId)
|
||||
{
|
||||
return OrganizationController.DeleteUser(itemId, accountId);
|
||||
return OrganizationController.DeleteUser(itemId, accountId);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
|
@ -39,7 +39,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
{
|
||||
public static DirectoryEntry GetADObject(string path)
|
||||
{
|
||||
DirectoryEntry de = new DirectoryEntry(path);
|
||||
DirectoryEntry de = new DirectoryEntry(path);
|
||||
de.RefreshCache();
|
||||
return de;
|
||||
}
|
||||
|
@ -48,16 +48,16 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
{
|
||||
bool res = false;
|
||||
DirectorySearcher deSearch = new DirectorySearcher
|
||||
{
|
||||
Filter =
|
||||
("(&(objectClass=user)(samaccountname=" + samAccountName + "))")
|
||||
};
|
||||
{
|
||||
Filter =
|
||||
("(&(objectClass=user)(samaccountname=" + samAccountName + "))")
|
||||
};
|
||||
|
||||
//get the group result
|
||||
SearchResult results = deSearch.FindOne();
|
||||
DirectoryEntry de = results.GetDirectoryEntry();
|
||||
PropertyValueCollection props = de.Properties["memberOf"];
|
||||
|
||||
|
||||
foreach (string str in props)
|
||||
{
|
||||
if (str.IndexOf(group) != -1)
|
||||
|
@ -81,8 +81,8 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
|
||||
ou = parent.Children.Add(
|
||||
string.Format("OU={0}", name),
|
||||
parent.SchemaClassName);
|
||||
|
||||
parent.SchemaClassName);
|
||||
|
||||
ret = ou.Path;
|
||||
ou.CommitChanges();
|
||||
}
|
||||
|
@ -100,13 +100,13 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
public static void DeleteADObject(string path, bool removeChild)
|
||||
{
|
||||
DirectoryEntry entry = GetADObject(path);
|
||||
|
||||
|
||||
if (removeChild && entry.Children != null)
|
||||
foreach (DirectoryEntry child in entry.Children)
|
||||
{
|
||||
entry.Children.Remove(child);
|
||||
}
|
||||
|
||||
|
||||
DirectoryEntry parent = entry.Parent;
|
||||
if (parent != null)
|
||||
{
|
||||
|
@ -115,7 +115,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void DeleteADObject(string path)
|
||||
{
|
||||
DirectoryEntry entry = GetADObject(path);
|
||||
|
@ -141,21 +141,34 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
if (oDE.Properties.Contains(name))
|
||||
{
|
||||
oDE.Properties[name].Remove(oDE.Properties[name][0]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static void SetADObjectPropertyValue(DirectoryEntry oDE, string name, object value)
|
||||
public static void SetADObjectPropertyValue(DirectoryEntry oDE, string name, string value)
|
||||
{
|
||||
PropertyValueCollection collection = oDE.Properties[name];
|
||||
collection.Value = value;
|
||||
}
|
||||
|
||||
|
||||
public static void SetADObjectPropertyValue(DirectoryEntry oDE, string name, Guid value)
|
||||
{
|
||||
PropertyValueCollection collection = oDE.Properties[name];
|
||||
collection.Value = value.ToByteArray();
|
||||
}
|
||||
|
||||
public static void ClearADObjectPropertyValue(DirectoryEntry oDE, string name)
|
||||
{
|
||||
PropertyValueCollection collection = oDE.Properties[name];
|
||||
collection.Clear();
|
||||
}
|
||||
|
||||
|
||||
public static object GetADObjectProperty(DirectoryEntry entry, string name)
|
||||
{
|
||||
return entry.Properties.Contains(name) ? entry.Properties[name][0] : null;
|
||||
|
@ -164,7 +177,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
public static string GetADObjectStringProperty(DirectoryEntry entry, string name)
|
||||
{
|
||||
object ret = GetADObjectProperty(entry, name);
|
||||
return ret != null ? ret.ToString() : string.Empty;
|
||||
return ret != null ? ret.ToString() : string.Empty;
|
||||
}
|
||||
|
||||
public static string ConvertADPathToCanonicalName(string name)
|
||||
|
@ -254,29 +267,38 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
return ret;
|
||||
}
|
||||
|
||||
|
||||
public static string CreateUser(string path, string user, string displayName, string password, bool enabled)
|
||||
{
|
||||
DirectoryEntry currentADObject = new DirectoryEntry(path);
|
||||
return CreateUser(path, "", user, displayName, password, enabled);
|
||||
}
|
||||
|
||||
DirectoryEntry newUserObject = currentADObject.Children.Add("CN=" + user, "User");
|
||||
|
||||
newUserObject.Properties[ADAttributes.SAMAccountName].Add(user);
|
||||
public static string CreateUser(string path, string upn, string user, string displayName, string password, bool enabled)
|
||||
{
|
||||
DirectoryEntry currentADObject = new DirectoryEntry(path);
|
||||
|
||||
string cn = string.Empty;
|
||||
if (string.IsNullOrEmpty(upn)) cn = user; else cn = upn;
|
||||
|
||||
DirectoryEntry newUserObject = currentADObject.Children.Add("CN=" + cn, "User");
|
||||
|
||||
newUserObject.Properties[ADAttributes.SAMAccountName].Add(user);
|
||||
SetADObjectProperty(newUserObject, ADAttributes.DisplayName, displayName);
|
||||
newUserObject.CommitChanges();
|
||||
newUserObject.Invoke(ADAttributes.SetPassword, password);
|
||||
newUserObject.InvokeSet(ADAttributes.AccountDisabled, !enabled);
|
||||
|
||||
newUserObject.CommitChanges();
|
||||
|
||||
|
||||
return newUserObject.Path;
|
||||
}
|
||||
|
||||
public static void CreateGroup(string path, string group)
|
||||
{
|
||||
DirectoryEntry currentADObject = new DirectoryEntry(path);
|
||||
DirectoryEntry currentADObject = new DirectoryEntry(path);
|
||||
|
||||
DirectoryEntry newGroupObject = currentADObject.Children.Add("CN=" + group, "Group");
|
||||
|
||||
|
||||
newGroupObject.Properties[ADAttributes.SAMAccountName].Add(group);
|
||||
|
||||
newGroupObject.Properties[ADAttributes.GroupType].Add(-2147483640);
|
||||
|
@ -320,7 +342,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
if (string.IsNullOrEmpty(primaryDomainController))
|
||||
{
|
||||
dn = string.Format("LDAP://{0}", dn);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
dn = string.Format("LDAP://{0}/{1}", primaryDomainController, dn);
|
||||
|
@ -358,7 +380,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
DirectoryEntry ou = GetADObject(ouPath);
|
||||
PropertyValueCollection prop = null;
|
||||
|
||||
prop = ou.Properties["uPNSuffixes"];
|
||||
prop = ou.Properties["uPNSuffixes"];
|
||||
|
||||
if (prop != null)
|
||||
{
|
||||
|
|
|
@ -32,32 +32,35 @@ using System.Text;
|
|||
|
||||
namespace WebsitePanel.Providers.HostedSolution
|
||||
{
|
||||
public class ExchangeAccount
|
||||
{
|
||||
int accountId;
|
||||
int itemId;
|
||||
public class ExchangeAccount
|
||||
{
|
||||
int accountId;
|
||||
int itemId;
|
||||
int packageId;
|
||||
ExchangeAccountType accountType;
|
||||
string accountName;
|
||||
string displayName;
|
||||
string primaryEmailAddress;
|
||||
bool mailEnabledPublicFolder;
|
||||
string subscriberNumber;
|
||||
ExchangeAccountType accountType;
|
||||
string accountName;
|
||||
string displayName;
|
||||
string primaryEmailAddress;
|
||||
bool mailEnabledPublicFolder;
|
||||
MailboxManagerActions mailboxManagerActions;
|
||||
string accountPassword;
|
||||
string samAccountName;
|
||||
int mailboxPlanId;
|
||||
string mailboxPlan;
|
||||
string publicFolderPermission;
|
||||
|
||||
public int AccountId
|
||||
{
|
||||
get { return this.accountId; }
|
||||
set { this.accountId = value; }
|
||||
}
|
||||
public int AccountId
|
||||
{
|
||||
get { return this.accountId; }
|
||||
set { this.accountId = value; }
|
||||
}
|
||||
|
||||
public int ItemId
|
||||
{
|
||||
public int ItemId
|
||||
{
|
||||
get { return this.itemId; }
|
||||
set { this.itemId = value; }
|
||||
}
|
||||
}
|
||||
|
||||
public int PackageId
|
||||
{
|
||||
|
@ -65,17 +68,17 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
set { this.packageId = value; }
|
||||
}
|
||||
|
||||
public ExchangeAccountType AccountType
|
||||
{
|
||||
get { return this.accountType; }
|
||||
set { this.accountType = value; }
|
||||
}
|
||||
public ExchangeAccountType AccountType
|
||||
{
|
||||
get { return this.accountType; }
|
||||
set { this.accountType = value; }
|
||||
}
|
||||
|
||||
public string AccountName
|
||||
{
|
||||
get { return this.accountName; }
|
||||
set { this.accountName = value; }
|
||||
}
|
||||
public string AccountName
|
||||
{
|
||||
get { return this.accountName; }
|
||||
set { this.accountName = value; }
|
||||
}
|
||||
|
||||
public string SamAccountName
|
||||
{
|
||||
|
@ -83,23 +86,23 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
set { this.samAccountName = value; }
|
||||
}
|
||||
|
||||
public string DisplayName
|
||||
{
|
||||
get { return this.displayName; }
|
||||
set { this.displayName = value; }
|
||||
}
|
||||
public string DisplayName
|
||||
{
|
||||
get { return this.displayName; }
|
||||
set { this.displayName = value; }
|
||||
}
|
||||
|
||||
public string PrimaryEmailAddress
|
||||
{
|
||||
get { return this.primaryEmailAddress; }
|
||||
set { this.primaryEmailAddress = value; }
|
||||
}
|
||||
public string PrimaryEmailAddress
|
||||
{
|
||||
get { return this.primaryEmailAddress; }
|
||||
set { this.primaryEmailAddress = value; }
|
||||
}
|
||||
|
||||
public bool MailEnabledPublicFolder
|
||||
{
|
||||
get { return this.mailEnabledPublicFolder; }
|
||||
set { this.mailEnabledPublicFolder = value; }
|
||||
}
|
||||
public bool MailEnabledPublicFolder
|
||||
{
|
||||
get { return this.mailEnabledPublicFolder; }
|
||||
set { this.mailEnabledPublicFolder = value; }
|
||||
}
|
||||
|
||||
public string AccountPassword
|
||||
{
|
||||
|
@ -113,10 +116,31 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
set { this.mailboxManagerActions = value; }
|
||||
}
|
||||
|
||||
public int MailboxPlanId
|
||||
{
|
||||
get { return this.mailboxPlanId; }
|
||||
set { this.mailboxPlanId = value; }
|
||||
}
|
||||
|
||||
public string MailboxPlan
|
||||
{
|
||||
get { return this.mailboxPlan; }
|
||||
set { this.mailboxPlan = value; }
|
||||
}
|
||||
|
||||
|
||||
public string SubscriberNumber
|
||||
{
|
||||
get { return this.subscriberNumber; }
|
||||
set { this.subscriberNumber = value; }
|
||||
}
|
||||
|
||||
public string PublicFolderPermission
|
||||
{
|
||||
get { return this.publicFolderPermission; }
|
||||
set { this.publicFolderPermission = value; }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,209 +32,219 @@ using System.Text;
|
|||
|
||||
namespace WebsitePanel.Providers.HostedSolution
|
||||
{
|
||||
public class ExchangeContact
|
||||
{
|
||||
string displayName;
|
||||
string accountName;
|
||||
string emailAddress;
|
||||
bool hideFromAddressBook;
|
||||
public class ExchangeContact
|
||||
{
|
||||
string displayName;
|
||||
string accountName;
|
||||
string emailAddress;
|
||||
bool hideFromAddressBook;
|
||||
|
||||
string firstName;
|
||||
string initials;
|
||||
string lastName;
|
||||
string firstName;
|
||||
string initials;
|
||||
string lastName;
|
||||
|
||||
string jobTitle;
|
||||
string company;
|
||||
string department;
|
||||
string office;
|
||||
ExchangeAccount managerAccount;
|
||||
string jobTitle;
|
||||
string company;
|
||||
string department;
|
||||
string office;
|
||||
ExchangeAccount managerAccount;
|
||||
|
||||
string businessPhone;
|
||||
string fax;
|
||||
string homePhone;
|
||||
string mobilePhone;
|
||||
string pager;
|
||||
string webPage;
|
||||
string businessPhone;
|
||||
string fax;
|
||||
string homePhone;
|
||||
string mobilePhone;
|
||||
string pager;
|
||||
string webPage;
|
||||
|
||||
string address;
|
||||
string city;
|
||||
string state;
|
||||
string zip;
|
||||
string country;
|
||||
string address;
|
||||
string city;
|
||||
string state;
|
||||
string zip;
|
||||
string country;
|
||||
|
||||
string notes;
|
||||
private int useMapiRichTextFormat;
|
||||
|
||||
ExchangeAccount[] acceptAccounts;
|
||||
ExchangeAccount[] rejectAccounts;
|
||||
bool requireSenderAuthentication;
|
||||
string notes;
|
||||
string sAMAccountName;
|
||||
private int useMapiRichTextFormat;
|
||||
|
||||
public string DisplayName
|
||||
{
|
||||
get { return this.displayName; }
|
||||
set { this.displayName = value; }
|
||||
}
|
||||
ExchangeAccount[] acceptAccounts;
|
||||
ExchangeAccount[] rejectAccounts;
|
||||
bool requireSenderAuthentication;
|
||||
|
||||
public string AccountName
|
||||
{
|
||||
get { return this.accountName; }
|
||||
set { this.accountName = value; }
|
||||
}
|
||||
public string DisplayName
|
||||
{
|
||||
get { return this.displayName; }
|
||||
set { this.displayName = value; }
|
||||
}
|
||||
|
||||
public string EmailAddress
|
||||
{
|
||||
get { return this.emailAddress; }
|
||||
set { this.emailAddress = value; }
|
||||
}
|
||||
public string AccountName
|
||||
{
|
||||
get { return this.accountName; }
|
||||
set { this.accountName = value; }
|
||||
}
|
||||
|
||||
public bool HideFromAddressBook
|
||||
{
|
||||
get { return this.hideFromAddressBook; }
|
||||
set { this.hideFromAddressBook = value; }
|
||||
}
|
||||
public string EmailAddress
|
||||
{
|
||||
get { return this.emailAddress; }
|
||||
set { this.emailAddress = value; }
|
||||
}
|
||||
|
||||
public string FirstName
|
||||
{
|
||||
get { return this.firstName; }
|
||||
set { this.firstName = value; }
|
||||
}
|
||||
public bool HideFromAddressBook
|
||||
{
|
||||
get { return this.hideFromAddressBook; }
|
||||
set { this.hideFromAddressBook = value; }
|
||||
}
|
||||
|
||||
public string Initials
|
||||
{
|
||||
get { return this.initials; }
|
||||
set { this.initials = value; }
|
||||
}
|
||||
public string FirstName
|
||||
{
|
||||
get { return this.firstName; }
|
||||
set { this.firstName = value; }
|
||||
}
|
||||
|
||||
public string LastName
|
||||
{
|
||||
get { return this.lastName; }
|
||||
set { this.lastName = value; }
|
||||
}
|
||||
public string Initials
|
||||
{
|
||||
get { return this.initials; }
|
||||
set { this.initials = value; }
|
||||
}
|
||||
|
||||
public string JobTitle
|
||||
{
|
||||
get { return this.jobTitle; }
|
||||
set { this.jobTitle = value; }
|
||||
}
|
||||
public string LastName
|
||||
{
|
||||
get { return this.lastName; }
|
||||
set { this.lastName = value; }
|
||||
}
|
||||
|
||||
public string Company
|
||||
{
|
||||
get { return this.company; }
|
||||
set { this.company = value; }
|
||||
}
|
||||
public string JobTitle
|
||||
{
|
||||
get { return this.jobTitle; }
|
||||
set { this.jobTitle = value; }
|
||||
}
|
||||
|
||||
public string Department
|
||||
{
|
||||
get { return this.department; }
|
||||
set { this.department = value; }
|
||||
}
|
||||
public string Company
|
||||
{
|
||||
get { return this.company; }
|
||||
set { this.company = value; }
|
||||
}
|
||||
|
||||
public string Office
|
||||
{
|
||||
get { return this.office; }
|
||||
set { this.office = value; }
|
||||
}
|
||||
public string Department
|
||||
{
|
||||
get { return this.department; }
|
||||
set { this.department = value; }
|
||||
}
|
||||
|
||||
public ExchangeAccount ManagerAccount
|
||||
{
|
||||
get { return this.managerAccount; }
|
||||
set { this.managerAccount = value; }
|
||||
}
|
||||
public string Office
|
||||
{
|
||||
get { return this.office; }
|
||||
set { this.office = value; }
|
||||
}
|
||||
|
||||
public string BusinessPhone
|
||||
{
|
||||
get { return this.businessPhone; }
|
||||
set { this.businessPhone = value; }
|
||||
}
|
||||
public ExchangeAccount ManagerAccount
|
||||
{
|
||||
get { return this.managerAccount; }
|
||||
set { this.managerAccount = value; }
|
||||
}
|
||||
|
||||
public string Fax
|
||||
{
|
||||
get { return this.fax; }
|
||||
set { this.fax = value; }
|
||||
}
|
||||
public string BusinessPhone
|
||||
{
|
||||
get { return this.businessPhone; }
|
||||
set { this.businessPhone = value; }
|
||||
}
|
||||
|
||||
public string HomePhone
|
||||
{
|
||||
get { return this.homePhone; }
|
||||
set { this.homePhone = value; }
|
||||
}
|
||||
public string Fax
|
||||
{
|
||||
get { return this.fax; }
|
||||
set { this.fax = value; }
|
||||
}
|
||||
|
||||
public string MobilePhone
|
||||
{
|
||||
get { return this.mobilePhone; }
|
||||
set { this.mobilePhone = value; }
|
||||
}
|
||||
public string HomePhone
|
||||
{
|
||||
get { return this.homePhone; }
|
||||
set { this.homePhone = value; }
|
||||
}
|
||||
|
||||
public string Pager
|
||||
{
|
||||
get { return this.pager; }
|
||||
set { this.pager = value; }
|
||||
}
|
||||
public string MobilePhone
|
||||
{
|
||||
get { return this.mobilePhone; }
|
||||
set { this.mobilePhone = value; }
|
||||
}
|
||||
|
||||
public string WebPage
|
||||
{
|
||||
get { return this.webPage; }
|
||||
set { this.webPage = value; }
|
||||
}
|
||||
public string Pager
|
||||
{
|
||||
get { return this.pager; }
|
||||
set { this.pager = value; }
|
||||
}
|
||||
|
||||
public string Address
|
||||
{
|
||||
get { return this.address; }
|
||||
set { this.address = value; }
|
||||
}
|
||||
public string WebPage
|
||||
{
|
||||
get { return this.webPage; }
|
||||
set { this.webPage = value; }
|
||||
}
|
||||
|
||||
public string City
|
||||
{
|
||||
get { return this.city; }
|
||||
set { this.city = value; }
|
||||
}
|
||||
public string Address
|
||||
{
|
||||
get { return this.address; }
|
||||
set { this.address = value; }
|
||||
}
|
||||
|
||||
public string State
|
||||
{
|
||||
get { return this.state; }
|
||||
set { this.state = value; }
|
||||
}
|
||||
public string City
|
||||
{
|
||||
get { return this.city; }
|
||||
set { this.city = value; }
|
||||
}
|
||||
|
||||
public string Zip
|
||||
{
|
||||
get { return this.zip; }
|
||||
set { this.zip = value; }
|
||||
}
|
||||
public string State
|
||||
{
|
||||
get { return this.state; }
|
||||
set { this.state = value; }
|
||||
}
|
||||
|
||||
public string Country
|
||||
{
|
||||
get { return this.country; }
|
||||
set { this.country = value; }
|
||||
}
|
||||
public string Zip
|
||||
{
|
||||
get { return this.zip; }
|
||||
set { this.zip = value; }
|
||||
}
|
||||
|
||||
public string Notes
|
||||
{
|
||||
get { return this.notes; }
|
||||
set { this.notes = value; }
|
||||
}
|
||||
public string Country
|
||||
{
|
||||
get { return this.country; }
|
||||
set { this.country = value; }
|
||||
}
|
||||
|
||||
public ExchangeAccount[] AcceptAccounts
|
||||
{
|
||||
get { return this.acceptAccounts; }
|
||||
set { this.acceptAccounts = value; }
|
||||
}
|
||||
public string Notes
|
||||
{
|
||||
get { return this.notes; }
|
||||
set { this.notes = value; }
|
||||
}
|
||||
|
||||
public ExchangeAccount[] RejectAccounts
|
||||
{
|
||||
get { return this.rejectAccounts; }
|
||||
set { this.rejectAccounts = value; }
|
||||
}
|
||||
public ExchangeAccount[] AcceptAccounts
|
||||
{
|
||||
get { return this.acceptAccounts; }
|
||||
set { this.acceptAccounts = value; }
|
||||
}
|
||||
|
||||
public bool RequireSenderAuthentication
|
||||
{
|
||||
get { return requireSenderAuthentication; }
|
||||
set { requireSenderAuthentication = value; }
|
||||
}
|
||||
public ExchangeAccount[] RejectAccounts
|
||||
{
|
||||
get { return this.rejectAccounts; }
|
||||
set { this.rejectAccounts = value; }
|
||||
}
|
||||
|
||||
public int UseMapiRichTextFormat
|
||||
{
|
||||
public bool RequireSenderAuthentication
|
||||
{
|
||||
get { return requireSenderAuthentication; }
|
||||
set { requireSenderAuthentication = value; }
|
||||
}
|
||||
|
||||
public int UseMapiRichTextFormat
|
||||
{
|
||||
get { return useMapiRichTextFormat; }
|
||||
set { useMapiRichTextFormat = value; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string SAMAccountName
|
||||
{
|
||||
get { return sAMAccountName; }
|
||||
set { sAMAccountName = value; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,72 +32,79 @@ using System.Text;
|
|||
|
||||
namespace WebsitePanel.Providers.HostedSolution
|
||||
{
|
||||
public class ExchangeDistributionList
|
||||
{
|
||||
public string DisplayName
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public class ExchangeDistributionList
|
||||
{
|
||||
public string DisplayName
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public string AccountName
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public string AccountName
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public bool HideFromAddressBook
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public bool HideFromAddressBook
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public ExchangeAccount[] MembersAccounts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public ExchangeAccount[] MembersAccounts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public ExchangeAccount ManagerAccount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public ExchangeAccount ManagerAccount
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public string Notes
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public string Notes
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public ExchangeAccount[] AcceptAccounts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public ExchangeAccount[] AcceptAccounts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public ExchangeAccount[] RejectAccounts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public ExchangeAccount[] RejectAccounts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public bool RequireSenderAuthentication
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public ExchangeAccount[] SendAsAccounts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
public bool RequireSenderAuthentication
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public ExchangeAccount[] SendOnBehalfAccounts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
}
|
||||
public ExchangeAccount[] SendAsAccounts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public ExchangeAccount[] SendOnBehalfAccounts
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public string SAMAccountName
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,160 @@
|
|||
// 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.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace WebsitePanel.Providers.HostedSolution
|
||||
{
|
||||
public class ExchangeMailboxPlan
|
||||
{
|
||||
int mailboxPlanId;
|
||||
string mailboxPlan;
|
||||
int mailboxSizeMB;
|
||||
int maxRecipients;
|
||||
int maxSendMessageSizeKB;
|
||||
int maxReceiveMessageSizeKB;
|
||||
|
||||
bool enablePOP;
|
||||
bool enableIMAP;
|
||||
bool enableOWA;
|
||||
bool enableMAPI;
|
||||
bool enableActiveSync;
|
||||
|
||||
int issueWarningPct;
|
||||
int prohibitSendPct;
|
||||
int prohibitSendReceivePct;
|
||||
int keepDeletedItemsDays;
|
||||
bool isDefault;
|
||||
bool hideFromAddressBook;
|
||||
|
||||
public int MailboxPlanId
|
||||
{
|
||||
get { return this.mailboxPlanId; }
|
||||
set { this.mailboxPlanId = value; }
|
||||
}
|
||||
|
||||
public string MailboxPlan
|
||||
{
|
||||
get { return this.mailboxPlan; }
|
||||
set { this.mailboxPlan = value; }
|
||||
}
|
||||
|
||||
public int MailboxSizeMB
|
||||
{
|
||||
get { return this.mailboxSizeMB; }
|
||||
set { this.mailboxSizeMB = value; }
|
||||
}
|
||||
|
||||
public bool IsDefault
|
||||
{
|
||||
get { return this.isDefault; }
|
||||
set { this.isDefault = value; }
|
||||
}
|
||||
|
||||
public int MaxRecipients
|
||||
{
|
||||
get { return this.maxRecipients; }
|
||||
set { this.maxRecipients = value; }
|
||||
}
|
||||
|
||||
public int MaxSendMessageSizeKB
|
||||
{
|
||||
get { return this.maxSendMessageSizeKB; }
|
||||
set { this.maxSendMessageSizeKB = value; }
|
||||
}
|
||||
|
||||
public int MaxReceiveMessageSizeKB
|
||||
{
|
||||
get { return this.maxReceiveMessageSizeKB; }
|
||||
set { this.maxReceiveMessageSizeKB = value; }
|
||||
}
|
||||
|
||||
public bool EnablePOP
|
||||
{
|
||||
get { return this.enablePOP; }
|
||||
set { this.enablePOP = value; }
|
||||
}
|
||||
|
||||
public bool EnableIMAP
|
||||
{
|
||||
get { return this.enableIMAP; }
|
||||
set { this.enableIMAP = value; }
|
||||
}
|
||||
|
||||
public bool EnableOWA
|
||||
{
|
||||
get { return this.enableOWA; }
|
||||
set { this.enableOWA = value; }
|
||||
}
|
||||
|
||||
public bool EnableMAPI
|
||||
{
|
||||
get { return this.enableMAPI; }
|
||||
set { this.enableMAPI = value; }
|
||||
}
|
||||
|
||||
public bool EnableActiveSync
|
||||
{
|
||||
get { return this.enableActiveSync; }
|
||||
set { this.enableActiveSync = value; }
|
||||
}
|
||||
|
||||
public int IssueWarningPct
|
||||
{
|
||||
get { return this.issueWarningPct; }
|
||||
set { this.issueWarningPct = value; }
|
||||
}
|
||||
|
||||
public int ProhibitSendPct
|
||||
{
|
||||
get { return this.prohibitSendPct; }
|
||||
set { this.prohibitSendPct = value; }
|
||||
}
|
||||
|
||||
public int ProhibitSendReceivePct
|
||||
{
|
||||
get { return this.prohibitSendReceivePct; }
|
||||
set { this.prohibitSendReceivePct = value; }
|
||||
}
|
||||
|
||||
public int KeepDeletedItemsDays
|
||||
{
|
||||
get { return this.keepDeletedItemsDays; }
|
||||
set { this.keepDeletedItemsDays = value; }
|
||||
}
|
||||
|
||||
public bool HideFromAddressBook
|
||||
{
|
||||
get { return this.hideFromAddressBook; }
|
||||
set { this.hideFromAddressBook = value; }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -30,70 +30,71 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
{
|
||||
public interface IExchangeServer
|
||||
{
|
||||
|
||||
|
||||
bool CheckAccountCredentials(string username, string password);
|
||||
// Organizations
|
||||
// Organizations
|
||||
|
||||
string CreateMailEnableUser(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType,
|
||||
string mailboxDatabase, string offlineAddressBook,
|
||||
string accountName, bool enablePOP, bool enableIMAP,
|
||||
bool enableOWA, bool enableMAPI, bool enableActiveSync,
|
||||
int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB,
|
||||
int keepDeletedItemsDays);
|
||||
|
||||
Organization ExtendToExchangeOrganization(string organizationId, string securityGroup);
|
||||
string GetOABVirtualDirectory();
|
||||
Organization CreateOrganizationOfflineAddressBook(string organizationId, string securityGroup, string oabVirtualDir);
|
||||
void UpdateOrganizationOfflineAddressBook(string id);
|
||||
bool DeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomsAddressList, string offlineAddressBook, string securityGroup);
|
||||
void SetOrganizationStorageLimits(string organizationDistinguishedName, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays);
|
||||
ExchangeItemStatistics[] GetMailboxesStatistics(string organizationDistinguishedName);
|
||||
string CreateMailEnableUser(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType,
|
||||
string mailboxDatabase, string offlineAddressBook, string addressBookPolicy,
|
||||
string accountName, bool enablePOP, bool enableIMAP,
|
||||
bool enableOWA, bool enableMAPI, bool enableActiveSync,
|
||||
int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB,
|
||||
int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool hideFromAddressBook, bool isConsumer);
|
||||
|
||||
// Domains
|
||||
Organization ExtendToExchangeOrganization(string organizationId, string securityGroup, bool IsConsumer);
|
||||
string GetOABVirtualDirectory();
|
||||
Organization CreateOrganizationOfflineAddressBook(string organizationId, string securityGroup, string oabVirtualDir);
|
||||
Organization CreateOrganizationAddressBookPolicy(string organizationId, string gal, string addressBook, string roomList, string oab);
|
||||
void UpdateOrganizationOfflineAddressBook(string id);
|
||||
bool DeleteOrganization(string organizationId, string distinguishedName, string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy);
|
||||
void SetOrganizationStorageLimits(string organizationDistinguishedName, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays);
|
||||
ExchangeItemStatistics[] GetMailboxesStatistics(string organizationDistinguishedName);
|
||||
|
||||
// Domains
|
||||
void AddAuthoritativeDomain(string domain);
|
||||
void DeleteAuthoritativeDomain(string domain);
|
||||
string[] GetAuthoritativeDomains();
|
||||
string[] GetAuthoritativeDomains();
|
||||
|
||||
// Mailboxes
|
||||
string CreateMailbox(string organizationId, string organizationDistinguishedName, string mailboxDatabase, string securityGroup, string offlineAddressBook, ExchangeAccountType accountType, string displayName, string accountName, string name, string domain, string password, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync,
|
||||
int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays);
|
||||
void DeleteMailbox(string accountName);
|
||||
// Mailboxes
|
||||
//string CreateMailbox(string organizationId, string organizationDistinguishedName, string mailboxDatabase, string securityGroup, string offlineAddressBook, string addressBookPolicy, ExchangeAccountType accountType, string displayName, string accountName, string name, string domain, string password, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync,
|
||||
// int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB,bool hideFromAddressBook);
|
||||
void DeleteMailbox(string accountName);
|
||||
void DisableMailbox(string id);
|
||||
ExchangeMailbox GetMailboxGeneralSettings(string accountName);
|
||||
void SetMailboxGeneralSettings(string accountName, string displayName, string password, bool hideFromAddressBook, bool disabled, string firstName, string initials, string lastName, string address, string city, string state, string zip, string country, string jobTitle, string company, string department, string office, string managerAccountName, string businessPhone, string fax, string homePhone, string mobilePhone, string pager, string webPage, string notes);
|
||||
ExchangeMailbox GetMailboxMailFlowSettings(string accountName);
|
||||
void SetMailboxMailFlowSettings(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool requireSenderAuthentication);
|
||||
ExchangeMailbox GetMailboxAdvancedSettings(string accountName);
|
||||
void SetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays);
|
||||
ExchangeEmailAddress[] GetMailboxEmailAddresses(string accountName);
|
||||
void SetMailboxEmailAddresses(string accountName, string[] emailAddresses);
|
||||
void SetMailboxPrimaryEmailAddress(string accountName, string emailAddress);
|
||||
void SetMailboxPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] fullAccessAccounts);
|
||||
ExchangeMailbox GetMailboxPermissions(string organizationId, string accountName);
|
||||
ExchangeMailboxStatistics GetMailboxStatistics(string accountName);
|
||||
ExchangeMailbox GetMailboxGeneralSettings(string accountName);
|
||||
void SetMailboxGeneralSettings(string accountName, bool hideFromAddressBook, bool disabled);
|
||||
ExchangeMailbox GetMailboxMailFlowSettings(string accountName);
|
||||
void SetMailboxMailFlowSettings(string accountName, bool enableForwarding, string forwardingAccountName, bool forwardToBoth, string[] sendOnBehalfAccounts, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication);
|
||||
ExchangeMailbox GetMailboxAdvancedSettings(string accountName);
|
||||
void SetMailboxAdvancedSettings(string organizationId, string accountName, bool enablePOP, bool enableIMAP, bool enableOWA, bool enableMAPI, bool enableActiveSync, int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays, int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB);
|
||||
ExchangeEmailAddress[] GetMailboxEmailAddresses(string accountName);
|
||||
void SetMailboxEmailAddresses(string accountName, string[] emailAddresses);
|
||||
void SetMailboxPrimaryEmailAddress(string accountName, string emailAddress);
|
||||
void SetMailboxPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] fullAccessAccounts);
|
||||
ExchangeMailbox GetMailboxPermissions(string organizationId, string accountName);
|
||||
ExchangeMailboxStatistics GetMailboxStatistics(string accountName);
|
||||
|
||||
// Contacts
|
||||
void CreateContact(string organizationId, string organizationDistinguishedName, string contactDisplayName, string contactAccountName, string contactEmail, string defaultOrganizationDomain);
|
||||
void DeleteContact(string accountName);
|
||||
ExchangeContact GetContactGeneralSettings(string accountName);
|
||||
// Contacts
|
||||
void CreateContact(string organizationId, string organizationDistinguishedName, string contactDisplayName, string contactAccountName, string contactEmail, string defaultOrganizationDomain);
|
||||
void DeleteContact(string accountName);
|
||||
ExchangeContact GetContactGeneralSettings(string accountName);
|
||||
void SetContactGeneralSettings(string accountName, string displayName, string email, bool hideFromAddressBook, string firstName, string initials, string lastName, string address, string city, string state, string zip, string country, string jobTitle, string company, string department, string office, string managerAccountName, string businessPhone, string fax, string homePhone, string mobilePhone, string pager, string webPage, string notes, int useMapiRichTextFormat, string defaultDomain);
|
||||
ExchangeContact GetContactMailFlowSettings(string accountName);
|
||||
void SetContactMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication);
|
||||
ExchangeContact GetContactMailFlowSettings(string accountName);
|
||||
void SetContactMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication);
|
||||
|
||||
// Distribution Lists
|
||||
void CreateDistributionList(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy);
|
||||
void DeleteDistributionList(string accountName);
|
||||
ExchangeDistributionList GetDistributionListGeneralSettings(string accountName);
|
||||
void SetDistributionListGeneralSettings(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] memebers, string notes);
|
||||
void AddDistributionListMembers(string accountName, string[] memberAccounts);
|
||||
void RemoveDistributionListMembers(string accountName, string[] memberAccounts);
|
||||
ExchangeDistributionList GetDistributionListMailFlowSettings(string accountName);
|
||||
void SetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication);
|
||||
ExchangeEmailAddress[] GetDistributionListEmailAddresses(string accountName);
|
||||
void SetDistributionListEmailAddresses(string accountName, string[] emailAddresses);
|
||||
void SetDistributionListPrimaryEmailAddress(string accountName, string emailAddress);
|
||||
ExchangeDistributionList GetDistributionListPermissions(string organizationId, string accountName);
|
||||
void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts);
|
||||
// Distribution Lists
|
||||
void CreateDistributionList(string organizationId, string organizationDistinguishedName, string displayName, string accountName, string name, string domain, string managedBy, string[] addressLists);
|
||||
void DeleteDistributionList(string accountName);
|
||||
ExchangeDistributionList GetDistributionListGeneralSettings(string accountName);
|
||||
void SetDistributionListGeneralSettings(string accountName, string displayName, bool hideFromAddressBook, string managedBy, string[] memebers, string notes, string[] addressLists);
|
||||
void AddDistributionListMembers(string accountName, string[] memberAccounts, string[] addressLists);
|
||||
void RemoveDistributionListMembers(string accountName, string[] memberAccounts, string[] addressLists);
|
||||
ExchangeDistributionList GetDistributionListMailFlowSettings(string accountName);
|
||||
void SetDistributionListMailFlowSettings(string accountName, string[] acceptAccounts, string[] rejectAccounts, bool requireSenderAuthentication, string[] addressLists);
|
||||
ExchangeEmailAddress[] GetDistributionListEmailAddresses(string accountName);
|
||||
void SetDistributionListEmailAddresses(string accountName, string[] emailAddresses, string[] addressLists);
|
||||
void SetDistributionListPrimaryEmailAddress(string accountName, string emailAddress, string[] addressLists);
|
||||
ExchangeDistributionList GetDistributionListPermissions(string organizationId, string accountName);
|
||||
void SetDistributionListPermissions(string organizationId, string accountName, string[] sendAsAccounts, string[] sendOnBehalfAccounts, string[] addressLists);
|
||||
|
||||
// Public Folders
|
||||
void CreatePublicFolder(string organizationId, string securityGroup, string parentFolder, string folderName, bool mailEnabled, string accountName, string name, string domain);
|
||||
|
@ -111,20 +112,20 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
string[] GetPublicFoldersRecursive(string parent);
|
||||
long GetPublicFolderSize(string folder);
|
||||
|
||||
//ActiveSync
|
||||
void CreateOrganizationActiveSyncPolicy(string organizationId);
|
||||
ExchangeActiveSyncPolicy GetActiveSyncPolicy(string organizationId);
|
||||
void SetActiveSyncPolicy(string organizationId, bool allowNonProvisionableDevices, bool attachmentsEnabled,
|
||||
int maxAttachmentSizeKB, bool uncAccessEnabled, bool wssAccessEnabled, bool devicePasswordEnabled,
|
||||
bool alphanumericPasswordRequired, bool passwordRecoveryEnabled, bool deviceEncryptionEnabled,
|
||||
bool allowSimplePassword, int maxPasswordFailedAttempts, int minPasswordLength, int inactivityLockMin,
|
||||
int passwordExpirationDays, int passwordHistory, int refreshInterval);
|
||||
//ActiveSync
|
||||
void CreateOrganizationActiveSyncPolicy(string organizationId);
|
||||
ExchangeActiveSyncPolicy GetActiveSyncPolicy(string organizationId);
|
||||
void SetActiveSyncPolicy(string organizationId, bool allowNonProvisionableDevices, bool attachmentsEnabled,
|
||||
int maxAttachmentSizeKB, bool uncAccessEnabled, bool wssAccessEnabled, bool devicePasswordEnabled,
|
||||
bool alphanumericPasswordRequired, bool passwordRecoveryEnabled, bool deviceEncryptionEnabled,
|
||||
bool allowSimplePassword, int maxPasswordFailedAttempts, int minPasswordLength, int inactivityLockMin,
|
||||
int passwordExpirationDays, int passwordHistory, int refreshInterval);
|
||||
|
||||
//Mobile Devices
|
||||
ExchangeMobileDevice[] GetMobileDevices(string accountName);
|
||||
ExchangeMobileDevice GetMobileDevice(string id);
|
||||
void WipeDataFromDevice(string id);
|
||||
void CancelRemoteWipeRequest(string id);
|
||||
void RemoveDevice(string id);
|
||||
}
|
||||
//Mobile Devices
|
||||
ExchangeMobileDevice[] GetMobileDevices(string accountName);
|
||||
ExchangeMobileDevice GetMobileDevice(string id);
|
||||
void WipeDataFromDevice(string id);
|
||||
void CancelRemoteWipeRequest(string id);
|
||||
void RemoveDevice(string id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,10 +33,10 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
public interface IOrganization
|
||||
{
|
||||
Organization CreateOrganization(string organizationId);
|
||||
|
||||
|
||||
void DeleteOrganization(string organizationId);
|
||||
|
||||
void CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled);
|
||||
int CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled);
|
||||
|
||||
void DeleteUser(string loginName, string organizationId);
|
||||
|
||||
|
@ -49,7 +49,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
string jobTitle,
|
||||
string company, string department, string office, string managerAccountName,
|
||||
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
|
||||
string webPage, string notes, string externalEmail);
|
||||
string webPage, string notes, string externalEmail);
|
||||
|
||||
bool OrganizationExists(string organizationId);
|
||||
|
||||
|
@ -58,5 +58,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
void CreateOrganizationDomain(string organizationDistinguishedName, string domain);
|
||||
|
||||
PasswordPolicyResult GetPasswordPolicy();
|
||||
|
||||
string GetSamAccountNameByUserPrincipalName(string organizationId, string userPrincipalName);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,12 +41,12 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
private string addressList;
|
||||
private string roomsAddressList;
|
||||
private string globalAddressList;
|
||||
private string addressBookPolicy;
|
||||
|
||||
private string database;
|
||||
private string securityGroup;
|
||||
private string lyncTenantId;
|
||||
private int diskSpace;
|
||||
private int issueWarningKB;
|
||||
private int prohibitSendKB;
|
||||
private int prohibitSendReceiveKB;
|
||||
private int keepDeletedItemsDays;
|
||||
|
||||
|
||||
|
@ -125,7 +125,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
get { return crmCurrency; }
|
||||
set { crmCurrency = value; }
|
||||
}
|
||||
|
||||
|
||||
[Persistent]
|
||||
public string DistinguishedName
|
||||
{
|
||||
|
@ -151,7 +151,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
{
|
||||
return defaultDomain;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Persistent]
|
||||
|
@ -182,6 +182,13 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
set { globalAddressList = value; }
|
||||
}
|
||||
|
||||
[Persistent]
|
||||
public string AddressBookPolicy
|
||||
{
|
||||
get { return addressBookPolicy; }
|
||||
set { addressBookPolicy = value; }
|
||||
}
|
||||
|
||||
[Persistent]
|
||||
public string Database
|
||||
{
|
||||
|
@ -203,27 +210,6 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
set { diskSpace = value; }
|
||||
}
|
||||
|
||||
[Persistent]
|
||||
public int IssueWarningKB
|
||||
{
|
||||
get { return issueWarningKB; }
|
||||
set { issueWarningKB = value; }
|
||||
}
|
||||
|
||||
[Persistent]
|
||||
public int ProhibitSendKB
|
||||
{
|
||||
get { return prohibitSendKB; }
|
||||
set { prohibitSendKB = value; }
|
||||
}
|
||||
|
||||
[Persistent]
|
||||
public int ProhibitSendReceiveKB
|
||||
{
|
||||
get { return prohibitSendReceiveKB; }
|
||||
set { prohibitSendReceiveKB = value; }
|
||||
}
|
||||
|
||||
[Persistent]
|
||||
public int KeepDeletedItemsDays
|
||||
{
|
||||
|
@ -233,5 +219,15 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
|
||||
[Persistent]
|
||||
public bool IsOCSOrganization { get; set; }
|
||||
|
||||
|
||||
[Persistent]
|
||||
public string LyncTenantId
|
||||
{
|
||||
get { return lyncTenantId; }
|
||||
set { lyncTenantId = value; }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
private int accountId;
|
||||
private int itemId;
|
||||
private int packageId;
|
||||
private string subscriberNumber;
|
||||
|
||||
private string primaryEmailAddress;
|
||||
private string accountPassword;
|
||||
|
@ -298,5 +299,13 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
set { isBlackBerryUser = value; }
|
||||
}
|
||||
|
||||
public string SubscriberNumber
|
||||
{
|
||||
get { return subscriberNumber; }
|
||||
set { subscriberNumber = value; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace WebsitePanel.Providers.HostedSolution
|
||||
{
|
||||
public class TransactionAction
|
||||
{
|
||||
private TransactionActionTypes actionType;
|
||||
|
||||
public TransactionActionTypes ActionType
|
||||
{
|
||||
get { return actionType; }
|
||||
set { actionType = value; }
|
||||
}
|
||||
|
||||
private string id;
|
||||
|
||||
public string Id
|
||||
{
|
||||
get { return id; }
|
||||
set { id = value; }
|
||||
}
|
||||
|
||||
private string suffix;
|
||||
|
||||
public string Suffix
|
||||
{
|
||||
get { return suffix; }
|
||||
set { suffix = value; }
|
||||
}
|
||||
|
||||
private string account;
|
||||
|
||||
public string Account
|
||||
{
|
||||
get { return account; }
|
||||
set { account = value; }
|
||||
|
||||
}
|
||||
|
||||
public enum TransactionActionTypes
|
||||
{
|
||||
CreateOrganizationUnit,
|
||||
CreateGlobalAddressList,
|
||||
CreateAddressList,
|
||||
CreateAddressBookPolicy,
|
||||
CreateOfflineAddressBook,
|
||||
CreateDistributionGroup,
|
||||
EnableDistributionGroup,
|
||||
CreateAcceptedDomain,
|
||||
AddUPNSuffix,
|
||||
CreateMailbox,
|
||||
CreateContact,
|
||||
CreatePublicFolder,
|
||||
CreateActiveSyncPolicy,
|
||||
AddMailboxFullAccessPermission,
|
||||
AddSendAsPermission,
|
||||
RemoveMailboxFullAccessPermission,
|
||||
RemoveSendAsPermission,
|
||||
EnableMailbox,
|
||||
LyncNewSipDomain,
|
||||
LyncNewSimpleUrl,
|
||||
LyncNewUser,
|
||||
LyncNewConferencingPolicy,
|
||||
LyncNewExternalAccessPolicy,
|
||||
LyncNewMobilityPolicy
|
||||
};
|
||||
}
|
||||
}
|
|
@ -79,6 +79,8 @@
|
|||
<Compile Include="HostedSolution\BlackBerryErrorsCodes.cs" />
|
||||
<Compile Include="HostedSolution\BlackBerryStatsItem.cs" />
|
||||
<Compile Include="HostedSolution\BlackBerryUserDeleteState.cs" />
|
||||
<Compile Include="HostedSolution\ExchangeMailboxPlan.cs" />
|
||||
<Compile Include="HostedSolution\TransactionAction.cs" />
|
||||
<Compile Include="ResultObjects\HeliconApe.cs" />
|
||||
<Compile Include="HostedSolution\ExchangeMobileDevice.cs" />
|
||||
<Compile Include="HostedSolution\IOCSEdgeServer.cs" />
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -167,7 +167,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
return runspace;
|
||||
}
|
||||
|
||||
private static Assembly ResolveExchangeAssembly(object p, ResolveEventArgs args)
|
||||
internal static Assembly ResolveExchangeAssembly(object p, ResolveEventArgs args)
|
||||
{
|
||||
//Add path for the Exchange 2007 DLLs
|
||||
if (args.Name.Contains("Microsoft.Exchange"))
|
||||
|
|
|
@ -0,0 +1,753 @@
|
|||
// 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.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Configuration;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Text;
|
||||
using System.Reflection;
|
||||
using System.Globalization;
|
||||
using System.Collections;
|
||||
|
||||
using System.DirectoryServices;
|
||||
using System.Security;
|
||||
using System.Security.Principal;
|
||||
using System.Security.AccessControl;
|
||||
|
||||
using System.Management.Automation;
|
||||
using System.Management.Automation.Runspaces;
|
||||
|
||||
using WebsitePanel.Providers;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.Providers.Utils;
|
||||
using WebsitePanel.Server.Utils;
|
||||
using Microsoft.Exchange.Data.Directory.Recipient;
|
||||
using Microsoft.Win32;
|
||||
|
||||
using Microsoft.Exchange.Data;
|
||||
using Microsoft.Exchange.Data.Directory;
|
||||
using Microsoft.Exchange.Data.Storage;
|
||||
|
||||
namespace WebsitePanel.Providers.HostedSolution
|
||||
{
|
||||
public class Exchange2010SP2 : Exchange2010
|
||||
{
|
||||
#region Static constructor
|
||||
|
||||
static private Hashtable htBbalancer = new Hashtable();
|
||||
|
||||
static Exchange2010SP2()
|
||||
{
|
||||
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(ResolveExchangeAssembly);
|
||||
ExchangeRegistryPath = "SOFTWARE\\Microsoft\\ExchangeServer\\v14\\Setup";
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region Organization
|
||||
/// <summary>
|
||||
/// Creates organization on Mail Server
|
||||
/// </summary>
|
||||
/// <param name="organizationId"></param>
|
||||
/// <returns></returns>
|
||||
internal override Organization ExtendToExchangeOrganizationInternal(string organizationId, string securityGroup, bool IsConsumer)
|
||||
{
|
||||
ExchangeLog.LogStart("CreateOrganizationInternal");
|
||||
ExchangeLog.DebugInfo(" Organization Id: {0}", organizationId);
|
||||
|
||||
ExchangeTransaction transaction = StartTransaction();
|
||||
Organization info = new Organization();
|
||||
Runspace runSpace = null;
|
||||
try
|
||||
{
|
||||
runSpace = OpenRunspace();
|
||||
|
||||
string server = GetServerName();
|
||||
string securityGroupPath = AddADPrefix(securityGroup);
|
||||
|
||||
//Create mail enabled organization security group
|
||||
EnableMailSecurityDistributionGroup(runSpace, securityGroup, organizationId);
|
||||
transaction.RegisterMailEnabledDistributionGroup(securityGroup);
|
||||
UpdateSecurityDistributionGroup(runSpace, securityGroup, organizationId, IsConsumer);
|
||||
|
||||
//create GAL
|
||||
string galId = CreateGlobalAddressList(runSpace, organizationId);
|
||||
transaction.RegisterNewGlobalAddressList(galId);
|
||||
ExchangeLog.LogInfo(" Global Address List: {0}", galId);
|
||||
UpdateGlobalAddressList(runSpace, galId, securityGroupPath);
|
||||
|
||||
//create AL
|
||||
string alId = CreateAddressList(runSpace, organizationId);
|
||||
transaction.RegisterNewAddressList(alId);
|
||||
ExchangeLog.LogInfo(" Address List: {0}", alId);
|
||||
UpdateAddressList(runSpace, alId, securityGroupPath);
|
||||
|
||||
//create RAL
|
||||
string ralId = CreateRoomsAddressList(runSpace, organizationId);
|
||||
transaction.RegisterNewRoomsAddressList(ralId);
|
||||
ExchangeLog.LogInfo(" Rooms Address List: {0}", ralId);
|
||||
UpdateAddressList(runSpace, ralId, securityGroupPath);
|
||||
|
||||
//create ActiveSync policy
|
||||
string asId = CreateActiveSyncPolicy(runSpace, organizationId);
|
||||
transaction.RegisterNewActiveSyncPolicy(asId);
|
||||
ExchangeLog.LogInfo(" ActiveSync Policy: {0}", asId);
|
||||
|
||||
info.AddressList = alId;
|
||||
info.GlobalAddressList = galId;
|
||||
info.RoomsAddressList = ralId;
|
||||
info.OrganizationId = organizationId;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ExchangeLog.LogError("CreateOrganizationInternal", ex);
|
||||
RollbackTransaction(transaction);
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
CloseRunspace(runSpace);
|
||||
}
|
||||
ExchangeLog.LogEnd("CreateOrganizationInternal");
|
||||
return info;
|
||||
}
|
||||
|
||||
|
||||
internal override Organization CreateOrganizationAddressBookPolicyInternal(string organizationId, string gal, string addressBook, string roomList, string oab)
|
||||
{
|
||||
ExchangeLog.LogStart("CreateOrganizationAddressBookPolicyInternal");
|
||||
ExchangeLog.LogInfo(" Organization Id: {0}", organizationId);
|
||||
ExchangeLog.LogInfo(" GAL: {0}", gal);
|
||||
ExchangeLog.LogInfo(" AddressBook: {0}", addressBook);
|
||||
ExchangeLog.LogInfo(" RoomList: {0}", roomList);
|
||||
ExchangeLog.LogInfo(" OAB: {0}", oab);
|
||||
|
||||
ExchangeTransaction transaction = StartTransaction();
|
||||
|
||||
Organization info = new Organization();
|
||||
string policyName = GetAddressBookPolicyName(organizationId);
|
||||
|
||||
Runspace runSpace = null;
|
||||
try
|
||||
{
|
||||
runSpace = OpenRunspace();
|
||||
Command cmd = new Command("New-AddressBookPolicy");
|
||||
cmd.Parameters.Add("Name", policyName);
|
||||
cmd.Parameters.Add("AddressLists", addressBook);
|
||||
cmd.Parameters.Add("RoomList", roomList);
|
||||
cmd.Parameters.Add("GlobalAddressList", gal);
|
||||
cmd.Parameters.Add("OfflineAddressBook", oab);
|
||||
|
||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||
info.AddressBookPolicy = GetResultObjectDN(result);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ExchangeLog.LogError("CreateOrganizationAddressBookPolicyInternal", ex);
|
||||
RollbackTransaction(transaction);
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
CloseRunspace(runSpace);
|
||||
}
|
||||
ExchangeLog.LogEnd("CreateOrganizationAddressBookPolicyInternal");
|
||||
return info;
|
||||
}
|
||||
|
||||
internal override bool DeleteOrganizationInternal(string organizationId, string distinguishedName,
|
||||
string globalAddressList, string addressList, string roomList, string offlineAddressBook, string securityGroup, string addressBookPolicy)
|
||||
{
|
||||
ExchangeLog.LogStart("DeleteOrganizationInternal");
|
||||
bool ret = true;
|
||||
|
||||
Runspace runSpace = null;
|
||||
try
|
||||
{
|
||||
runSpace = OpenRunspace();
|
||||
|
||||
|
||||
string ou = ConvertADPathToCanonicalName(distinguishedName);
|
||||
|
||||
if (!DeleteOrganizationMailboxes(runSpace, ou))
|
||||
ret = false;
|
||||
|
||||
if (!DeleteOrganizationContacts(runSpace, ou))
|
||||
ret = false;
|
||||
|
||||
if (!DeleteOrganizationDistributionLists(runSpace, ou))
|
||||
ret = false;
|
||||
|
||||
//delete AddressBookPolicy
|
||||
try
|
||||
{
|
||||
if (!string.IsNullOrEmpty(addressBookPolicy))
|
||||
DeleteAddressBookPolicy(runSpace, addressBookPolicy);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ret = false;
|
||||
ExchangeLog.LogError("Could not delete AddressBook Policy " + addressBookPolicy, ex);
|
||||
}
|
||||
|
||||
//delete OAB
|
||||
try
|
||||
{
|
||||
if (!string.IsNullOrEmpty(offlineAddressBook))
|
||||
DeleteOfflineAddressBook(runSpace, offlineAddressBook);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ret = false;
|
||||
ExchangeLog.LogError("Could not delete Offline Address Book " + offlineAddressBook, ex);
|
||||
}
|
||||
|
||||
//delete AL
|
||||
try
|
||||
{
|
||||
if (!string.IsNullOrEmpty(addressList))
|
||||
DeleteAddressList(runSpace, addressList);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ret = false;
|
||||
ExchangeLog.LogError("Could not delete Address List " + addressList, ex);
|
||||
}
|
||||
|
||||
//delete RL
|
||||
try
|
||||
{
|
||||
if (!string.IsNullOrEmpty(roomList))
|
||||
DeleteAddressList(runSpace, roomList);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ret = false;
|
||||
ExchangeLog.LogError("Could not delete Address List " + roomList, ex);
|
||||
}
|
||||
|
||||
|
||||
//delete GAL
|
||||
try
|
||||
{
|
||||
if (!string.IsNullOrEmpty(globalAddressList))
|
||||
DeleteGlobalAddressList(runSpace, globalAddressList);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ret = false;
|
||||
ExchangeLog.LogError("Could not delete Global Address List " + globalAddressList, ex);
|
||||
}
|
||||
|
||||
//delete ActiveSync policy
|
||||
try
|
||||
{
|
||||
DeleteActiveSyncPolicy(runSpace, organizationId);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ret = false;
|
||||
ExchangeLog.LogError("Could not delete ActiveSyncPolicy " + organizationId, ex);
|
||||
}
|
||||
|
||||
//disable mail security distribution group
|
||||
try
|
||||
{
|
||||
DisableMailSecurityDistributionGroup(runSpace, securityGroup);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ret = false;
|
||||
ExchangeLog.LogError("Could not disable mail security distribution group " + securityGroup, ex);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ret = false;
|
||||
ExchangeLog.LogError("DeleteOrganizationInternal", ex);
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
CloseRunspace(runSpace);
|
||||
}
|
||||
ExchangeLog.LogEnd("DeleteOrganizationInternal");
|
||||
return ret;
|
||||
}
|
||||
|
||||
internal override void DeleteAddressBookPolicy(Runspace runSpace, string id)
|
||||
{
|
||||
ExchangeLog.LogStart("DeleteAddressBookPolicy");
|
||||
//if (id != "IsConsumer")
|
||||
//{
|
||||
Command cmd = new Command("Remove-AddressBookPolicy");
|
||||
cmd.Parameters.Add("Identity", id);
|
||||
cmd.Parameters.Add("Confirm", false);
|
||||
ExecuteShellCommand(runSpace, cmd);
|
||||
//}
|
||||
ExchangeLog.LogEnd("DeleteAddressBookPolicy");
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Mailbox
|
||||
internal override string CreateMailEnableUserInternal(string upn, string organizationId, string organizationDistinguishedName, ExchangeAccountType accountType,
|
||||
string mailboxDatabase, string offlineAddressBook, string addressBookPolicy,
|
||||
string accountName, bool enablePOP, bool enableIMAP,
|
||||
bool enableOWA, bool enableMAPI, bool enableActiveSync,
|
||||
int issueWarningKB, int prohibitSendKB, int prohibitSendReceiveKB, int keepDeletedItemsDays,
|
||||
int maxRecipients, int maxSendMessageSizeKB, int maxReceiveMessageSizeKB, bool hideFromAddressBook, bool IsConsumer)
|
||||
{
|
||||
|
||||
ExchangeLog.LogStart("CreateMailEnableUserInternal");
|
||||
ExchangeLog.DebugInfo("Organization Id: {0}", organizationId);
|
||||
|
||||
string ret = null;
|
||||
ExchangeTransaction transaction = StartTransaction();
|
||||
Runspace runSpace = null;
|
||||
|
||||
int attempts = 0;
|
||||
string id = null;
|
||||
|
||||
try
|
||||
{
|
||||
runSpace = OpenRunspace();
|
||||
Command cmd = null;
|
||||
Collection<PSObject> result = null;
|
||||
|
||||
//try to enable mail user for 10 times
|
||||
while (true)
|
||||
{
|
||||
try
|
||||
{
|
||||
//create mailbox
|
||||
cmd = new Command("Enable-Mailbox");
|
||||
cmd.Parameters.Add("Identity", upn);
|
||||
cmd.Parameters.Add("Alias", accountName);
|
||||
string database = GetDatabase(runSpace, PrimaryDomainController, mailboxDatabase);
|
||||
ExchangeLog.DebugInfo("database: " + database);
|
||||
if (database != string.Empty)
|
||||
{
|
||||
cmd.Parameters.Add("Database", database);
|
||||
}
|
||||
if (accountType == ExchangeAccountType.Equipment)
|
||||
cmd.Parameters.Add("Equipment");
|
||||
else if (accountType == ExchangeAccountType.Room)
|
||||
cmd.Parameters.Add("Room");
|
||||
|
||||
result = ExecuteShellCommand(runSpace, cmd);
|
||||
|
||||
id = CheckResultObjectDN(result);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ExchangeLog.LogError(ex);
|
||||
}
|
||||
if (id != null)
|
||||
break;
|
||||
|
||||
if (attempts > 9)
|
||||
throw new Exception(
|
||||
string.Format("Could not enable mail user '{0}' ", upn));
|
||||
|
||||
attempts++;
|
||||
ExchangeLog.LogWarning("Attempt #{0} to enable mail user failed!", attempts);
|
||||
// wait 5 sec
|
||||
System.Threading.Thread.Sleep(1000);
|
||||
}
|
||||
|
||||
transaction.RegisterEnableMailbox(id);
|
||||
|
||||
string windowsEmailAddress = ObjToString(GetPSObjectProperty(result[0], "WindowsEmailAddress"));
|
||||
|
||||
//update mailbox
|
||||
cmd = new Command("Set-Mailbox");
|
||||
cmd.Parameters.Add("Identity", id);
|
||||
cmd.Parameters.Add("OfflineAddressBook", offlineAddressBook);
|
||||
cmd.Parameters.Add("EmailAddressPolicyEnabled", false);
|
||||
cmd.Parameters.Add("CustomAttribute1", organizationId);
|
||||
cmd.Parameters.Add("CustomAttribute3", windowsEmailAddress);
|
||||
cmd.Parameters.Add("PrimarySmtpAddress", upn);
|
||||
cmd.Parameters.Add("WindowsEmailAddress", upn);
|
||||
|
||||
cmd.Parameters.Add("UseDatabaseQuotaDefaults", new bool?(false));
|
||||
cmd.Parameters.Add("UseDatabaseRetentionDefaults", false);
|
||||
cmd.Parameters.Add("IssueWarningQuota", ConvertKBToUnlimited(issueWarningKB));
|
||||
cmd.Parameters.Add("ProhibitSendQuota", ConvertKBToUnlimited(prohibitSendKB));
|
||||
cmd.Parameters.Add("ProhibitSendReceiveQuota", ConvertKBToUnlimited(prohibitSendReceiveKB));
|
||||
cmd.Parameters.Add("RetainDeletedItemsFor", ConvertDaysToEnhancedTimeSpan(keepDeletedItemsDays));
|
||||
cmd.Parameters.Add("RecipientLimits", ConvertInt32ToUnlimited(maxRecipients));
|
||||
cmd.Parameters.Add("MaxSendSize", ConvertKBToUnlimited(maxSendMessageSizeKB));
|
||||
cmd.Parameters.Add("MaxReceiveSize", ConvertKBToUnlimited(maxReceiveMessageSizeKB));
|
||||
if (IsConsumer) cmd.Parameters.Add("HiddenFromAddressListsEnabled", true);
|
||||
else
|
||||
cmd.Parameters.Add("HiddenFromAddressListsEnabled", hideFromAddressBook);
|
||||
cmd.Parameters.Add("AddressBookPolicy", addressBookPolicy);
|
||||
ExecuteShellCommand(runSpace, cmd);
|
||||
|
||||
//Client Access
|
||||
cmd = new Command("Set-CASMailbox");
|
||||
cmd.Parameters.Add("Identity", id);
|
||||
cmd.Parameters.Add("ActiveSyncEnabled", enableActiveSync);
|
||||
if (enableActiveSync)
|
||||
{
|
||||
cmd.Parameters.Add("ActiveSyncMailboxPolicy", organizationId);
|
||||
}
|
||||
cmd.Parameters.Add("OWAEnabled", enableOWA);
|
||||
cmd.Parameters.Add("MAPIEnabled", enableMAPI);
|
||||
cmd.Parameters.Add("PopEnabled", enablePOP);
|
||||
cmd.Parameters.Add("ImapEnabled", enableIMAP);
|
||||
ExecuteShellCommand(runSpace, cmd);
|
||||
|
||||
//add to the security group
|
||||
cmd = new Command("Add-DistributionGroupMember");
|
||||
cmd.Parameters.Add("Identity", organizationId);
|
||||
cmd.Parameters.Add("Member", id);
|
||||
cmd.Parameters.Add("BypassSecurityGroupManagerCheck", true);
|
||||
ExecuteShellCommand(runSpace, cmd);
|
||||
|
||||
if (!IsConsumer)
|
||||
{
|
||||
//Set-MailboxFolderPermission for calendar
|
||||
cmd = new Command("Add-MailboxFolderPermission");
|
||||
cmd.Parameters.Add("Identity", id + ":\\calendar");
|
||||
cmd.Parameters.Add("AccessRights", "Reviewer");
|
||||
cmd.Parameters.Add("User", organizationId);
|
||||
ExecuteShellCommand(runSpace, cmd);
|
||||
}
|
||||
cmd = new Command("Set-MailboxFolderPermission");
|
||||
cmd.Parameters.Add("Identity", id + ":\\calendar");
|
||||
cmd.Parameters.Add("AccessRights", "None");
|
||||
cmd.Parameters.Add("User", "Default");
|
||||
ExecuteShellCommand(runSpace, cmd);
|
||||
|
||||
ret = string.Format("{0}\\{1}", GetNETBIOSDomainName(), accountName);
|
||||
ExchangeLog.LogEnd("CreateMailEnableUserInternal");
|
||||
return ret;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ExchangeLog.LogError("CreateMailEnableUserInternal", ex);
|
||||
RollbackTransaction(transaction);
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
CloseRunspace(runSpace);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
internal override void DisableMailboxInternal(string id)
|
||||
{
|
||||
ExchangeLog.LogStart("DisableMailboxInternal");
|
||||
Runspace runSpace = null;
|
||||
try
|
||||
{
|
||||
runSpace = OpenRunspace();
|
||||
|
||||
Command cmd = new Command("Get-Mailbox");
|
||||
cmd.Parameters.Add("Identity", id);
|
||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||
|
||||
if (result != null && result.Count > 0)
|
||||
{
|
||||
string upn = ObjToString(GetPSObjectProperty(result[0], "UserPrincipalName"));
|
||||
|
||||
string addressbookPolicy = ObjToString(GetPSObjectProperty(result[0], "AddressBookPolicy"));
|
||||
|
||||
cmd = new Command("Disable-Mailbox");
|
||||
cmd.Parameters.Add("Identity", id);
|
||||
cmd.Parameters.Add("Confirm", false);
|
||||
ExecuteShellCommand(runSpace, cmd);
|
||||
|
||||
if (addressbookPolicy == (upn + " AP"))
|
||||
{
|
||||
try
|
||||
{
|
||||
DeleteAddressBookPolicy(runSpace, upn + " AP");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
DeleteGlobalAddressList(runSpace, upn + " GAL");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
DeleteAddressList(runSpace, upn + " AL");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
|
||||
CloseRunspace(runSpace);
|
||||
}
|
||||
ExchangeLog.LogEnd("DisableMailboxInternal");
|
||||
}
|
||||
|
||||
|
||||
internal override void DeleteMailboxInternal(string accountName)
|
||||
{
|
||||
ExchangeLog.LogStart("DeleteMailboxInternal");
|
||||
ExchangeLog.DebugInfo("Account Name: {0}", accountName);
|
||||
|
||||
Runspace runSpace = null;
|
||||
try
|
||||
{
|
||||
runSpace = OpenRunspace();
|
||||
|
||||
Command cmd = new Command("Get-Mailbox");
|
||||
cmd.Parameters.Add("Identity", accountName);
|
||||
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
|
||||
|
||||
if (result != null && result.Count > 0)
|
||||
{
|
||||
string upn = ObjToString(GetPSObjectProperty(result[0], "UserPrincipalName"));
|
||||
string addressbookPolicy = ObjToString(GetPSObjectProperty(result[0], "AddressBookPolicy"));
|
||||
|
||||
RemoveMailbox(runSpace, accountName);
|
||||
|
||||
if (addressbookPolicy == (upn + " AP"))
|
||||
{
|
||||
try
|
||||
{
|
||||
DeleteAddressBookPolicy(runSpace, upn + " AP");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
DeleteGlobalAddressList(runSpace, upn + " GAL");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
DeleteAddressList(runSpace, upn + " AL");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
CloseRunspace(runSpace);
|
||||
}
|
||||
ExchangeLog.LogEnd("DeleteMailboxInternal");
|
||||
}
|
||||
|
||||
|
||||
internal string GetDatabase(Runspace runSpace, string primaryDomainController, string dagName)
|
||||
{
|
||||
string database = string.Empty;
|
||||
|
||||
if (string.IsNullOrEmpty(dagName)) return string.Empty;
|
||||
|
||||
ExchangeLog.LogStart("GetDatabase");
|
||||
ExchangeLog.LogInfo("DAG: " + dagName);
|
||||
|
||||
//Get Dag Servers
|
||||
Collection<PSObject> dags = null;
|
||||
Command cmd = new Command("Get-DatabaseAvailabilityGroup");
|
||||
cmd.Parameters.Add("Identity", dagName);
|
||||
dags = ExecuteShellCommand(runSpace, cmd);
|
||||
|
||||
if (htBbalancer == null)
|
||||
htBbalancer = new Hashtable();
|
||||
|
||||
if (htBbalancer[dagName] == null)
|
||||
htBbalancer.Add(dagName, 0);
|
||||
|
||||
if (dags != null && dags.Count > 0)
|
||||
{
|
||||
|
||||
ADMultiValuedProperty<ADObjectId> servers = (ADMultiValuedProperty<ADObjectId>)GetPSObjectProperty(dags[0], "Servers");
|
||||
|
||||
if (servers != null)
|
||||
{
|
||||
System.Collections.Generic.List<string> lstDatabase = new System.Collections.Generic.List<string>();
|
||||
|
||||
foreach (object objServer in servers)
|
||||
{
|
||||
Collection<PSObject> databases = null;
|
||||
cmd = new Command("Get-MailboxDatabase");
|
||||
cmd.Parameters.Add("Server", ObjToString(objServer));
|
||||
databases = ExecuteShellCommand(runSpace, cmd);
|
||||
|
||||
foreach (PSObject objDatabase in databases)
|
||||
{
|
||||
if (((bool)GetPSObjectProperty(objDatabase, "IsExcludedFromProvisioning") == false) &&
|
||||
((bool)GetPSObjectProperty(objDatabase, "IsSuspendedFromProvisioning") == false))
|
||||
{
|
||||
string db = ObjToString(GetPSObjectProperty(objDatabase, "Identity"));
|
||||
|
||||
bool bAdd = true;
|
||||
foreach (string s in lstDatabase)
|
||||
{
|
||||
if (s.ToLower() == db.ToLower())
|
||||
{
|
||||
bAdd = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (bAdd)
|
||||
{
|
||||
lstDatabase.Add(db);
|
||||
ExchangeLog.LogInfo("AddDatabase: " + db);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int balancer = (int)htBbalancer[dagName];
|
||||
balancer++;
|
||||
if (balancer >= lstDatabase.Count) balancer = 0;
|
||||
htBbalancer[dagName] = balancer;
|
||||
if (lstDatabase.Count != 0) database = lstDatabase[balancer];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
ExchangeLog.LogEnd("GetDatabase");
|
||||
return database;
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region AddressBook
|
||||
internal override void AdjustADSecurity(string objPath, string securityGroupPath, bool isAddressBook)
|
||||
{
|
||||
ExchangeLog.LogStart("AdjustADSecurity");
|
||||
ExchangeLog.DebugInfo(" Active Direcory object: {0}", objPath);
|
||||
ExchangeLog.DebugInfo(" Security Group: {0}", securityGroupPath);
|
||||
|
||||
if (isAddressBook)
|
||||
{
|
||||
ExchangeLog.DebugInfo(" Updating Security");
|
||||
//"Download Address Book" security permission for offline address book
|
||||
Guid openAddressBookGuid = new Guid("{bd919c7c-2d79-4950-bc9c-e16fd99285e8}");
|
||||
|
||||
DirectoryEntry groupEntry = GetADObject(securityGroupPath);
|
||||
byte[] byteSid = (byte[])GetADObjectProperty(groupEntry, "objectSid");
|
||||
|
||||
DirectoryEntry objEntry = GetADObject(objPath);
|
||||
ActiveDirectorySecurity security = objEntry.ObjectSecurity;
|
||||
|
||||
// Create a SecurityIdentifier object for security group.
|
||||
SecurityIdentifier groupSid = new SecurityIdentifier(byteSid, 0);
|
||||
|
||||
// Create an access rule to allow users in Security Group to open address book.
|
||||
ActiveDirectoryAccessRule allowOpenAddressBook =
|
||||
new ActiveDirectoryAccessRule(
|
||||
groupSid,
|
||||
ActiveDirectoryRights.ExtendedRight,
|
||||
AccessControlType.Allow,
|
||||
openAddressBookGuid);
|
||||
|
||||
// Create an access rule to allow users in Security Group to read object.
|
||||
ActiveDirectoryAccessRule allowRead =
|
||||
new ActiveDirectoryAccessRule(
|
||||
groupSid,
|
||||
ActiveDirectoryRights.GenericRead,
|
||||
AccessControlType.Allow);
|
||||
|
||||
// Remove existing rules if exist
|
||||
security.RemoveAccessRuleSpecific(allowOpenAddressBook);
|
||||
security.RemoveAccessRuleSpecific(allowRead);
|
||||
|
||||
// Add a new access rule to allow users in Security Group to open address book.
|
||||
security.AddAccessRule(allowOpenAddressBook);
|
||||
// Add a new access rule to allow users in Security Group to read object.
|
||||
security.AddAccessRule(allowRead);
|
||||
|
||||
// Commit the changes.
|
||||
objEntry.CommitChanges();
|
||||
}
|
||||
|
||||
ExchangeLog.LogEnd("AdjustADSecurity");
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
public override bool IsInstalled()
|
||||
{
|
||||
int value = 0;
|
||||
bool bResult = false;
|
||||
RegistryKey root = Registry.LocalMachine;
|
||||
RegistryKey rk = root.OpenSubKey(ExchangeRegistryPath);
|
||||
if (rk != null)
|
||||
{
|
||||
value = (int)rk.GetValue("MsiProductMajor", null);
|
||||
if (value == 14)
|
||||
{
|
||||
value = (int)rk.GetValue("MsiProductMinor", null);
|
||||
if (value == 2) bResult = true;
|
||||
}
|
||||
rk.Close();
|
||||
}
|
||||
return bResult;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -33,71 +33,67 @@ using WebsitePanel.Server.Utils;
|
|||
|
||||
namespace WebsitePanel.Providers.HostedSolution
|
||||
{
|
||||
/// <summary>
|
||||
/// Exchange Log Helper Methods
|
||||
/// </summary>
|
||||
internal class ExchangeLog
|
||||
{
|
||||
internal static string LogPrefix = "Exchange";
|
||||
/// <summary>
|
||||
/// Exchange Log Helper Methods
|
||||
/// </summary>
|
||||
internal class ExchangeLog
|
||||
{
|
||||
internal static string LogPrefix = "Exchange";
|
||||
|
||||
internal static void LogStart(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteStart("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
internal static void LogStart(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteStart("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
internal static void LogEnd(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteEnd("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
internal static void LogEnd(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteEnd("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
internal static void LogInfo(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
internal static void LogInfo(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
internal static void LogWarning(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteWarning("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
internal static void LogWarning(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteWarning("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
internal static void LogError(Exception ex)
|
||||
{
|
||||
Log.WriteError(LogPrefix, ex);
|
||||
}
|
||||
internal static void LogError(Exception ex)
|
||||
{
|
||||
Log.WriteError(LogPrefix, ex);
|
||||
}
|
||||
|
||||
internal static void LogError(string message, Exception ex)
|
||||
{
|
||||
string text = String.Format("{0} {1}", LogPrefix, message);
|
||||
Log.WriteError(text, ex);
|
||||
}
|
||||
internal static void LogError(string message, Exception ex)
|
||||
{
|
||||
string text = String.Format("{0} {1}", LogPrefix, message);
|
||||
Log.WriteError(text, ex);
|
||||
}
|
||||
|
||||
internal static void DebugInfo(string message, params object[] args)
|
||||
{
|
||||
#if DEBUG
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, text);
|
||||
#endif
|
||||
}
|
||||
internal static void DebugInfo(string message, params object[] args)
|
||||
{
|
||||
string text = String.Format(message, args);
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, text);
|
||||
}
|
||||
|
||||
internal static void DebugCommand(Command cmd)
|
||||
{
|
||||
#if DEBUG
|
||||
StringBuilder sb = new StringBuilder(cmd.CommandText);
|
||||
foreach (CommandParameter parameter in cmd.Parameters)
|
||||
{
|
||||
string formatString = " -{0} {1}";
|
||||
if (parameter.Value is string)
|
||||
formatString = " -{0} '{1}'";
|
||||
else if (parameter.Value is bool)
|
||||
formatString = " -{0} ${1}";
|
||||
sb.AppendFormat(formatString, parameter.Name, parameter.Value);
|
||||
}
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, sb.ToString());
|
||||
#endif
|
||||
}
|
||||
}
|
||||
internal static void DebugCommand(Command cmd)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder(cmd.CommandText);
|
||||
foreach (CommandParameter parameter in cmd.Parameters)
|
||||
{
|
||||
string formatString = " -{0} {1}";
|
||||
if (parameter.Value is string)
|
||||
formatString = " -{0} '{1}'";
|
||||
else if (parameter.Value is bool)
|
||||
formatString = " -{0} ${1}";
|
||||
sb.AppendFormat(formatString, parameter.Name, parameter.Value);
|
||||
}
|
||||
Log.WriteInfo("{0} {1}", LogPrefix, sb.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,228 +30,180 @@ using System.Collections.Generic;
|
|||
|
||||
namespace WebsitePanel.Providers.HostedSolution
|
||||
{
|
||||
internal class ExchangeTransaction
|
||||
{
|
||||
List<TransactionAction> actions = null;
|
||||
internal class ExchangeTransaction
|
||||
{
|
||||
List<TransactionAction> actions = null;
|
||||
|
||||
public ExchangeTransaction()
|
||||
{
|
||||
actions = new List<TransactionAction>();
|
||||
}
|
||||
public ExchangeTransaction()
|
||||
{
|
||||
actions = new List<TransactionAction>();
|
||||
}
|
||||
|
||||
internal List<TransactionAction> Actions
|
||||
{
|
||||
get { return actions; }
|
||||
}
|
||||
internal List<TransactionAction> Actions
|
||||
{
|
||||
get { return actions; }
|
||||
}
|
||||
|
||||
internal void RegisterNewOrganizationUnit(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateOrganizationUnit;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
internal void RegisterNewOrganizationUnit(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateOrganizationUnit;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
public void RegisterNewDistributionGroup(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateDistributionGroup;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
public void RegisterNewDistributionGroup(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateDistributionGroup;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
|
||||
public void RegisterMailEnabledDistributionGroup(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.EnableDistributionGroup;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
public void RegisterMailEnabledDistributionGroup(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.EnableDistributionGroup;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterNewGlobalAddressList(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateGlobalAddressList;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterNewAddressList(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressList;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterNewAddressBookPolicy(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressBookPolicy;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterNewGlobalAddressList(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateGlobalAddressList;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterNewAddressList(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressList;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
internal void RegisterNewRoomsAddressList(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateRoomsAddressList;
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressList;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
internal void RegisterNewAddressPolicy(string id)
|
||||
|
||||
|
||||
internal void RegisterNewOfflineAddressBook(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateAddressPolicy;
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateOfflineAddressBook;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterNewActiveSyncPolicy(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateActiveSyncPolicy;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
|
||||
internal void RegisterNewOfflineAddressBook(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateOfflineAddressBook;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
internal void RegisterNewAcceptedDomain(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateAcceptedDomain;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterNewActiveSyncPolicy(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateActiveSyncPolicy;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
internal void RegisterNewUPNSuffix(string id, string suffix)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.AddUPNSuffix;
|
||||
action.Id = id;
|
||||
action.Suffix = suffix;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterNewMailbox(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateMailbox;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterEnableMailbox(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.EnableMailbox;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
|
||||
internal void RegisterNewAcceptedDomain(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateAcceptedDomain;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
internal void RegisterNewContact(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateContact;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterNewUPNSuffix(string id, string suffix)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.AddUPNSuffix;
|
||||
action.Id = id;
|
||||
action.Suffix = suffix;
|
||||
Actions.Add(action);
|
||||
}
|
||||
internal void RegisterNewPublicFolder(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreatePublicFolder;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterNewMailbox(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateMailbox;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
internal void AddMailBoxFullAccessPermission(string accountName, string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.AddMailboxFullAccessPermission;
|
||||
action.Id = id;
|
||||
action.Account = accountName;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterNewContact(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreateContact;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RegisterNewPublicFolder(string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.CreatePublicFolder;
|
||||
action.Id = id;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void AddMailBoxFullAccessPermission(string accountName, string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.AddMailboxFullAccessPermission;
|
||||
action.Id = id;
|
||||
action.Account = accountName;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void AddSendAsPermission(string accountName, string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.AddSendAsPermission;
|
||||
action.Id = id;
|
||||
action.Account = accountName;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RemoveMailboxFullAccessPermission(string accountName, string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.RemoveMailboxFullAccessPermission;
|
||||
action.Id = id;
|
||||
action.Account = accountName;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RemoveSendAsPermission(string accountName, string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.RemoveSendAsPermission;
|
||||
action.Id = id;
|
||||
action.Account = accountName;
|
||||
Actions.Add(action);
|
||||
}
|
||||
}
|
||||
|
||||
internal class TransactionAction
|
||||
{
|
||||
private TransactionActionTypes actionType;
|
||||
|
||||
public TransactionActionTypes ActionType
|
||||
{
|
||||
get { return actionType; }
|
||||
set { actionType = value; }
|
||||
}
|
||||
|
||||
private string id;
|
||||
|
||||
public string Id
|
||||
{
|
||||
get { return id; }
|
||||
set { id = value; }
|
||||
}
|
||||
|
||||
private string suffix;
|
||||
|
||||
public string Suffix
|
||||
{
|
||||
get { return suffix; }
|
||||
set { suffix = value; }
|
||||
}
|
||||
|
||||
private string account;
|
||||
|
||||
public string Account
|
||||
{
|
||||
get { return account; }
|
||||
set { account = value; }
|
||||
|
||||
}
|
||||
|
||||
internal enum TransactionActionTypes
|
||||
{
|
||||
CreateOrganizationUnit,
|
||||
CreateGlobalAddressList,
|
||||
CreateAddressList,
|
||||
CreateAddressPolicy,
|
||||
CreateOfflineAddressBook,
|
||||
CreateDistributionGroup,
|
||||
EnableDistributionGroup,
|
||||
CreateAcceptedDomain,
|
||||
AddUPNSuffix,
|
||||
CreateMailbox,
|
||||
CreateContact,
|
||||
CreatePublicFolder,
|
||||
CreateActiveSyncPolicy,
|
||||
AddMailboxFullAccessPermission,
|
||||
AddSendAsPermission,
|
||||
RemoveMailboxFullAccessPermission,
|
||||
RemoveSendAsPermission,
|
||||
CreateRoomsAddressList
|
||||
};
|
||||
}
|
||||
internal void AddSendAsPermission(string accountName, string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.AddSendAsPermission;
|
||||
action.Id = id;
|
||||
action.Account = accountName;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RemoveMailboxFullAccessPermission(string accountName, string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.RemoveMailboxFullAccessPermission;
|
||||
action.Id = id;
|
||||
action.Account = accountName;
|
||||
Actions.Add(action);
|
||||
}
|
||||
|
||||
internal void RemoveSendAsPermission(string accountName, string id)
|
||||
{
|
||||
TransactionAction action = new TransactionAction();
|
||||
action.ActionType = TransactionAction.TransactionActionTypes.RemoveSendAsPermission;
|
||||
action.Id = id;
|
||||
action.Account = accountName;
|
||||
Actions.Add(action);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -342,9 +342,9 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
|
||||
#region Users
|
||||
|
||||
public void CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled)
|
||||
public int CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled)
|
||||
{
|
||||
CreateUserInternal(organizationId, loginName, displayName, upn, password, enabled);
|
||||
return CreateUserInternal(organizationId, loginName, displayName, upn, password, enabled);
|
||||
}
|
||||
|
||||
internal int CreateUserInternal(string organizationId, string loginName, string displayName, string upn, string password, bool enabled)
|
||||
|
@ -356,36 +356,43 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
|
||||
if (string.IsNullOrEmpty(organizationId))
|
||||
throw new ArgumentNullException("organizationId");
|
||||
|
||||
|
||||
if (string.IsNullOrEmpty(loginName))
|
||||
throw new ArgumentNullException("loginName");
|
||||
|
||||
if (string.IsNullOrEmpty(password))
|
||||
throw new ArgumentNullException("password");
|
||||
|
||||
bool userCreated = false;
|
||||
bool userCreated = false;
|
||||
string userPath = null;
|
||||
try
|
||||
{
|
||||
string path = GetOrganizationPath(organizationId);
|
||||
userPath= GetUserPath(organizationId, loginName);
|
||||
userPath = GetUserPath(organizationId, loginName);
|
||||
if (!ActiveDirectoryUtils.AdObjectExists(userPath))
|
||||
{
|
||||
userPath = ActiveDirectoryUtils.CreateUser(path, loginName, displayName, password, enabled);
|
||||
userPath = ActiveDirectoryUtils.CreateUser(path, upn, loginName, displayName, password, enabled);
|
||||
DirectoryEntry entry = new DirectoryEntry(userPath);
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.UserPrincipalName, upn);
|
||||
entry.CommitChanges();
|
||||
userCreated = true;
|
||||
HostedSolutionLog.DebugInfo("User created: {0}", displayName);
|
||||
}
|
||||
else
|
||||
{
|
||||
HostedSolutionLog.DebugInfo("AD_OBJECT_ALREADY_EXISTS: {0}", userPath);
|
||||
HostedSolutionLog.LogEnd("CreateUserInternal");
|
||||
return Errors.AD_OBJECT_ALREADY_EXISTS;
|
||||
|
||||
string groupPath = GetGroupPath(organizationId);
|
||||
}
|
||||
|
||||
string groupPath = GetGroupPath(organizationId);
|
||||
HostedSolutionLog.DebugInfo("Group retrieved: {0}", groupPath);
|
||||
|
||||
|
||||
|
||||
ActiveDirectoryUtils.AddUserToGroup(userPath, groupPath);
|
||||
HostedSolutionLog.DebugInfo("Added to group: {0}", groupPath);
|
||||
}
|
||||
catch(Exception e)
|
||||
catch (Exception e)
|
||||
{
|
||||
HostedSolutionLog.LogError(e);
|
||||
try
|
||||
|
@ -393,10 +400,12 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
if (userCreated)
|
||||
ActiveDirectoryUtils.DeleteADObject(userPath);
|
||||
}
|
||||
catch(Exception ex)
|
||||
catch (Exception ex)
|
||||
{
|
||||
HostedSolutionLog.LogError(ex);
|
||||
}
|
||||
}
|
||||
|
||||
return Errors.AD_OBJECT_ALREADY_EXISTS;
|
||||
}
|
||||
|
||||
HostedSolutionLog.LogEnd("CreateUserInternal");
|
||||
|
@ -492,10 +501,10 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
DirectoryEntry entry = ActiveDirectoryUtils.GetADObject(path);
|
||||
|
||||
OrganizationUser retUser = new OrganizationUser();
|
||||
|
||||
|
||||
retUser.FirstName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.FirstName);
|
||||
retUser.LastName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.LastName);
|
||||
retUser.DisplayName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.DisplayName);
|
||||
retUser.DisplayName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.DisplayName);
|
||||
retUser.Initials = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.Initials);
|
||||
retUser.JobTitle = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.JobTitle);
|
||||
retUser.Company = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.Company);
|
||||
|
@ -513,10 +522,11 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
retUser.Zip = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.Zip);
|
||||
retUser.Country = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.Country);
|
||||
retUser.Notes = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.Notes);
|
||||
retUser.ExternalEmail = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.ExternalEmail);
|
||||
retUser.Disabled = (bool)entry.InvokeGet(ADAttributes.AccountDisabled);
|
||||
retUser.ExternalEmail = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.ExternalEmail);
|
||||
retUser.Disabled = (bool)entry.InvokeGet(ADAttributes.AccountDisabled);
|
||||
retUser.Manager = GetManager(entry);
|
||||
retUser.DomainUserName = GetDomainName(loginName);
|
||||
retUser.SamAccountName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.SAMAccountName);
|
||||
retUser.DomainUserName = GetDomainName(ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.SAMAccountName));
|
||||
retUser.DistinguishedName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.DistinguishedName);
|
||||
retUser.Locked = (bool)entry.InvokeGet(ADAttributes.AccountLocked);
|
||||
|
||||
|
@ -578,7 +588,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.FirstName, firstName);
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.LastName, lastName);
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.DisplayName, displayName);
|
||||
|
||||
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.Initials, initials);
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.JobTitle, jobTitle);
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.Company, company);
|
||||
|
@ -596,7 +606,7 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.Zip, zip);
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.Country, country);
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.Notes, notes);
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.ExternalEmail, externalEmail);
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.ExternalEmail, externalEmail);
|
||||
ActiveDirectoryUtils.SetADObjectProperty(entry, ADAttributes.CustomAttribute2, (disabled ? "disabled" : null));
|
||||
|
||||
|
||||
|
@ -626,6 +636,48 @@ namespace WebsitePanel.Providers.HostedSolution
|
|||
}
|
||||
|
||||
|
||||
public string GetSamAccountNameByUserPrincipalName(string organizationId, string userPrincipalName)
|
||||
{
|
||||
return GetSamAccountNameByUserPrincipalNameInternal(organizationId, userPrincipalName);
|
||||
}
|
||||
|
||||
private string GetSamAccountNameByUserPrincipalNameInternal(string organizationId, string userPrincipalName)
|
||||
{
|
||||
HostedSolutionLog.LogStart("GetSamAccountNameByUserPrincipalNameInternal");
|
||||
HostedSolutionLog.DebugInfo("userPrincipalName : {0}", userPrincipalName);
|
||||
HostedSolutionLog.DebugInfo("organizationId : {0}", organizationId);
|
||||
|
||||
string accountName = string.Empty;
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
string path = GetOrganizationPath(organizationId);
|
||||
DirectoryEntry entry = ActiveDirectoryUtils.GetADObject(path);
|
||||
|
||||
DirectorySearcher searcher = new DirectorySearcher(entry);
|
||||
searcher.PropertiesToLoad.Add("userPrincipalName");
|
||||
searcher.PropertiesToLoad.Add("sAMAccountName");
|
||||
searcher.Filter = "(userPrincipalName=" + userPrincipalName + ")";
|
||||
searcher.SearchScope = SearchScope.Subtree;
|
||||
|
||||
SearchResult resCollection = searcher.FindOne();
|
||||
if (resCollection != null)
|
||||
{
|
||||
accountName = resCollection.Properties["samaccountname"][0].ToString();
|
||||
}
|
||||
|
||||
HostedSolutionLog.LogEnd("GetSamAccountNameByUserPrincipalNameInternal");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
HostedSolutionLog.DebugInfo("Failed : {0}", e.Message);
|
||||
}
|
||||
|
||||
return accountName;
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Domains
|
||||
|
|
|
@ -131,6 +131,7 @@
|
|||
<Compile Include="BlackBerry5Provider.cs" />
|
||||
<Compile Include="BlackBerryProvider.cs" />
|
||||
<Compile Include="Exchange2010.cs" />
|
||||
<Compile Include="Exchange2010SP2.cs" />
|
||||
<Compile Include="HostedSharePointServer2010.cs" />
|
||||
<Compile Include="OCSEdge2007R2.cs" />
|
||||
<Compile Include="OCS2007R2.cs" />
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,35 +1,7 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.3053
|
||||
// Runtime Version:2.0.50727.5456
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
@ -39,17 +11,17 @@
|
|||
//
|
||||
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
|
||||
//
|
||||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
|
||||
namespace WebsitePanel.Providers.HostedSolution {
|
||||
using System.Diagnostics;
|
||||
using System.Xml.Serialization;
|
||||
using System.Web.Services;
|
||||
using System.ComponentModel;
|
||||
using System.Web.Services.Protocols;
|
||||
using System;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
using System.Diagnostics;
|
||||
|
||||
using WebsitePanel.Providers.Common;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
|
@ -72,7 +44,7 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
|
||||
private System.Threading.SendOrPostCallback DeleteUserOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GeUserGeneralSettingsOperationCompleted;
|
||||
private System.Threading.SendOrPostCallback GetUserGeneralSettingsOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback SetUserGeneralSettingsOperationCompleted;
|
||||
|
||||
|
@ -82,9 +54,11 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
|
||||
private System.Threading.SendOrPostCallback GetPasswordPolicyOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback GetSamAccountNameByUserPrincipalNameOperationCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public Organizations() {
|
||||
this.Url = "http://exchange-dev:9003/Organizations.asmx";
|
||||
this.Url = "http://localhost:9006/Organizations.asmx";
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
|
@ -103,7 +77,7 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
public event DeleteUserCompletedEventHandler DeleteUserCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GeUserGeneralSettingsCompletedEventHandler GeUserGeneralSettingsCompleted;
|
||||
public event GetUserGeneralSettingsCompletedEventHandler GetUserGeneralSettingsCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event SetUserGeneralSettingsCompletedEventHandler SetUserGeneralSettingsCompleted;
|
||||
|
@ -117,6 +91,9 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
/// <remarks/>
|
||||
public event GetPasswordPolicyCompletedEventHandler GetPasswordPolicyCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event GetSamAccountNameByUserPrincipalNameCompletedEventHandler GetSamAccountNameByUserPrincipalNameCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/OrganizationExists", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
|
@ -244,14 +221,15 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/CreateUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public void CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled) {
|
||||
this.Invoke("CreateUser", new object[] {
|
||||
public int CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled) {
|
||||
object[] results = this.Invoke("CreateUser", new object[] {
|
||||
organizationId,
|
||||
loginName,
|
||||
displayName,
|
||||
upn,
|
||||
password,
|
||||
enabled});
|
||||
return ((int)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
|
@ -266,8 +244,9 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void EndCreateUser(System.IAsyncResult asyncResult) {
|
||||
this.EndInvoke(asyncResult);
|
||||
public int EndCreateUser(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((int)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
|
@ -292,7 +271,7 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
private void OnCreateUserOperationCompleted(object arg) {
|
||||
if ((this.CreateUserCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.CreateUserCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
this.CreateUserCompleted(this, new CreateUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -341,46 +320,46 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GeUserGeneralSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public OrganizationUser GeUserGeneralSettings(string loginName, string organizationId) {
|
||||
object[] results = this.Invoke("GeUserGeneralSettings", new object[] {
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserGeneralSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public OrganizationUser GetUserGeneralSettings(string loginName, string organizationId) {
|
||||
object[] results = this.Invoke("GetUserGeneralSettings", new object[] {
|
||||
loginName,
|
||||
organizationId});
|
||||
return ((OrganizationUser)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginGeUserGeneralSettings(string loginName, string organizationId, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("GeUserGeneralSettings", new object[] {
|
||||
public System.IAsyncResult BeginGetUserGeneralSettings(string loginName, string organizationId, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("GetUserGeneralSettings", new object[] {
|
||||
loginName,
|
||||
organizationId}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public OrganizationUser EndGeUserGeneralSettings(System.IAsyncResult asyncResult) {
|
||||
public OrganizationUser EndGetUserGeneralSettings(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((OrganizationUser)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GeUserGeneralSettingsAsync(string loginName, string organizationId) {
|
||||
this.GeUserGeneralSettingsAsync(loginName, organizationId, null);
|
||||
public void GetUserGeneralSettingsAsync(string loginName, string organizationId) {
|
||||
this.GetUserGeneralSettingsAsync(loginName, organizationId, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GeUserGeneralSettingsAsync(string loginName, string organizationId, object userState) {
|
||||
if ((this.GeUserGeneralSettingsOperationCompleted == null)) {
|
||||
this.GeUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGeUserGeneralSettingsOperationCompleted);
|
||||
public void GetUserGeneralSettingsAsync(string loginName, string organizationId, object userState) {
|
||||
if ((this.GetUserGeneralSettingsOperationCompleted == null)) {
|
||||
this.GetUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserGeneralSettingsOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("GeUserGeneralSettings", new object[] {
|
||||
this.InvokeAsync("GetUserGeneralSettings", new object[] {
|
||||
loginName,
|
||||
organizationId}, this.GeUserGeneralSettingsOperationCompleted, userState);
|
||||
organizationId}, this.GetUserGeneralSettingsOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnGeUserGeneralSettingsOperationCompleted(object arg) {
|
||||
if ((this.GeUserGeneralSettingsCompleted != null)) {
|
||||
private void OnGetUserGeneralSettingsOperationCompleted(object arg) {
|
||||
if ((this.GetUserGeneralSettingsCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.GeUserGeneralSettingsCompleted(this, new GeUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
this.GetUserGeneralSettingsCompleted(this, new GetUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -745,21 +724,57 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetSamAccountNameByUserPrincipalName", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public string GetSamAccountNameByUserPrincipalName(string organizationId, string userPrincipalName) {
|
||||
object[] results = this.Invoke("GetSamAccountNameByUserPrincipalName", new object[] {
|
||||
organizationId,
|
||||
userPrincipalName});
|
||||
return ((string)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public System.IAsyncResult BeginGetSamAccountNameByUserPrincipalName(string organizationId, string userPrincipalName, System.AsyncCallback callback, object asyncState) {
|
||||
return this.BeginInvoke("GetSamAccountNameByUserPrincipalName", new object[] {
|
||||
organizationId,
|
||||
userPrincipalName}, callback, asyncState);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string EndGetSamAccountNameByUserPrincipalName(System.IAsyncResult asyncResult) {
|
||||
object[] results = this.EndInvoke(asyncResult);
|
||||
return ((string)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetSamAccountNameByUserPrincipalNameAsync(string organizationId, string userPrincipalName) {
|
||||
this.GetSamAccountNameByUserPrincipalNameAsync(organizationId, userPrincipalName, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void GetSamAccountNameByUserPrincipalNameAsync(string organizationId, string userPrincipalName, object userState) {
|
||||
if ((this.GetSamAccountNameByUserPrincipalNameOperationCompleted == null)) {
|
||||
this.GetSamAccountNameByUserPrincipalNameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSamAccountNameByUserPrincipalNameOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("GetSamAccountNameByUserPrincipalName", new object[] {
|
||||
organizationId,
|
||||
userPrincipalName}, this.GetSamAccountNameByUserPrincipalNameOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnGetSamAccountNameByUserPrincipalNameOperationCompleted(object arg) {
|
||||
if ((this.GetSamAccountNameByUserPrincipalNameCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.GetSamAccountNameByUserPrincipalNameCompleted(this, new GetSamAccountNameByUserPrincipalNameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState) {
|
||||
base.CancelAsync(userState);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void OrganizationExistsCompletedEventHandler(object sender, OrganizationExistsCompletedEventArgs e);
|
||||
|
@ -818,7 +833,29 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void CreateUserCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
|
||||
public delegate void CreateUserCompletedEventHandler(object sender, CreateUserCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class CreateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal CreateUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public int Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((int)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
|
@ -826,17 +863,17 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void GeUserGeneralSettingsCompletedEventHandler(object sender, GeUserGeneralSettingsCompletedEventArgs e);
|
||||
public delegate void GetUserGeneralSettingsCompletedEventHandler(object sender, GetUserGeneralSettingsCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GeUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
public partial class GetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal GeUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
internal GetUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
@ -887,4 +924,30 @@ namespace WebsitePanel.Providers.HostedSolution {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
public delegate void GetSamAccountNameByUserPrincipalNameCompletedEventHandler(object sender, GetSamAccountNameByUserPrincipalNameCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class GetSamAccountNameByUserPrincipalNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal GetSamAccountNameByUserPrincipalNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((string)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
|
@ -31,125 +31,125 @@ using System.Diagnostics;
|
|||
|
||||
namespace WebsitePanel.Server.Utils
|
||||
{
|
||||
/// <summary>
|
||||
/// Application log.
|
||||
/// </summary>
|
||||
public sealed class Log
|
||||
{
|
||||
/// <summary>
|
||||
/// Application log.
|
||||
/// </summary>
|
||||
public sealed class Log
|
||||
{
|
||||
private static TraceSwitch logSeverity = new TraceSwitch("Log", "General trace switch");
|
||||
|
||||
private Log()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Write error to the log.
|
||||
/// </summary>
|
||||
/// <param name="message">Error message.</param>
|
||||
/// <param name="ex">Exception.</param>
|
||||
public static void WriteError(string message, Exception ex)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (logSeverity.TraceError)
|
||||
{
|
||||
string line = string.Format("[{0:G}] ERROR: {1}\n{2}\n", DateTime.Now, message, ex);
|
||||
Trace.TraceError(line);
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
private Log()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Write error to the log.
|
||||
/// </summary>
|
||||
/// <param name="ex">Exception.</param>
|
||||
public static void WriteError(Exception ex)
|
||||
{
|
||||
/// <summary>
|
||||
/// Write error to the log.
|
||||
/// </summary>
|
||||
/// <param name="message">Error message.</param>
|
||||
/// <param name="ex">Exception.</param>
|
||||
public static void WriteError(string message, Exception ex)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (logSeverity.TraceError)
|
||||
{
|
||||
string line = string.Format("[{0:G}] ERROR: {1}\n{2}\n", DateTime.Now, message, ex);
|
||||
Trace.TraceError(line);
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (ex != null)
|
||||
{
|
||||
WriteError(ex.Message, ex);
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
/// <summary>
|
||||
/// Write error to the log.
|
||||
/// </summary>
|
||||
/// <param name="ex">Exception.</param>
|
||||
public static void WriteError(Exception ex)
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Write info message to log
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
public static void WriteInfo(string message, params object[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (logSeverity.TraceInfo)
|
||||
{
|
||||
Trace.TraceInformation(FormatIncomingMessage(message, args));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
try
|
||||
{
|
||||
if (ex != null)
|
||||
{
|
||||
WriteError(ex.Message, ex);
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Write info message to log
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
public static void WriteWarning(string message, params object[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (logSeverity.TraceWarning)
|
||||
{
|
||||
Trace.TraceWarning(FormatIncomingMessage(message, args));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
/// <summary>
|
||||
/// Write info message to log
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
public static void WriteInfo(string message, params object[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (logSeverity.TraceInfo)
|
||||
{
|
||||
Trace.TraceInformation(FormatIncomingMessage(message, "INFO", args));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Write start message to log
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
/// <summary>
|
||||
/// Write info message to log
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
public static void WriteWarning(string message, params object[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (logSeverity.TraceWarning)
|
||||
{
|
||||
Trace.TraceWarning(FormatIncomingMessage(message, "WARNING", args));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Write start message to log
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
public static void WriteStart(string message, params object[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (logSeverity.TraceInfo)
|
||||
{
|
||||
Trace.TraceInformation(FormatIncomingMessage(message, args));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Write end message to log
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
public static void WriteEnd(string message, params object[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (logSeverity.TraceInfo)
|
||||
{
|
||||
Trace.TraceInformation(FormatIncomingMessage(message, args));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
{
|
||||
try
|
||||
{
|
||||
if (logSeverity.TraceInfo)
|
||||
{
|
||||
Trace.TraceInformation(FormatIncomingMessage(message, "START", args));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
private static string FormatIncomingMessage(string message, params object[] args)
|
||||
{
|
||||
//
|
||||
if (args.Length > 0)
|
||||
{
|
||||
message = String.Format(message, args);
|
||||
}
|
||||
//
|
||||
return String.Concat(String.Format("[{0:G}] END: ", DateTime.Now), message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Write end message to log
|
||||
/// </summary>
|
||||
/// <param name="message"></param>
|
||||
public static void WriteEnd(string message, params object[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (logSeverity.TraceInfo)
|
||||
{
|
||||
Trace.TraceInformation(FormatIncomingMessage(message, "END", args));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
private static string FormatIncomingMessage(string message, string tag, params object[] args)
|
||||
{
|
||||
//
|
||||
if (args.Length > 0)
|
||||
{
|
||||
message = String.Format(message, args);
|
||||
}
|
||||
//
|
||||
return String.Concat(String.Format("[{0:G}] {1}: ", DateTime.Now, tag), message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -67,14 +67,14 @@ namespace WebsitePanel.Server
|
|||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public Organization CreateOrganization(string organizationId)
|
||||
{
|
||||
try
|
||||
{
|
||||
Log.WriteStart("'{0}' CreateOrganization", ProviderSettings.ProviderName);
|
||||
Log.WriteStart("'{0}' CreateOrganization", ProviderSettings.ProviderName);
|
||||
Organization ret = Organization.CreateOrganization(organizationId);
|
||||
Log.WriteEnd("'{0}' CreateOrganization", ProviderSettings.ProviderName);
|
||||
return ret;
|
||||
|
@ -85,21 +85,17 @@ namespace WebsitePanel.Server
|
|||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public void DeleteOrganization(string organizationId)
|
||||
{
|
||||
Organization.DeleteOrganization(organizationId);
|
||||
Organization.DeleteOrganization(organizationId);
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public void CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled)
|
||||
public int CreateUser(string organizationId, string loginName, string displayName, string upn, string password, bool enabled)
|
||||
{
|
||||
Log.WriteStart("'{0} CreateUser", ProviderSettings.ProviderName);
|
||||
|
||||
Organization.CreateUser(organizationId, loginName, displayName, upn, password, enabled);
|
||||
|
||||
Log.WriteEnd("'{0}' CreateUser", ProviderSettings.ProviderName);
|
||||
return Organization.CreateUser(organizationId, loginName, displayName, upn, password, enabled);
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
|
@ -109,7 +105,7 @@ namespace WebsitePanel.Server
|
|||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public OrganizationUser GeUserGeneralSettings(string loginName, string organizationId)
|
||||
public OrganizationUser GetUserGeneralSettings(string loginName, string organizationId)
|
||||
{
|
||||
return Organization.GetUserGeneralSettings(loginName, organizationId);
|
||||
}
|
||||
|
@ -132,9 +128,9 @@ namespace WebsitePanel.Server
|
|||
[WebMethod, SoapHeader("settings")]
|
||||
public void DeleteOrganizationDomain(string organizationDistinguishedName, string domain)
|
||||
{
|
||||
Organization.DeleteOrganizationDomain(organizationDistinguishedName, domain);
|
||||
Organization.DeleteOrganizationDomain(organizationDistinguishedName, domain);
|
||||
}
|
||||
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public void CreateOrganizationDomain(string organizationDistinguishedName, string domain)
|
||||
{
|
||||
|
@ -147,5 +143,10 @@ namespace WebsitePanel.Server
|
|||
return Organization.GetPasswordPolicy();
|
||||
}
|
||||
|
||||
[WebMethod, SoapHeader("settings")]
|
||||
public string GetSamAccountNameByUserPrincipalName(string organizationId, string userPrincipalName)
|
||||
{
|
||||
return Organization.GetSamAccountNameByUserPrincipalName(organizationId, userPrincipalName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<!-- Display Settings -->
|
||||
<PortalName>WebsitePanel</PortalName>
|
||||
<!-- Enterprise Server -->
|
||||
<EnterpriseServer>http://localhost:9002</EnterpriseServer>
|
||||
<EnterpriseServer>http://localhost:9005</EnterpriseServer>
|
||||
<!-- General Settings -->
|
||||
<CultureCookieName>UserCulture</CultureCookieName>
|
||||
<ThemeCookieName>UserTheme</ThemeCookieName>
|
||||
|
|
|
@ -486,7 +486,10 @@
|
|||
<Control key="storage_usage_details" src="WebsitePanel/ExchangeServer/ExchangeStorageUsageBreakdown.ascx" title="ExchangeStorageUsageBreakdown" type="View" />
|
||||
<Control key="storage_limits" src="WebsitePanel/ExchangeServer/ExchangeStorageLimits.ascx" title="ExchangeStorageLimits" type="View" />
|
||||
<Control key="activesync_policy" src="WebsitePanel/ExchangeServer/ExchangeActiveSyncSettings.ascx" title="ExchangeActiveSyncSettings" type="View" />
|
||||
<Control key="CRMOrganizationDetails" src="WebsitePanel/CRM/CRMOrganizationDetails.ascx" title="ExchangeActiveSyncSettings" type="View" />
|
||||
<Control key="mailboxplans" src="WebsitePanel/ExchangeServer/ExchangeMailboxPlans.ascx" title="ExchangeMailboxPlans" type="View" />
|
||||
<Control key="add_mailboxplan" src="WebsitePanel/ExchangeServer/ExchangeAddMailboxPlan.ascx" title="ExchangeAddMailboxPlan" type="View" />
|
||||
|
||||
<Control key="CRMOrganizationDetails" src="WebsitePanel/CRM/CRMOrganizationDetails.ascx" title="ExchangeActiveSyncSettings" type="View" />
|
||||
<Control key="CRMUsers" src="WebsitePanel/CRM/CRMUsers.ascx" title="CRM Users" type="View" />
|
||||
<Control key="CRMUserRoles" src="WebsitePanel/CRM/CRMUserRoles.ascx" title="CRM User Roles" type="View" />
|
||||
<Control key="create_crm_user" src="WebsitePanel/CRM/CreateCRMUser.ascx" title="Create CRM User" type="View" />
|
||||
|
|
|
@ -2806,7 +2806,7 @@
|
|||
<value>Contacts per Organization</value>
|
||||
</data>
|
||||
<data name="Quota.Exchange2007.DiskSpace" xml:space="preserve">
|
||||
<value>Max mailbox size, MB</value>
|
||||
<value>Mailbox storage, MB</value>
|
||||
</data>
|
||||
<data name="Quota.Exchange2007.DistributionLists" xml:space="preserve">
|
||||
<value>Distribution Lists per Organization</value>
|
||||
|
@ -2850,6 +2850,18 @@
|
|||
<data name="Quota.Exchange2007.PublicFolders" xml:space="preserve">
|
||||
<value>Public Folders per Organization</value>
|
||||
</data>
|
||||
<data name="Quota.Exchange2007.KeepDeletedItemsDays" xml:space="preserve">
|
||||
<value>Keep Deleted Items (Days)</value>
|
||||
</data>
|
||||
<data name="Quota.Exchange2007.MaxRecipients" xml:space="preserve">
|
||||
<value>Maximum Recipients</value>
|
||||
</data>
|
||||
<data name="Quota.Exchange2007.MaxSendMessageSizeKB" xml:space="preserve">
|
||||
<value>Maximum Send Message Size (Kb)</value>
|
||||
</data>
|
||||
<data name="Quota.Exchange2007.MaxReceiveMessageSizeKB" xml:space="preserve">
|
||||
<value>Maximum Receive Message Size (Kb)</value>
|
||||
</data>
|
||||
<data name="ResourceGroup.Exchange" xml:space="preserve">
|
||||
<value>Hosted Exchange</value>
|
||||
</data>
|
||||
|
@ -4990,4 +5002,7 @@
|
|||
<data name="Quota.HostedSharePoint.UseSharedSSL" xml:space="preserve">
|
||||
<value>Use shared SSL Root</value>
|
||||
</data>
|
||||
<data name="Quota.Exchange2007.IsConsumer" xml:space="preserve">
|
||||
<value>Consumer Organization Support</value>
|
||||
</data>
|
||||
</root>
|
Binary file not shown.
After Width: | Height: | Size: 832 B |
Binary file not shown.
After Width: | Height: | Size: 676 B |
Binary file not shown.
After Width: | Height: | Size: 719 B |
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCancel.Text" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
|
@ -219,4 +219,7 @@
|
|||
<data name="valRequirePlan.ErrorMessage" xml:space="preserve">
|
||||
<value>Please select hosting plan</value>
|
||||
</data>
|
||||
<data name="chkIntegratedOUProvisioning.Text" xml:space="preserve">
|
||||
<value>Automated Hosted Organization Provisioning</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSave.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Updating ActiveSync settings...');</value>
|
||||
|
@ -151,7 +151,7 @@
|
|||
<value>Windows SharePoint Services</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p>Exchange Server 2007 enables users who have mobile devices to synchronize mailbox data by using Exchange ActiveSync. Users can synchronize e-mail, contacts, calendars, and task folders. </p><p>
|
||||
<value><p>Exchange Server enables users who have mobile devices to synchronize mailbox data by using Exchange ActiveSync. Users can synchronize e-mail, contacts, calendars, and task folders. </p><p>
|
||||
ActiveSync mailbox policy allows you to apply a common set of security settings to all users in organization.
|
||||
</p></value>
|
||||
</data>
|
||||
|
|
|
@ -112,13 +112,16 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCancel" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value>Enter domain name, e.g. "mydomain.com" or "sub.mydomain.com"</value>
|
||||
<value>Select a domain name, e.g. "mydomain.com" or "sub.mydomain.com"</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Add Domain Name</value>
|
||||
|
|
|
@ -112,20 +112,17 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSave.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Updating mailbox settings...');</value>
|
||||
</data>
|
||||
<data name="btnSave.Text" xml:space="preserve">
|
||||
<value>Save Changes</value>
|
||||
</data>
|
||||
<data name="chkActiveSync.Text" xml:space="preserve">
|
||||
<value>ActiveSync</value>
|
||||
</data>
|
||||
<data name="chkHideFromAddressBook" xml:space="preserve">
|
||||
<value>Hide from Addressbook</value>
|
||||
</data>
|
||||
<data name="chkIMAP.Text" xml:space="preserve">
|
||||
<value>IMAP</value>
|
||||
</data>
|
||||
|
@ -135,20 +132,11 @@
|
|||
<data name="chkOWA.Text" xml:space="preserve">
|
||||
<value>OWA/HTTP</value>
|
||||
</data>
|
||||
<data name="chkPmmAllowed.Text" xml:space="preserve">
|
||||
<value>Allow these settings to be managed from <b>Personal Mailbox Manager</b></value>
|
||||
</data>
|
||||
<data name="chkPOP3.Text" xml:space="preserve">
|
||||
<value>POP3</value>
|
||||
</data>
|
||||
<data name="chkUseOrgDeleteRetention.Text" xml:space="preserve">
|
||||
<value>Use organization defaults</value>
|
||||
</data>
|
||||
<data name="chkUseOrgStorageQuotas.Text" xml:space="preserve">
|
||||
<value>Use organization defaults</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p>In "Mailbox Features" section you may enable/disable specific access protocols for the mailbox.</p><p>You may override mailbox quotas and retention period defined on the organization level. Please note, that you cannot specify storage settings higher than defined in the space hosting plan.</p><p><b>Domain User Name</b> is used when setting up mailbox in Outlook 2003/2007.</p></value>
|
||||
<value><p> A Mailbox plan is a template that defines the characteristics of a mailbox </p> <p>The mailbox plan name needs to be unique. A mailbox plan cannot be modified. In case a mailbox needs a mailbox plan with another characteristics, a new mailbox plan needs to be created and assigned to the mailbox. A mailbox plan can only be deleted when the plan is not assigned to any mailboxes. </p></value>
|
||||
</data>
|
||||
<data name="locDays.Text" xml:space="preserve">
|
||||
<value>days</value>
|
||||
|
@ -162,11 +150,17 @@
|
|||
<data name="locKeepDeletedItems.Text" xml:space="preserve">
|
||||
<value>Keep deleted items for:</value>
|
||||
</data>
|
||||
<data name="locLastLogoff.Text" xml:space="preserve">
|
||||
<value>Last Logoff:</value>
|
||||
<data name="locMailboxSize.Text" xml:space="preserve">
|
||||
<value>Mailbox size:</value>
|
||||
</data>
|
||||
<data name="locLastLogon.Text" xml:space="preserve">
|
||||
<value>Last Logon:</value>
|
||||
<data name="locMaxReceiveMessageSizeKB.Text" xml:space="preserve">
|
||||
<value>Maximum Receive Message Size:</value>
|
||||
</data>
|
||||
<data name="locMaxRecipients.Text" xml:space="preserve">
|
||||
<value>Maximum Recipients:</value>
|
||||
</data>
|
||||
<data name="locMaxSendMessageSizeKB.Text" xml:space="preserve">
|
||||
<value>Maximum Send Message Size:</value>
|
||||
</data>
|
||||
<data name="locProhibitSend.Text" xml:space="preserve">
|
||||
<value>Prohibit send at:</value>
|
||||
|
@ -175,13 +169,7 @@
|
|||
<value>Prohibit send and receive at:</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Edit Mailbox</value>
|
||||
</data>
|
||||
<data name="locTotalItems.Text" xml:space="preserve">
|
||||
<value>Total Items:</value>
|
||||
</data>
|
||||
<data name="locTotalSize.Text" xml:space="preserve">
|
||||
<value>Total Size (MB):</value>
|
||||
<value>Add Mailbox plan</value>
|
||||
</data>
|
||||
<data name="locWhenSizeExceeds.Text" xml:space="preserve">
|
||||
<value>When the mailbox size exceeds the indicated amount:</value>
|
||||
|
@ -189,19 +177,25 @@
|
|||
<data name="secDeleteRetention.Text" xml:space="preserve">
|
||||
<value>Delete Item Retention</value>
|
||||
</data>
|
||||
<data name="secDomainUser.Text" xml:space="preserve">
|
||||
<value>Domain User Name</value>
|
||||
</data>
|
||||
<data name="secMailboxFeatures.Text" xml:space="preserve">
|
||||
<value>Mailbox Features</value>
|
||||
</data>
|
||||
<data name="secStatistics.Text" xml:space="preserve">
|
||||
<value>Mailbox Statistics</value>
|
||||
<data name="secMailboxGeneral.Text" xml:space="preserve">
|
||||
<value>General</value>
|
||||
</data>
|
||||
<data name="secMailboxPlan.Text" xml:space="preserve">
|
||||
<value>Mailbox plan</value>
|
||||
</data>
|
||||
<data name="secStorageQuotas.Text" xml:space="preserve">
|
||||
<value>Mailbox Quotas</value>
|
||||
<value>Quotas</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Mailboxes</value>
|
||||
<value>Mailbox plan</value>
|
||||
</data>
|
||||
<data name="valRequireMailboxPlan.ErrorMessage" xml:space="preserve">
|
||||
<value>Please enter correct mailboxplan</value>
|
||||
</data>
|
||||
<data name="valRequireMailboxPlan.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSave.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Updating contact settings...');</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSave.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Updating contact settings...');</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCreateContact.Text" xml:space="preserve">
|
||||
<value>Create New Contact</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCreate.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Creating contact...');</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCreate.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Creating distribution list...');</value>
|
||||
|
@ -124,7 +124,7 @@
|
|||
<value>Create Distribution List</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p><b>Display Name</b> will be shown in the GAL in Outlook and OWA.</p><p>You can add new Domain Names on "Domain Names" page. We always provide you with a free domain that would allow your organization migrating to Exchange as soon as possible.</p><p><b>Primary E-Mail Address</b> is shown in the GAL and in "From" field of all messages sent from this DL.</p></value>
|
||||
<value><p><b>Display Name</b> will be shown in the GAL in Outlook and OWA.</p><p>You can add new Domain Names on "Domain Names" page. </p><p><b>Primary E-Mail Address</b> is shown in the GAL and in "From" field of all messages sent from this DL.</p></value>
|
||||
</data>
|
||||
<data name="locAccount.Text" xml:space="preserve">
|
||||
<value>E-mail Address: *</value>
|
||||
|
@ -132,22 +132,22 @@
|
|||
<data name="locDisplayName.Text" xml:space="preserve">
|
||||
<value>Display Name: *</value>
|
||||
</data>
|
||||
<data name="locManagedBy.Text" xml:space="preserve">
|
||||
<value>Managed by: *</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Create New Distribution List</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Distribution Lists</value>
|
||||
</data>
|
||||
<data name="valManager.ErrorMessage" xml:space="preserve">
|
||||
<value>Please specify a manager</value>
|
||||
</data>
|
||||
<data name="valRequireDisplayName.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter Display Name</value>
|
||||
</data>
|
||||
<data name="valRequireDisplayName.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="locManagedBy.Text" xml:space="preserve">
|
||||
<value>Managed by: *</value>
|
||||
</data>
|
||||
<data name="valManager.ErrorMessage" xml:space="preserve">
|
||||
<value>Please specify a manager</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCreate.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Creating mailbox...');</value>
|
||||
|
@ -134,7 +134,7 @@
|
|||
|
||||
<p><b>E-Mail Address</b> is a User Principal Name (UPN). It is used as a logon name in Outlook, Outlook Web Access (OWA) or SharePoint.</p>
|
||||
|
||||
<p>New organization domains can be added on "Domain Names" page. Temporary domain name is provided by default to allow creating new accounts as soon as possible.</p>
|
||||
<p>New organization domains can be added on "Domain Names" page.</p>
|
||||
|
||||
<p>Make sure your password is strong enough, i.e. contains lower and capital letters, numbers and symbols.</value>
|
||||
</data>
|
||||
|
@ -156,6 +156,9 @@
|
|||
<data name="locPassword.Text" xml:space="preserve">
|
||||
<value>Password: *</value>
|
||||
</data>
|
||||
<data name="locSubscriberNumber.Text" xml:space="preserve">
|
||||
<value>Subscriber Number: *</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Create New Mailbox</value>
|
||||
</data>
|
||||
|
@ -183,4 +186,10 @@
|
|||
<data name="valRequireDisplayName.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valRequireSubscriberNumber.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter Subscriber Number</value>
|
||||
</data>
|
||||
<data name="valRequireSubscriberNumber.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnAddEmail.Text" xml:space="preserve">
|
||||
<value>Add E-mail Address</value>
|
||||
|
@ -127,7 +127,7 @@
|
|||
<value>Set As Primary</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><b>Primary E-Mail Address</b> is a User Principal Name (UPN). It will be used as a login in Outlook 2003/2007 and Outlook Web Access (OWA). Also, Primary E-Mail Address will be shown in "From" field of messages sent from this mailbox.</p><p>You can add new Domain Names on "Domain Names" page. We always provide you with a free domain that would allow your organization migrating to Exchange as soon as possible.</p><p>E-mail addresses of all Exchange accounts should be unique across the organization. You cannot add the same e-mail address to several accounts.</p></value>
|
||||
<value><b>Primary E-Mail Address</b> is a User Principal Name (UPN). It will be used as a login in Outlook and Outlook Web Access (OWA). Also, Primary E-Mail Address will be shown in "From" field of messages sent from this mailbox.</p><p>You can add new Domain Names on "Domain Names" page.</p><p>E-mail addresses of all Exchange accounts should be unique across the organization. You cannot add the same e-mail address to several accounts.</p></value>
|
||||
</data>
|
||||
<data name="gvEmailAddress.Header" xml:space="preserve">
|
||||
<value>E-mail Address</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSave.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Updating distribution list settings...');</value>
|
||||
|
@ -144,13 +144,13 @@
|
|||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Distribution Lists</value>
|
||||
</data>
|
||||
<data name="valManager.ErrorMessage" xml:space="preserve">
|
||||
<value>Please specify a manager</value>
|
||||
</data>
|
||||
<data name="valRequireDisplayName.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter Display Name</value>
|
||||
</data>
|
||||
<data name="valRequireDisplayName.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valManager.ErrorMessage" xml:space="preserve">
|
||||
<value>Please specify a manager</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSave.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Updating distribution list settings...');</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCreateList.Text" xml:space="preserve">
|
||||
<value>Create New Distribution List</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnAddDomain.Text" xml:space="preserve">
|
||||
<value>Add New Domain</value>
|
||||
|
@ -142,11 +142,9 @@
|
|||
<value>Domain Name</value>
|
||||
</data>
|
||||
<data name="HSFormComments.Text" xml:space="preserve">
|
||||
<value><p>Each organization can have several domain names. These domain names are used as part of the primary e-mail address (UPN) of the new accounts. Exchange-enabled organizations use domain name when creating e-mail addresses for mailboxes, distribution lists and mail-enabled public folders. Domain name is also used when creating new site collection in SharePoint.</p>
|
||||
|
||||
<value><p>Each organization can have several domain names. These domain names are used as part of the primary e-mail address (UPN) of the new accounts. Exchange-enabled organizations use domain name when creating e-mail addresses for mailboxes, and distribution lists. Domain name is also used when creating new site collection in SharePoint.</p>
|
||||
<p>Default domain name is selected by default when creating a new e-mail address. You can always change default domain name and it will not affect existing accounts.</p>
|
||||
|
||||
<p>For each domain name WebsitePanel creates a corresponding DNS Zone. You can edit DNS zone records by clicking domain name link. If you are unsure about the structure of DNS zone, please do not modify zone records.</p></value>
|
||||
<p>For each domain name a corresponding DNS Zone is created. You can edit DNS zone records by clicking domain name link. If you are unsure about the structure of DNS zone, please do not modify zone records.</p></value>
|
||||
</data>
|
||||
<data name="locQuota.Text" xml:space="preserve">
|
||||
<value>Total Domain Names Used:</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnAdd.Text" xml:space="preserve">
|
||||
<value>Add record</value>
|
||||
|
@ -130,7 +130,7 @@
|
|||
<value>Save</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p>For each domain name WebsitePanel creates a corresponding DNS Zone. If you are unsure about the structure of DNS zone, please do not modify zone records.</p></value>
|
||||
<value><p>For each domain name a corresponding DNS Zone is created. If you are unsure about the structure of DNS zone, please do not modify zone records.</p></value>
|
||||
</data>
|
||||
<data name="gvRecords.Empty" xml:space="preserve">
|
||||
<value>No DNS records defined.</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnAddEmail.Text" xml:space="preserve">
|
||||
<value>Add E-mail Address</value>
|
||||
|
@ -130,7 +130,7 @@
|
|||
<value>Allow these settings to be managed from <b>Personal Mailbox Manager</b></value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><b>Primary E-Mail Address</b> is a User Principal Name (UPN). It will be used as a login in Outlook 2003/2007 and Outlook Web Access (OWA). Also, Primary E-Mail Address will be shown in "From" field of messages sent from this mailbox.</p><p>You can add new Domain Names on "Domain Names" page. We always provide you with a free domain that would allow your organization migrating to Exchange as soon as possible.</p><p>E-mail addresses of all Exchange accounts should be unique across the organization. You cannot add the same e-mail address to several accounts.</p></value>
|
||||
<value><b>Primary E-Mail Address</b> is a User Principal Name (UPN). It will be used as a login in Outlook and Outlook Web Access (OWA). Also, Primary E-Mail Address will be shown in "From" field of messages sent from this mailbox.</p><p>You can add new Domain Names on "Domain Names" page. </p><p>E-mail addresses of all Exchange accounts should be unique across the organization. You cannot add the same e-mail address to several accounts.</p></value>
|
||||
</data>
|
||||
<data name="gvEmailAddress.Header" xml:space="preserve">
|
||||
<value>E-mail Address</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSave.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Updating mailbox settings...');</value>
|
||||
|
@ -133,85 +133,22 @@
|
|||
<value>Allow these settings to be managed from <b>Personal Mailbox Manager</b></value>
|
||||
</data>
|
||||
<data name="HSFormComments.Text" xml:space="preserve">
|
||||
<value><p>The General tab displays general information about the mailbox user. Use this tab to view or modify the display name, password, company information, contact information and address. You can also specify whether to disable the mailbox user or hide the mailbox user from Exchange address lists.</p></value>
|
||||
<value><p>The General tab displays general information about the mailbox Use this tab to view or modify the mailbox characteristics such as size and show in your address book in the Exchange address lists. You can also specify whether to disable the mailbox user.</p></value>
|
||||
</data>
|
||||
<data name="locAddress.Text" xml:space="preserve">
|
||||
<value>Address:</value>
|
||||
<data name="locMailboxplanName.Text" xml:space="preserve">
|
||||
<value>Mailbox plan:</value>
|
||||
</data>
|
||||
<data name="locBusinessPhone.Text" xml:space="preserve">
|
||||
<value>Business Phone:</value>
|
||||
</data>
|
||||
<data name="locCity.Text" xml:space="preserve">
|
||||
<value>City:</value>
|
||||
</data>
|
||||
<data name="locCompany.Text" xml:space="preserve">
|
||||
<value>Company:</value>
|
||||
</data>
|
||||
<data name="locCountry.Text" xml:space="preserve">
|
||||
<value>Country/Region:</value>
|
||||
</data>
|
||||
<data name="locDepartment.Text" xml:space="preserve">
|
||||
<value>Department:</value>
|
||||
</data>
|
||||
<data name="locDisplayName.Text" xml:space="preserve">
|
||||
<value>Display Name: *</value>
|
||||
</data>
|
||||
<data name="locFax.Text" xml:space="preserve">
|
||||
<value>Fax:</value>
|
||||
</data>
|
||||
<data name="locFirstName.Text" xml:space="preserve">
|
||||
<value>First Name:</value>
|
||||
</data>
|
||||
<data name="locHomePhone.Text" xml:space="preserve">
|
||||
<value>Home Phone:</value>
|
||||
</data>
|
||||
<data name="locInitials.Text" xml:space="preserve">
|
||||
<value>Initials:</value>
|
||||
</data>
|
||||
<data name="locJobTitle.Text" xml:space="preserve">
|
||||
<value>Job Title:</value>
|
||||
</data>
|
||||
<data name="locLastName.Text" xml:space="preserve">
|
||||
<value>Last Name:</value>
|
||||
</data>
|
||||
<data name="locManager.Text" xml:space="preserve">
|
||||
<value>Manager:</value>
|
||||
</data>
|
||||
<data name="locMobilePhone.Text" xml:space="preserve">
|
||||
<value>Mobile Phone:</value>
|
||||
</data>
|
||||
<data name="locNotes.Text" xml:space="preserve">
|
||||
<value>Notes:</value>
|
||||
</data>
|
||||
<data name="locOffice.Text" xml:space="preserve">
|
||||
<value>Office:</value>
|
||||
</data>
|
||||
<data name="locPager.Text" xml:space="preserve">
|
||||
<value>Pager:</value>
|
||||
</data>
|
||||
<data name="locPassword.Text" xml:space="preserve">
|
||||
<value>Password:</value>
|
||||
</data>
|
||||
<data name="locState.Text" xml:space="preserve">
|
||||
<value>State/Province:</value>
|
||||
<data name="locQuota.Text" xml:space="preserve">
|
||||
<value>Mailbox size:</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Edit Mailbox</value>
|
||||
</data>
|
||||
<data name="locWebPage.Text" xml:space="preserve">
|
||||
<value>Web Page:</value>
|
||||
<data name="secCalendarSettings.Text" xml:space="preserve">
|
||||
<value>Calendar Settings</value>
|
||||
</data>
|
||||
<data name="locZip.Text" xml:space="preserve">
|
||||
<value>Zip/Postal Code:</value>
|
||||
</data>
|
||||
<data name="secAddressInfo.Text" xml:space="preserve">
|
||||
<value>Address</value>
|
||||
</data>
|
||||
<data name="secCompanyInfo.Text" xml:space="preserve">
|
||||
<value>Company Information</value>
|
||||
</data>
|
||||
<data name="secContactInfo.Text" xml:space="preserve">
|
||||
<value>Contact Information</value>
|
||||
<data name="secGeneral.Text" xml:space="preserve">
|
||||
<value>General</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Mailboxes</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSave.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Updating mailbox settings...');</value>
|
||||
|
|
|
@ -112,13 +112,13 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="deviceUserAgentColumn.HeaderText" xml:space="preserve">
|
||||
<value>User Agent</value>
|
||||
<data name="cmdDelete.OnClientClick" xml:space="preserve">
|
||||
<value>return confirm('Are you sure you want to remove the device partnership?');</value>
|
||||
</data>
|
||||
<data name="deviceStatus.HeaderText" xml:space="preserve">
|
||||
<value>Status</value>
|
||||
|
@ -126,34 +126,34 @@
|
|||
<data name="deviceTypeColumn.HeaderText" xml:space="preserve">
|
||||
<value>Type</value>
|
||||
</data>
|
||||
<data name="deviceUserAgentColumn.HeaderText" xml:space="preserve">
|
||||
<value>User Agent</value>
|
||||
</data>
|
||||
<data name="gvMobile.EmptyDataText" xml:space="preserve">
|
||||
<value>There are no mobile devices.</value>
|
||||
</data>
|
||||
<data name="HSFormComments.Text" xml:space="preserve">
|
||||
<value><p>Manage mobile devices here.</p><p>To add a new device, begin a partnership with Microsoft Exchange from the device and it will appear in the device list.</p><p>You can remove devices that you are no longer using. If you forget your device password, you can access it here. If you lose your phone or mobile device, you can initiate a remote device wipe to protect your information.</p></value>
|
||||
</data>
|
||||
<data name="lastSyncTimeColumn.HeaderText" xml:space="preserve">
|
||||
<value>Last Sync Time</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Edit Mailbox</value>
|
||||
</data>
|
||||
<data name="OK" xml:space="preserve">
|
||||
<value>OK</value>
|
||||
</data>
|
||||
<data name="PendingWipe" xml:space="preserve">
|
||||
<value>Pending Wipe</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Edit Mailbox</value>
|
||||
</data>
|
||||
<data name="Unknown" xml:space="preserve">
|
||||
<value>Unknown</value>
|
||||
</data>
|
||||
<data name="WipeSuccessful" xml:space="preserve">
|
||||
<value>Wipe Successful</value>
|
||||
</data>
|
||||
<data name="cmdDelete.OnClientClick" xml:space="preserve">
|
||||
<value>return confirm('Are you sure you want to remove the device partnership?');</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Edit Mailbox</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Edit Mailbox</value>
|
||||
</data>
|
||||
<data name="HSFormComments.Text" xml:space="preserve">
|
||||
<value><p>Manage mobile devices here.</p><p>To add a new device, begin a partnership with Microsoft Exchange from the device and it will appear in the device list.</p><p>You can remove devices that you are no longer using. If you forget your device password, you can access it here. If you lose your phone or mobile device, you can initiate a remote device wipe to protect your information.</p></value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,11 +112,26 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnBack.Text" xml:space="preserve">
|
||||
<value>Back</value>
|
||||
</data>
|
||||
<data name="btnCancel.Text" xml:space="preserve">
|
||||
<value>Cancel Pending Wipe Request</value>
|
||||
</data>
|
||||
<data name="btnWipeAllData.OnClientClick" xml:space="preserve">
|
||||
<value>return confirm('Are you sure you want to wipe all data from your device?');</value>
|
||||
</data>
|
||||
<data name="btnWipeAllData.Text" xml:space="preserve">
|
||||
<value>Wipe All Data from Device</value>
|
||||
</data>
|
||||
<data name="HSFormComments.Text" xml:space="preserve">
|
||||
<value><p>Manage the mobile device here.</p><p>If you forget your device password, you can access it here. If you lose your phone or mobile device, you can initiate a remote device wipe to protect your information . You can also cancel a wipe request if it was initiated by accident or the device was found subsequently.</p></value>
|
||||
</data>
|
||||
<data name="locDeviceAcnowledgeTime.Text" xml:space="preserve">
|
||||
<value>Device wipe acnowledge time:</value>
|
||||
</data>
|
||||
|
@ -165,37 +180,22 @@
|
|||
<data name="locStatus.Text" xml:space="preserve">
|
||||
<value>Status:</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Edit Mailbox</value>
|
||||
</data>
|
||||
<data name="OK" xml:space="preserve">
|
||||
<value>OK</value>
|
||||
</data>
|
||||
<data name="PendingWipe" xml:space="preserve">
|
||||
<value>Pending wipe</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Edit Mailbox</value>
|
||||
</data>
|
||||
<data name="Unknown" xml:space="preserve">
|
||||
<value>Unknown</value>
|
||||
</data>
|
||||
<data name="WipeSuccessful" xml:space="preserve">
|
||||
<value>Wipe successful</value>
|
||||
</data>
|
||||
<data name="btnBack.Text" xml:space="preserve">
|
||||
<value>Back</value>
|
||||
</data>
|
||||
<data name="btnCancel.Text" xml:space="preserve">
|
||||
<value>Cancel Pending Wipe Request</value>
|
||||
</data>
|
||||
<data name="btnWipeAllData.Text" xml:space="preserve">
|
||||
<value>Wipe All Data from Device</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Edit Mailbox</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Edit Mailbox</value>
|
||||
</data>
|
||||
<data name="HSFormComments.Text" xml:space="preserve">
|
||||
<value><p>Manage the mobile device here.</p><p>If you forget your device password, you can access it here. If you lose your phone or mobile device, you can initiate a remote device wipe to protect your information . You can also cancel a wipe request if it was initiated by accident or the device was found subsequently.</p></value>
|
||||
</data>
|
||||
<data name="btnWipeAllData.OnClientClick" xml:space="preserve">
|
||||
<value>return confirm('Are you sure you want to wipe all data from your device?');</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,17 +112,23 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSave.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Updating mailbox permissions...');</value>
|
||||
</data>
|
||||
<data name="btnSave.Text" xml:space="preserve">
|
||||
<value>Save Changes</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p>When you grant <b>Full Access</b> permission to a user, that user can open this mailbox and access all of its content.</p> <br><p>When you grant <b>Send As</b> permission to a user, that user can send messages as this mailbox. </p> <br><p>We do not recommend to use this setting together “Send on behalf” (“Send as”) – it may work unpredictable</p></value>
|
||||
</data>
|
||||
<data name="grandPermission.Text" xml:space="preserve">
|
||||
<value>Grant this permission to:</value>
|
||||
</data>
|
||||
<data name="secFullAccessPermission.Text" xml:space="preserve">
|
||||
<value>Full Access</value>
|
||||
</data>
|
||||
|
@ -132,10 +138,4 @@
|
|||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Permissions</value>
|
||||
</data>
|
||||
<data name="grandPermission.Text" xml:space="preserve">
|
||||
<value>Grant this permission to:</value>
|
||||
</data>
|
||||
<data name="btnSave.Text" xml:space="preserve">
|
||||
<value>Save Changes</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,36 +112,42 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="locDomainTemplates.Text" xml:space="preserve">
|
||||
<value>Domain Templates</value>
|
||||
<data name="btnAddMailboxPlan.Text" xml:space="preserve">
|
||||
<value>Add New Mailbox plan</value>
|
||||
</data>
|
||||
<data name="locEcpDomain.Text" xml:space="preserve">
|
||||
<value>Exchange Control Panel URL:</value>
|
||||
<data name="btnSetDefaultMailboxPlan.Text" xml:space="preserve">
|
||||
<value>Set Default Mailbox plan</value>
|
||||
</data>
|
||||
<data name="locEcpURLDescr.Text" xml:space="preserve">
|
||||
<value>You can use [DOMAIN_NAME] variable for organization default domain.</value>
|
||||
<data name="cmdDelete.OnClientClick" xml:space="preserve">
|
||||
<value>if(!confirm('Are you sure you want to delete selected mailbox plan?')) return false; else ShowProgressDialog('Deleting Mailbox plan...');</value>
|
||||
</data>
|
||||
<data name="locOfferID.Text" xml:space="preserve">
|
||||
<value>Offer ID:</value>
|
||||
<data name="cmdDelete.Text" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
<data name="locOrganizationTemplate.Text" xml:space="preserve">
|
||||
<value>Organization Template</value>
|
||||
<data name="cmdDelete.ToolTip" xml:space="preserve">
|
||||
<value>Delete Mailbox plan</value>
|
||||
</data>
|
||||
<data name="locProgramID.Text" xml:space="preserve">
|
||||
<value>Program ID:</value>
|
||||
<data name="gvMailboxPlan.Header" xml:space="preserve">
|
||||
<value>Mailbox plan</value>
|
||||
</data>
|
||||
<data name="locTemporaryDomain.Text" xml:space="preserve">
|
||||
<value>Temporary domain:</value>
|
||||
<data name="gvMailboxPlanDefault.Header" xml:space="preserve">
|
||||
<value>Default Mailbox plan</value>
|
||||
</data>
|
||||
<data name="requireOfferID.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
<data name="gvMailboxPlans.Empty" xml:space="preserve">
|
||||
<value>No mailbox plans have been added yet. To add a new mailbox plan click "Add New Mailbox plan" button.</value>
|
||||
</data>
|
||||
<data name="requireProgramID.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
<data name="HSFormComments.Text" xml:space="preserve">
|
||||
<value><p> A Mailbox plan is a template that defines the characteristics of a mailbox </p> <p>The mailbox plan name needs to be unique. A mailbox plan cannot be modified. In case a mailbox needs a mailbox plan with another characteristics, a new mailbox plan needs to be created and assigned to the mailbox. A mailbox plan can only be deleted when the plan is not assigned to any mailboxes. </p></value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Mailbox plans</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Mailbox plans</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSend.Text" xml:space="preserve">
|
||||
<value>Send</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCreateMailbox.Text" xml:space="preserve">
|
||||
<value>Create New Mailbox</value>
|
||||
|
@ -132,6 +132,9 @@
|
|||
<data name="cmdSearch.AlternateText" xml:space="preserve">
|
||||
<value>Search</value>
|
||||
</data>
|
||||
<data name="ddlSearchColumnAccountName.Text" xml:space="preserve">
|
||||
<value>Domain Account</value>
|
||||
</data>
|
||||
<data name="ddlSearchColumnDisplayName.Text" xml:space="preserve">
|
||||
<value>Display Name</value>
|
||||
</data>
|
||||
|
@ -147,6 +150,12 @@
|
|||
<data name="gvMailboxesEmail.Header" xml:space="preserve">
|
||||
<value>Primary E-mail Address</value>
|
||||
</data>
|
||||
<data name="gvMailboxesMailboxPlan.Header" xml:space="preserve">
|
||||
<value>Mailbox plan</value>
|
||||
</data>
|
||||
<data name="gvSubscriberNumber.Header" xml:space="preserve">
|
||||
<value>Subscriber</value>
|
||||
</data>
|
||||
<data name="HSFormComments.Text" xml:space="preserve">
|
||||
<value><p><b>Mailboxes</b> are used to receive and send electronic messages. Each mailbox is a separate Exchange account which may be a person, room or inventory unit.</p>
|
||||
|
||||
|
@ -165,7 +174,4 @@
|
|||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Mailboxes</value>
|
||||
</data>
|
||||
<data name="ddlSearchColumnAccountName.Text" xml:space="preserve">
|
||||
<value>Domain Account</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,162 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSave.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Updating storage settings...');</value>
|
||||
</data>
|
||||
<data name="btnSave.Text" xml:space="preserve">
|
||||
<value>Save Changes</value>
|
||||
</data>
|
||||
<data name="btnSaveApply.OnClientClick" xml:space="preserve">
|
||||
<value>if(!confirm('Please be aware that applying new storage settings to all mailboxes can take significant time to complete. Do you want to proceed?')) return false; else ShowProgressDialog('Applying storage settings to mailboxes...');</value>
|
||||
</data>
|
||||
<data name="btnSaveApply.Text" xml:space="preserve">
|
||||
<value>Save and Apply to All Mailboxes</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p>You can change storage limits and deleted items retention policy.</p><p>The settings will be applied for for new mailboxes only. By clicking "Save and Apply to All Mailboxes" button you can override these settings for all existing mailboxes.</p><p>Please note, that you cannot specify storage settings higher than defined in the space hosting plan.</p></value>
|
||||
</data>
|
||||
<data name="locIssueWarning.Text" xml:space="preserve">
|
||||
<value>Issue warning at:</value>
|
||||
</data>
|
||||
<data name="locKeepDeletedItems.Text" xml:space="preserve">
|
||||
<value>Keep deleted items for:</value>
|
||||
</data>
|
||||
<data name="locProhibitSend.Text" xml:space="preserve">
|
||||
<value>Prohibit send at:</value>
|
||||
</data>
|
||||
<data name="locProhibitSendReceive.Text" xml:space="preserve">
|
||||
<value>Prohibit send and receive at:</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Storage Settings</value>
|
||||
</data>
|
||||
<data name="locWhenSizeExceeds.Text" xml:space="preserve">
|
||||
<value>When the mailbox size exceeds the indicated amount:</value>
|
||||
</data>
|
||||
<data name="secDeletionSettings.Text" xml:space="preserve">
|
||||
<value>Deletion Settings</value>
|
||||
</data>
|
||||
<data name="secStorageLimits.Text" xml:space="preserve">
|
||||
<value>Storage Settings</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Storage Settings</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnRecalculate.OnClientClick" xml:space="preserve">
|
||||
<value>return confirm('Recalculating organization disk space may require certain time to complete and this task will be performed asynchronously. New disk space value will be available in a few minutes. Proceed with disk space calculation?');</value>
|
||||
|
@ -123,8 +123,11 @@
|
|||
<data name="btnRecalculate.Text" xml:space="preserve">
|
||||
<value>Recalculate Disk Space</value>
|
||||
</data>
|
||||
<data name="btnUsedSize.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Please wait...');</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p>Organization disk space usage is calculated on timely basis (usually once a day). You can recalculate it right now by clicking "Recalculate Disk Space" button.</p><p>Click on the link with used disk space to see usage breakdown by all organization mailboxes and public folders.</p></value>
|
||||
<value><p>Organization disk space actual usage is calculated on timely basis (usually once a day). You can recalculate it right now by clicking "Recalculate Disk Space" button.</p><p>Click on the link with used disk space to see actual usage breakdown by all organization mailboxes.</p></value>
|
||||
</data>
|
||||
<data name="locAllocatedSize.Text" xml:space="preserve">
|
||||
<value>Allocated Disk Space (MB):</value>
|
||||
|
@ -136,7 +139,7 @@
|
|||
<value>Storage Usage</value>
|
||||
</data>
|
||||
<data name="locUsedSize.Text" xml:space="preserve">
|
||||
<value>Used Disk Space (MB):</value>
|
||||
<value>Allocated Disk Space (MB):</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Storage Usage</value>
|
||||
|
@ -144,7 +147,4 @@
|
|||
<data name="Unlimited.Text" xml:space="preserve">
|
||||
<value>Unlimited</value>
|
||||
</data>
|
||||
<data name="btnUsedSize.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Please wait...');</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnOK.Text" xml:space="preserve">
|
||||
<value> OK </value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCreate.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Creating Organization...');</value>
|
||||
|
@ -124,7 +124,7 @@
|
|||
<value>Create Organization</value>
|
||||
</data>
|
||||
<data name="FormComments.Text" xml:space="preserve">
|
||||
<value><p><b>Organization name</b> is used just as display name for references purposes. It will not be used somewhere on Exchange Server.</p> <p><b>Organization ID</b> is an unique organization identifier. It can contain only numbers and letters and cannot be longer than 9 symbols. Organization ID will be used as GAL name and as a root public folder.</p></value>
|
||||
<value><p><b>Organization name</b> is used just as display name for references purposes. It will not be used somewhere on Exchange Server.</p> <p><b>Organization ID</b> is an unique organization identifier. Organization ID will be used as GAL name.</p></value>
|
||||
</data>
|
||||
<data name="locOrganizationID.Text" xml:space="preserve">
|
||||
<value>Organization ID: *</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCreate.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Creating user...');</value>
|
||||
|
@ -131,7 +131,7 @@
|
|||
|
||||
<p><b>E-Mail Address</b> is a User Principal Name (UPN). It is used as a logon name in Outlook, Outlook Web Access (OWA) or SharePoint.</p>
|
||||
|
||||
<p>New organization domains can be added on "Domain Names" page. Temporary domain name is provided by default to allow creating new users as soon as possible.</p>
|
||||
<p>New organization domains can be added on "Domain Names" page.</p>
|
||||
|
||||
<p>Make sure your password is strong enough, i.e. contains lower and capital letters, numbers and symbols.</p></value>
|
||||
</data>
|
||||
|
@ -144,6 +144,9 @@
|
|||
<data name="locPassword.Text" xml:space="preserve">
|
||||
<value>Password: *</value>
|
||||
</data>
|
||||
<data name="locSubscriberNumber.Text" xml:space="preserve">
|
||||
<value>Subscriber Number: *</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Create New User</value>
|
||||
</data>
|
||||
|
@ -156,4 +159,10 @@
|
|||
<data name="valRequireDisplayName.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valRequireSubscriberNumber.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter Subscriber Number</value>
|
||||
</data>
|
||||
<data name="valRequireSubscriberNumber.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,57 +112,16 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="HSFormComments.Text" xml:space="preserve">
|
||||
<value><p>Welcome to the organization home page!</p>
|
||||
|
||||
<p>Using the left menu you can manage organization domain names and users.</p>
|
||||
|
||||
<p>Organization statistics displays current status of the organization.</p></value>
|
||||
</data>
|
||||
<data name="lnkAllocatedDiskspace.Text" xml:space="preserve">
|
||||
<value>Allocated Diskspace (MB)</value>
|
||||
</data>
|
||||
<data name="lnkContacts.Text" xml:space="preserve">
|
||||
<value>Contacts:</value>
|
||||
</data>
|
||||
<data name="lnkDomains.Text" xml:space="preserve">
|
||||
<value>Domain Names:</value>
|
||||
</data>
|
||||
<data name="lnkFolders.Text" xml:space="preserve">
|
||||
<value>Public Folders:</value>
|
||||
</data>
|
||||
<data name="lnkLists.Text" xml:space="preserve">
|
||||
<value>Distribution Lists:</value>
|
||||
</data>
|
||||
<data name="lnkMailboxes.Text" xml:space="preserve">
|
||||
<value>Mailboxes:</value>
|
||||
</data>
|
||||
<data name="lnkSiteCollections.Text" xml:space="preserve">
|
||||
<value>Site Collections:</value>
|
||||
</data>
|
||||
<data name="lnkUsedDiskspace.Text" xml:space="preserve">
|
||||
<value>Used Diskspace (MB)</value>
|
||||
</data>
|
||||
<data name="lnkUsers.Text" xml:space="preserve">
|
||||
<value>Users:</value>
|
||||
</data>
|
||||
<data name="locHeadStatistics.Text" xml:space="preserve">
|
||||
<value>Organization Statistics</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Home</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Home</value>
|
||||
</data>
|
||||
<data name="Unlimited.Text" xml:space="preserve">
|
||||
<value>Unlimited</value>
|
||||
</data>
|
||||
<data name="lblCreated.Text" xml:space="preserve">
|
||||
<value>Created:</value>
|
||||
</data>
|
||||
|
@ -172,22 +131,82 @@
|
|||
<data name="lblOrganizationName.Text" xml:space="preserve">
|
||||
<value>Organization Name:</value>
|
||||
</data>
|
||||
<data name="lnkCRMUsers.Text" xml:space="preserve">
|
||||
<value>CRM Users:</value>
|
||||
</data>
|
||||
<data name="litTotalUserDiskSpace.Text" xml:space="preserve">
|
||||
<value>Total Used Disk Space, MB:</value>
|
||||
</data>
|
||||
<data name="litUsedDiskSpace.Text" xml:space="preserve">
|
||||
<value>Used Disk Space, MB:</value>
|
||||
</data>
|
||||
<data name="lnkAllocatedDiskspace.Text" xml:space="preserve">
|
||||
<value>Allocated Diskspace (MB)</value>
|
||||
</data>
|
||||
<data name="lnkBESUsers.Text" xml:space="preserve">
|
||||
<value>BlackBerry Users:</value>
|
||||
</data>
|
||||
<data name="lnkContacts.Text" xml:space="preserve">
|
||||
<value>Contacts:</value>
|
||||
</data>
|
||||
<data name="lnkCRMUsers.Text" xml:space="preserve">
|
||||
<value>CRM Users:</value>
|
||||
</data>
|
||||
<data name="lnkDomains.Text" xml:space="preserve">
|
||||
<value>Domain Names:</value>
|
||||
</data>
|
||||
<data name="lnkExchangeStorage.Text" xml:space="preserve">
|
||||
<value>Storage (Mb):</value>
|
||||
</data>
|
||||
<data name="lnkFolders.Text" xml:space="preserve">
|
||||
<value>Public Folders:</value>
|
||||
</data>
|
||||
<data name="lnkLists.Text" xml:space="preserve">
|
||||
<value>Distribution Lists:</value>
|
||||
</data>
|
||||
<data name="lnkLyncUsers.Text" xml:space="preserve">
|
||||
<value>Users:</value>
|
||||
</data>
|
||||
<data name="lnkMailboxes.Text" xml:space="preserve">
|
||||
<value>Mailboxes:</value>
|
||||
</data>
|
||||
<data name="lnkOCSUsers.Text" xml:space="preserve">
|
||||
<value>OCS Users:</value>
|
||||
</data>
|
||||
<data name="lnkSiteCollections.Text" xml:space="preserve">
|
||||
<value>Site Collections:</value>
|
||||
</data>
|
||||
<data name="lnkUsedDiskspace.Text" xml:space="preserve">
|
||||
<value>Used Diskspace (MB)</value>
|
||||
</data>
|
||||
<data name="lnkUsers.Text" xml:space="preserve">
|
||||
<value>Users:</value>
|
||||
</data>
|
||||
<data name="locBESStatistics.Text" xml:space="preserve">
|
||||
<value>BlackBerry</value>
|
||||
</data>
|
||||
<data name="locCRM.Text" xml:space="preserve">
|
||||
<value>CRM</value>
|
||||
</data>
|
||||
<data name="locExchangeStatistics.Text" xml:space="preserve">
|
||||
<value>Exchange</value>
|
||||
</data>
|
||||
<data name="locHeadStatistics.Text" xml:space="preserve">
|
||||
<value>Organization</value>
|
||||
</data>
|
||||
<data name="locLyncStatistics.Text" xml:space="preserve">
|
||||
<value>Lync</value>
|
||||
</data>
|
||||
<data name="locOCSStatistics.Text" xml:space="preserve">
|
||||
<value>OCS</value>
|
||||
</data>
|
||||
<data name="locSharePoint.Text" xml:space="preserve">
|
||||
<value>SharePoint</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Home</value>
|
||||
</data>
|
||||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Home</value>
|
||||
</data>
|
||||
<data name="Unlimited.Text" xml:space="preserve">
|
||||
<value>Unlimited</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSave.OnClientClick" xml:space="preserve">
|
||||
<value>ShowProgressDialog('Updating user settings...');</value>
|
||||
|
@ -126,11 +126,15 @@
|
|||
<data name="chkDisable.Text" xml:space="preserve">
|
||||
<value>Disable User</value>
|
||||
</data>
|
||||
<data name="chkLocked.Text" xml:space="preserve">
|
||||
<value>Account is locked out</value>
|
||||
</data>
|
||||
<data name="chkSetPassword.Text" xml:space="preserve">
|
||||
<value>Set Password</value>
|
||||
</data>
|
||||
<data name="HSFormComments.Text" xml:space="preserve">
|
||||
<value><p><b>Display Name</b> is a “friendly” name used by other programs, such as Microsoft Exchange or SharePoint.</p>
|
||||
|
||||
<p>Make sure your password is strong enough, i.e. contains lower and capital letters, numbers and symbols.</p>
|
||||
|
||||
<p>You can specify manager account to build organizational structure of your company.</p></value>
|
||||
</data>
|
||||
<data name="locAddress.Text" xml:space="preserve">
|
||||
|
@ -154,6 +158,9 @@
|
|||
<data name="locDisplayName.Text" xml:space="preserve">
|
||||
<value>Display Name: *</value>
|
||||
</data>
|
||||
<data name="locExternalEmailAddress.Text" xml:space="preserve">
|
||||
<value>External e-mail:</value>
|
||||
</data>
|
||||
<data name="locFax.Text" xml:space="preserve">
|
||||
<value>Fax:</value>
|
||||
</data>
|
||||
|
@ -193,6 +200,9 @@
|
|||
<data name="locState.Text" xml:space="preserve">
|
||||
<value>State/Province:</value>
|
||||
</data>
|
||||
<data name="locSubscriberNumber.Text" xml:space="preserve">
|
||||
<value>Subscriber Number:</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Edit User</value>
|
||||
</data>
|
||||
|
@ -226,10 +236,4 @@
|
|||
<data name="valRequireDisplayName.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="locExternalEmailAddress.Text" xml:space="preserve">
|
||||
<value>External e-mail:</value>
|
||||
</data>
|
||||
<data name="chkLocked.Text" xml:space="preserve">
|
||||
<value>Account is locked out</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSend.Text" xml:space="preserve">
|
||||
<value>Send</value>
|
||||
|
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCreateUser.Text" xml:space="preserve">
|
||||
<value>Create New User</value>
|
||||
|
@ -132,12 +132,21 @@
|
|||
<data name="cmdSearch.AlternateText" xml:space="preserve">
|
||||
<value>Search</value>
|
||||
</data>
|
||||
<data name="ddlSearchColumnAccountName.Text" xml:space="preserve">
|
||||
<value>Domain Account</value>
|
||||
</data>
|
||||
<data name="ddlSearchColumnDisplayName.Text" xml:space="preserve">
|
||||
<value>Display Name</value>
|
||||
</data>
|
||||
<data name="ddlSearchColumnEmail.Text" xml:space="preserve">
|
||||
<value>E-mail Address</value>
|
||||
</data>
|
||||
<data name="ddlSearchColumnSubscriberNumber" xml:space="preserve">
|
||||
<value>Subscriber Number</value>
|
||||
</data>
|
||||
<data name="gvSubscriberNumber.Header" xml:space="preserve">
|
||||
<value>Subscriber</value>
|
||||
</data>
|
||||
<data name="gvUsers.Empty" xml:space="preserve">
|
||||
<value>No users have been created. To create a new user click "Create New Users" button.</value>
|
||||
</data>
|
||||
|
@ -149,14 +158,11 @@
|
|||
</data>
|
||||
<data name="HSFormComments.Text" xml:space="preserve">
|
||||
<value><p>Active Directory user accounts are used to:</p>
|
||||
|
||||
<p>• Authenticate the identity of a user.<br>
|
||||
• Authorize or deny access to domain resources.<br>
|
||||
• Administer other security principals.<br>
|
||||
• Audit actions performed using the user account.</p>
|
||||
|
||||
<p>Primary E-Mail Address is a User Principal Name (UPN). It is used as a logon name in Outlook, Outlook Web Access (OWA) or SharePoint.</p>
|
||||
|
||||
<p>User account can also represent Exchange mailbox, which may be a person, room or inventory unit.</p></value>
|
||||
</data>
|
||||
<data name="locQuota.Text" xml:space="preserve">
|
||||
|
@ -168,7 +174,4 @@
|
|||
<data name="Text.PageName" xml:space="preserve">
|
||||
<value>Users</value>
|
||||
</data>
|
||||
<data name="ddlSearchColumnAccountName.Text" xml:space="preserve">
|
||||
<value>Domain Account</value>
|
||||
</data>
|
||||
</root>
|
|
@ -112,10 +112,10 @@
|
|||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCreate.Text" xml:space="preserve">
|
||||
<value>Create New Organization</value>
|
||||
|
@ -158,10 +158,8 @@
|
|||
</data>
|
||||
<data name="HSFormComments.Text" xml:space="preserve">
|
||||
<value><p><b>Organization</b> is a group of Active Directory users, contacts and groups.<br><br>
|
||||
|
||||
All accounts within one organization are located in the same Organizational Unit and are not visible to members of other organizations.<br><br>
|
||||
|
||||
Exchange-enabled organization has its own Global Address List (GAL) and Offline Address Book (OAB). Mailboxes, contacts, distribution lists and public folders of Exchange-enabled organization share the same GAL and OAB</p></value>
|
||||
Exchange-enabled organization has its own Global Address List (GAL) and Offline Address Book (OAB). Mailboxes, contacts, and distribution lists of Exchange-enabled organization share the same GAL and OAB</p></value>
|
||||
</data>
|
||||
<data name="locQuota.Text" xml:space="preserve">
|
||||
<value>Total Organizations Created:</value>
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
<asp:Localize ID="locMaxAttachmentSize" runat="server"
|
||||
meta:resourcekey="locMaxAttachmentSize" Text="Maximum attachment size:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="sizeMaxAttachmentSize" runat="server" ValidationGroup="EditMailbox" />
|
||||
<wsp:SizeBox id="sizeMaxAttachmentSize" runat="server" ValidationGroup="EditMailbox" DisplayUnitsKB="true" DisplayUnitsMB="false" DisplayUnitsPct="false"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -137,7 +137,7 @@
|
|||
<asp:Localize ID="locNumberAttempts" runat="server"
|
||||
meta:resourcekey="locNumberAttempts" Text="Number of failed attempts allowed:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="sizeNumberAttempts" runat="server" ValidationGroup="EditMailbox" DisplayUnits="false" />
|
||||
<wsp:SizeBox id="sizeNumberAttempts" runat="server" ValidationGroup="EditMailbox" DisplayUnits="false" DisplayUnitsKB="false" DisplayUnitsMB="false" DisplayUnitsPct="false"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -146,7 +146,7 @@
|
|||
meta:resourcekey="locMinimumPasswordLength" Text="Minimum password length:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="sizeMinimumPasswordLength" runat="server" ValidationGroup="EditMailbox"
|
||||
DisplayUnits="false" EmptyValue="0" />
|
||||
DisplayUnits="false" EmptyValue="0" DisplayUnitsKB="false" DisplayUnitsMB="false" DisplayUnitsPct="false"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -154,7 +154,7 @@
|
|||
<asp:Localize ID="locTimeReenter" runat="server"
|
||||
meta:resourcekey="locTimeReenter" Text="Time without user input before password must be re-entered:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="sizeTimeReenter" runat="server" ValidationGroup="EditMailbox" DisplayUnits="false" />
|
||||
<wsp:SizeBox id="sizeTimeReenter" runat="server" ValidationGroup="EditMailbox" DisplayUnits="false" DisplayUnitsKB="false" DisplayUnitsMB="false" DisplayUnitsPct="false"/>
|
||||
<asp:Localize ID="locMinutes" runat="server"
|
||||
meta:resourcekey="locMinutes" Text="minutes"></asp:Localize>
|
||||
</td>
|
||||
|
@ -164,7 +164,7 @@
|
|||
<asp:Localize ID="locPasswordExpiration" runat="server"
|
||||
meta:resourcekey="locPasswordExpiration" Text="Password expiration:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="sizePasswordExpiration" runat="server" ValidationGroup="EditMailbox" DisplayUnits="false" />
|
||||
<wsp:SizeBox id="sizePasswordExpiration" runat="server" ValidationGroup="EditMailbox" DisplayUnits="false" DisplayUnitsKB="false" DisplayUnitsMB="false" DisplayUnitsPct="false"/>
|
||||
<asp:Localize ID="locDays" runat="server"
|
||||
meta:resourcekey="locDays" Text="days"></asp:Localize>
|
||||
</td>
|
||||
|
@ -174,7 +174,7 @@
|
|||
<asp:Localize ID="locPasswordHistory" runat="server"
|
||||
meta:resourcekey="locPasswordHistory" Text="Enforce password history:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="sizePasswordHistory" runat="server" ValidationGroup="EditMailbox" DisplayUnits="false" RequireValidatorEnabled="true" />
|
||||
<wsp:SizeBox id="sizePasswordHistory" runat="server" ValidationGroup="EditMailbox" DisplayUnits="false" RequireValidatorEnabled="true" DisplayUnitsKB="false" DisplayUnitsMB="false" DisplayUnitsPct="false"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
|
||||
using System;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer
|
||||
{
|
||||
|
@ -39,6 +40,9 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
{
|
||||
BindPolicy();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
|
@ -55,7 +59,7 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
|
||||
// bind data
|
||||
chkAllowNonProvisionable.Checked = policy.AllowNonProvisionableDevices;
|
||||
|
||||
|
||||
chkAllowAttachments.Checked = policy.AttachmentsEnabled;
|
||||
sizeMaxAttachmentSize.ValueKB = policy.MaxAttachmentSizeKB;
|
||||
|
||||
|
|
|
@ -1,22 +1,15 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.832
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer {
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ExchangeActiveSyncSettings class.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated class.
|
||||
/// </remarks>
|
||||
public partial class ExchangeActiveSyncSettings {
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -26,12 +26,7 @@
|
|||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locDomainName" runat="server" meta:resourcekey="locDomainName" Text="Domain Name:"></asp:Localize></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtDomainName" runat="server" CssClass="HugeTextBox200"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireDomainName" runat="server" meta:resourcekey="valRequireDomainName" ControlToValidate="txtDomainName"
|
||||
ErrorMessage="Enter Domain Name" ValidationGroup="CreateDomain" Display="Dynamic" Text="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
|
||||
<asp:RegularExpressionValidator id="valRequireCorrectDomain" runat="server" ValidationExpression="^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.){1,10}[a-zA-Z]{2,6}$"
|
||||
ErrorMessage='Please, enter correct domain name in the form "mydomain.com" or "sub.mydomain.com"' ControlToValidate="txtDomainName"
|
||||
Display="Dynamic" meta:resourcekey="valRequireCorrectDomain" ValidationGroup="CreateDomain">*</asp:RegularExpressionValidator>
|
||||
<asp:DropDownList id="ddlDomains" runat="server" CssClass="NormalTextBox" DataTextField="DomainName" DataValueField="DomainID" style="vertical-align:middle;"></asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -39,6 +34,7 @@
|
|||
<div class="FormFooterClean">
|
||||
<asp:Button id="btnAdd" runat="server" Text="Add Domain" CssClass="Button1" meta:resourcekey="btnAdd" ValidationGroup="CreateDomain" OnClick="btnAdd_Click" OnClientClick="ShowProgressDialog('Creating Domain...');"></asp:Button>
|
||||
<asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowMessageBox="True" ShowSummary="False" ValidationGroup="CreateDomain" />
|
||||
<asp:Button id="btnCancel" runat="server" Text="Cancel" CssClass="Button1" meta:resourcekey="btnCancel" OnClick="btnCancel_Click"></asp:Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -27,21 +27,55 @@
|
|||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer
|
||||
{
|
||||
public partial class ExchangeAddDomainName : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
public partial class ExchangeAddDomainName : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
DomainInfo[] domains = ES.Services.Servers.GetMyDomains(PanelSecurity.PackageId);
|
||||
|
||||
}
|
||||
OrganizationDomainName[] list = ES.Services.Organizations.GetOrganizationDomains(PanelRequest.ItemID);
|
||||
|
||||
foreach (DomainInfo d in domains)
|
||||
{
|
||||
if (!d.IsDomainPointer & !d.IsInstantAlias)
|
||||
{
|
||||
bool bAdd = true;
|
||||
foreach (OrganizationDomainName acceptedDomain in list)
|
||||
{
|
||||
if (d.DomainName.ToLower() == acceptedDomain.DomainName.ToLower())
|
||||
{
|
||||
bAdd = false;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
if (bAdd) ddlDomains.Items.Add(d.DomainName.ToLower());
|
||||
}
|
||||
}
|
||||
|
||||
if (ddlDomains.Items.Count == 0) btnAdd.Enabled = false;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected void btnAdd_Click(object sender, EventArgs e)
|
||||
{
|
||||
AddDomain();
|
||||
}
|
||||
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "domains", "SpaceID=" + PanelSecurity.PackageId));
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void AddDomain()
|
||||
{
|
||||
if (!Page.IsValid)
|
||||
|
@ -51,7 +85,7 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
{
|
||||
|
||||
int result = ES.Services.Organizations.AddOrganizationDomain(PanelRequest.ItemID,
|
||||
txtDomainName.Text.Trim());
|
||||
ddlDomains.SelectedValue.Trim());
|
||||
|
||||
if (result < 0)
|
||||
{
|
||||
|
@ -67,5 +101,5 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
messageBox.ShowErrorMessage("EXCHANGE_ADD_DOMAIN", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -76,31 +76,13 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
protected global::System.Web.UI.WebControls.Localize locDomainName;
|
||||
|
||||
/// <summary>
|
||||
/// txtDomainName control.
|
||||
/// ddlDomains control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtDomainName;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireDomainName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireDomainName;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireCorrectDomain control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectDomain;
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlDomains;
|
||||
|
||||
/// <summary>
|
||||
/// btnAdd control.
|
||||
|
@ -120,6 +102,15 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary1;
|
||||
|
||||
/// <summary>
|
||||
/// btnCancel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnCancel;
|
||||
|
||||
/// <summary>
|
||||
/// FormComments control.
|
||||
/// </summary>
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ExchangeMailboxAdvancedSettings.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeServer.ExchangeMailboxAdvancedSettings" %>
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ExchangeAddMailboxPlan.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeServer.ExchangeAddMailboxPlan" %>
|
||||
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/MailboxTabs.ascx" TagName="MailboxTabs" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/DaysBox.ascx" TagName="DaysBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %>
|
||||
<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %>
|
||||
<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
|
||||
|
@ -16,19 +15,35 @@
|
|||
<wsp:Breadcrumb id="breadcrumb" runat="server" PageName="Text.PageName" />
|
||||
</div>
|
||||
<div class="Left">
|
||||
<wsp:Menu id="menu" runat="server" SelectedItem="mailboxes" />
|
||||
<wsp:Menu id="menu" runat="server" SelectedItem="mailboxplans" />
|
||||
</div>
|
||||
<div class="Content">
|
||||
<div class="Center">
|
||||
<div class="Title">
|
||||
<asp:Image ID="Image1" SkinID="ExchangeMailbox48" runat="server" />
|
||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle" Text="Edit Mailbox"></asp:Localize>
|
||||
-
|
||||
<asp:Literal ID="litDisplayName" runat="server" Text="John Smith" />
|
||||
</div>
|
||||
<asp:Image ID="Image1" SkinID="ExchangeDomainNameAdd48" runat="server" />
|
||||
<asp:Localize ID="locTitle" runat="server" meta:resourcekey="locTitle" Text="Add Mailboxplan"></asp:Localize>
|
||||
</div>
|
||||
<div class="FormBody">
|
||||
<wsp:MailboxTabs id="tabs" runat="server" SelectedTab="mailbox_advanced" />
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||
|
||||
<wsp:CollapsiblePanel id="secMailboxPlan" runat="server"
|
||||
TargetControlID="MailboxPlan" meta:resourcekey="secMailboxPlan" Text="Mailboxplan">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="MailboxPlan" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="FormLabel200" align="right">
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtMailboxPlan" runat="server" CssClass="TextBox200" ></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireMailboxPlan" runat="server" meta:resourcekey="valRequireMailboxPlan" ControlToValidate="txtMailboxPlan"
|
||||
ErrorMessage="Enter mailbox plan name" ValidationGroup="CreateMailboxPlan" Display="Dynamic" Text="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
|
||||
<wsp:CollapsiblePanel id="secMailboxFeatures" runat="server"
|
||||
TargetControlID="MailboxFeatures" meta:resourcekey="secMailboxFeatures" Text="Mailbox Features">
|
||||
|
@ -63,66 +78,70 @@
|
|||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
|
||||
|
||||
<wsp:CollapsiblePanel id="secStatistics" runat="server"
|
||||
TargetControlID="Statistics" meta:resourcekey="secStatistics" Text="Storage Statistics">
|
||||
|
||||
<wsp:CollapsiblePanel id="secMailboxGeneral" runat="server"
|
||||
TargetControlID="MailboxGeneral" meta:resourcekey="secMailboxGeneral" Text="Mailbox General">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="Statistics" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table cellpadding="4">
|
||||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locTotalItems" runat="server" meta:resourcekey="locTotalItems" Text="Total Items:"></asp:Localize></td>
|
||||
<asp:Panel ID="MailboxGeneral" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Label ID="lblTotalItems" runat="server" CssClass="NormalBold">177</asp:Label>
|
||||
<asp:CheckBox ID="chkHideFromAddressBook" runat="server" meta:resourcekey="chkHideFromAddressBook" Text="Hide from Addressbook"></asp:CheckBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locTotalSize" runat="server" meta:resourcekey="locTotalSize" Text="Total Size (MB):"></asp:Localize></td>
|
||||
<td>
|
||||
<asp:Label ID="lblTotalSize" runat="server" CssClass="NormalBold">16</asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locLastLogon" runat="server" meta:resourcekey="locLastLogon" Text="Last Logon:"></asp:Localize></td>
|
||||
<td>
|
||||
<asp:Label ID="lblLastLogon" runat="server" CssClass="NormalBold"></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locLastLogoff" runat="server" meta:resourcekey="locLastLogoff" Text="Last Logoff:"></asp:Localize></td>
|
||||
<td>
|
||||
<asp:Label ID="lblLastLogoff" runat="server" CssClass="NormalBold"></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
|
||||
|
||||
|
||||
<wsp:CollapsiblePanel id="secStorageQuotas" runat="server"
|
||||
TargetControlID="StorageQuotas" meta:resourcekey="secStorageQuotas" Text="Storage Quotas">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="StorageQuotas" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="FormLabel200" align="right"><asp:Localize ID="locMailboxSize" runat="server" meta:resourcekey="locMailboxSize" Text="Mailbox size:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="mailboxSize" runat="server" ValidationGroup="CreateMailboxPlan" DisplayUnitsKB="false" DisplayUnitsMB="true" DisplayUnitsPct="false" RequireValidatorEnabled="true"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel200" align="right"><asp:Localize ID="locMaxRecipients" runat="server" meta:resourcekey="locMaxRecipients" Text="Maximum Recipients:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="maxRecipients" runat="server" ValidationGroup="CreateMailboxPlan" DisplayUnitsKB="false" DisplayUnitsMB="false" DisplayUnitsPct="false" RequireValidatorEnabled="true"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel200" align="right"><asp:Localize ID="locMaxSendMessageSizeKB" runat="server" meta:resourcekey="locMaxSendMessageSizeKB" Text="Maximum Send Message Size (Kb):"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="maxSendMessageSizeKB" runat="server" ValidationGroup="CreateMailboxPlan" DisplayUnitsKB="true" DisplayUnitsMB="false" DisplayUnitsPct="false" RequireValidatorEnabled="true"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel200" align="right"><asp:Localize ID="locMaxReceiveMessageSizeKB" runat="server" meta:resourcekey="locMaxReceiveMessageSizeKB" Text="Maximum Receive Message Size (Kb):"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="maxReceiveMessageSizeKB" runat="server" ValidationGroup="CreateMailboxPlan" DisplayUnitsKB="true" DisplayUnitsMB="false" DisplayUnitsPct="false" RequireValidatorEnabled="true"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="FormLabel200" colspan="2"><asp:Localize ID="locWhenSizeExceeds" runat="server" meta:resourcekey="locWhenSizeExceeds" Text="When the mailbox size exceeds the indicated amount:"></asp:Localize></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel200" align="right"><asp:Localize ID="locIssueWarning" runat="server" meta:resourcekey="locIssueWarning" Text="Issue warning at:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="sizeIssueWarning" runat="server" ValidationGroup="EditMailbox" />
|
||||
<wsp:SizeBox id="sizeIssueWarning" runat="server" ValidationGroup="CreateMailboxPlan" DisplayUnitsKB="false" DisplayUnitsMB="false" DisplayUnitsPct="true" RequireValidatorEnabled="true"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel200" align="right"><asp:Localize ID="locProhibitSend" runat="server" meta:resourcekey="locProhibitSend" Text="Prohibit send at:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="sizeProhibitSend" runat="server" ValidationGroup="EditMailbox" />
|
||||
<wsp:SizeBox id="sizeProhibitSend" runat="server" ValidationGroup="CreateMailboxPlan" DisplayUnitsKB="false" DisplayUnitsMB="false" DisplayUnitsPct="true" RequireValidatorEnabled="true"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel200" align="right"><asp:Localize ID="locProhibitSendReceive" runat="server" meta:resourcekey="locProhibitSendReceive" Text="Prohibit send and receive at:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:SizeBox id="sizeProhibitSendReceive" runat="server" ValidationGroup="EditMailbox" />
|
||||
<wsp:SizeBox id="sizeProhibitSendReceive" runat="server" ValidationGroup="CreateMailboxPlan" DisplayUnitsKB=false DisplayUnitsMB="false" DisplayUnitsPct="true" RequireValidatorEnabled="true"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -138,44 +157,17 @@
|
|||
<tr>
|
||||
<td class="FormLabel200" align="right"><asp:Localize ID="locKeepDeletedItems" runat="server" meta:resourcekey="locKeepDeletedItems" Text="Keep deleted items for:"></asp:Localize></td>
|
||||
<td>
|
||||
<wsp:DaysBox id="daysKeepDeletedItems" runat="server" ValidationGroup="EditMailbox" />
|
||||
<wsp:DaysBox id="daysKeepDeletedItems" runat="server" ValidationGroup="CreateMailboxPlan" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
|
||||
|
||||
<wsp:CollapsiblePanel id="secDomainUser" runat="server"
|
||||
TargetControlID="DomainUser" meta:resourcekey="secDomainUser" Text="Domain User Name">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="DomainUser" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="FormLabel200" align="right">
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtAccountName" runat="server" CssClass="TextBox200" ReadOnly="true" Text="Username"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</asp:Panel>
|
||||
|
||||
<table style="width:100%;margin-top:10px;">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<asp:CheckBox ID="chkPmmAllowed" Visible="false" runat="server" meta:resourcekey="chkPmmAllowed" AutoPostBack="true"
|
||||
Text="Allow these settings to be managed from Personal Mailbox Manager" OnCheckedChanged="chkPmmAllowed_CheckedChanged" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<br />
|
||||
<div class="FormFooterClean">
|
||||
<asp:Button id="btnSave" runat="server" Text="Save Changes" CssClass="Button1" meta:resourcekey="btnSave" ValidationGroup="EditMailbox" OnClick="btnSave_Click"></asp:Button>
|
||||
<asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowMessageBox="True"
|
||||
ShowSummary="False" ValidationGroup="EditMailbox" />
|
||||
<asp:Button id="btnAdd" runat="server" Text="Add Mailboxplan" CssClass="Button1" meta:resourcekey="btnAdd" ValidationGroup="CreateMailboxPlan" OnClick="btnAdd_Click" OnClientClick="ShowProgressDialog('Creating Mailboxplan...');"></asp:Button>
|
||||
<asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowMessageBox="True" ShowSummary="False" ValidationGroup="CreateMailboxPlan" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,192 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.Providers.ResultObjects;
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer
|
||||
{
|
||||
public partial class ExchangeAddMailboxPlan : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
if (PanelRequest.GetInt("MailboxPlanId") != 0)
|
||||
{
|
||||
Providers.HostedSolution.ExchangeMailboxPlan plan = ES.Services.ExchangeServer.GetExchangeMailboxPlan(PanelRequest.ItemID, PanelRequest.GetInt("MailboxPlanId"));
|
||||
txtMailboxPlan.Text = plan.MailboxPlan;
|
||||
mailboxSize.ValueKB = plan.MailboxSizeMB;
|
||||
maxRecipients.ValueKB = plan.MaxRecipients;
|
||||
maxSendMessageSizeKB.ValueKB = plan.MaxSendMessageSizeKB;
|
||||
maxReceiveMessageSizeKB.ValueKB = plan.MaxReceiveMessageSizeKB;
|
||||
chkPOP3.Checked = plan.EnablePOP;
|
||||
chkIMAP.Checked = plan.EnableIMAP;
|
||||
chkOWA.Checked = plan.EnableOWA;
|
||||
chkMAPI.Checked = plan.EnableMAPI;
|
||||
chkActiveSync.Checked = plan.EnableActiveSync;
|
||||
sizeIssueWarning.ValueKB = plan.IssueWarningPct;
|
||||
sizeProhibitSend.ValueKB = plan.ProhibitSendPct;
|
||||
sizeProhibitSendReceive.ValueKB = plan.ProhibitSendReceivePct;
|
||||
daysKeepDeletedItems.ValueDays = plan.KeepDeletedItemsDays;
|
||||
chkHideFromAddressBook.Checked = plan.HideFromAddressBook;
|
||||
|
||||
/*
|
||||
txtMailboxPlan.Enabled = false;
|
||||
mailboxSize.Enabled = false;
|
||||
maxRecipients.Enabled = false;
|
||||
maxSendMessageSizeKB.Enabled = false;
|
||||
maxReceiveMessageSizeKB.Enabled = false;
|
||||
chkPOP3.Enabled = false;
|
||||
chkIMAP.Enabled = false;
|
||||
chkOWA.Enabled = false;
|
||||
chkMAPI.Enabled = false;
|
||||
chkActiveSync.Enabled = false;
|
||||
sizeIssueWarning.Enabled = false;
|
||||
sizeProhibitSend.Enabled = false;
|
||||
sizeProhibitSendReceive.Enabled = false;
|
||||
daysKeepDeletedItems.Enabled = false;
|
||||
chkHideFromAddressBook.Enabled = false;
|
||||
|
||||
btnAdd.Enabled = false;
|
||||
*/
|
||||
|
||||
locTitle.Text = plan.MailboxPlan;
|
||||
this.DisableControls = true;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
PackageContext cntx = ES.Services.Packages.GetPackageContext(PanelSecurity.PackageId);
|
||||
if (cntx != null)
|
||||
{
|
||||
foreach (QuotaValueInfo quota in cntx.QuotasArray)
|
||||
{
|
||||
switch (quota.QuotaId)
|
||||
{
|
||||
case 365:
|
||||
maxRecipients.ValueKB = quota.QuotaAllocatedValue;
|
||||
break;
|
||||
case 366:
|
||||
maxSendMessageSizeKB.ValueKB = quota.QuotaAllocatedValue;
|
||||
break;
|
||||
case 367:
|
||||
maxReceiveMessageSizeKB.ValueKB = quota.QuotaAllocatedValue;
|
||||
break;
|
||||
case 83:
|
||||
chkPOP3.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue);
|
||||
chkPOP3.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue);
|
||||
break;
|
||||
case 84:
|
||||
chkIMAP.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue);
|
||||
chkIMAP.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue);
|
||||
break;
|
||||
case 85:
|
||||
chkOWA.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue);
|
||||
chkOWA.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue);
|
||||
break;
|
||||
case 86:
|
||||
chkMAPI.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue);
|
||||
chkMAPI.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue);
|
||||
break;
|
||||
case 87:
|
||||
chkActiveSync.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue);
|
||||
chkActiveSync.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue);
|
||||
break;
|
||||
case 364:
|
||||
daysKeepDeletedItems.ValueDays = quota.QuotaAllocatedValue;
|
||||
break;
|
||||
}
|
||||
|
||||
sizeIssueWarning.ValueKB = 100;
|
||||
sizeProhibitSend.ValueKB = 100;
|
||||
sizeProhibitSendReceive.ValueKB = 100;
|
||||
}
|
||||
}
|
||||
else
|
||||
this.DisableControls = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void btnAdd_Click(object sender, EventArgs e)
|
||||
{
|
||||
AddMailboxPlan();
|
||||
}
|
||||
|
||||
private void AddMailboxPlan()
|
||||
{
|
||||
try
|
||||
{
|
||||
Providers.HostedSolution.ExchangeMailboxPlan plan = new Providers.HostedSolution.ExchangeMailboxPlan();
|
||||
plan.MailboxPlan = txtMailboxPlan.Text;
|
||||
plan.MailboxSizeMB = mailboxSize.ValueKB;
|
||||
if ((plan.MailboxSizeMB == 0)) plan.MailboxSizeMB = 1;
|
||||
|
||||
plan.IsDefault = false;
|
||||
plan.MaxRecipients = maxRecipients.ValueKB;
|
||||
plan.MaxSendMessageSizeKB = maxSendMessageSizeKB.ValueKB;
|
||||
plan.MaxReceiveMessageSizeKB = maxReceiveMessageSizeKB.ValueKB;
|
||||
plan.EnablePOP = chkPOP3.Checked;
|
||||
plan.EnableIMAP = chkIMAP.Checked;
|
||||
plan.EnableOWA = chkOWA.Checked;
|
||||
plan.EnableMAPI = chkMAPI.Checked;
|
||||
plan.EnableActiveSync = chkActiveSync.Checked;
|
||||
plan.IssueWarningPct = sizeIssueWarning.ValueKB;
|
||||
if ((plan.IssueWarningPct == 0)) plan.IssueWarningPct = 100;
|
||||
plan.ProhibitSendPct = sizeProhibitSend.ValueKB;
|
||||
if ((plan.ProhibitSendPct == 0)) plan.ProhibitSendPct = 100;
|
||||
plan.ProhibitSendReceivePct = sizeProhibitSendReceive.ValueKB;
|
||||
if ((plan.ProhibitSendReceivePct == 0)) plan.ProhibitSendReceivePct = 100;
|
||||
plan.KeepDeletedItemsDays = daysKeepDeletedItems.ValueDays;
|
||||
plan.HideFromAddressBook = chkHideFromAddressBook.Checked;
|
||||
|
||||
int result = ES.Services.ExchangeServer.AddExchangeMailboxPlan(PanelRequest.ItemID,
|
||||
plan);
|
||||
|
||||
|
||||
if (result < 0)
|
||||
{
|
||||
messageBox.ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
|
||||
Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "mailboxplans",
|
||||
"SpaceID=" + PanelSecurity.PackageId));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("EXCHANGE_ADD_MAILBOXPLAN", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,17 +1,16 @@
|
|||
//------------------------------------------------------------------------------
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1433
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer {
|
||||
|
||||
|
||||
public partial class ExchangeMailboxAdvancedSettings {
|
||||
public partial class ExchangeAddMailboxPlan {
|
||||
|
||||
/// <summary>
|
||||
/// asyncTasks control.
|
||||
|
@ -58,24 +57,6 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTitle;
|
||||
|
||||
/// <summary>
|
||||
/// litDisplayName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litDisplayName;
|
||||
|
||||
/// <summary>
|
||||
/// tabs control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.MailboxTabs tabs;
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </summary>
|
||||
|
@ -85,6 +66,42 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// secMailboxPlan control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secMailboxPlan;
|
||||
|
||||
/// <summary>
|
||||
/// MailboxPlan control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel MailboxPlan;
|
||||
|
||||
/// <summary>
|
||||
/// txtMailboxPlan control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtMailboxPlan;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireMailboxPlan control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireMailboxPlan;
|
||||
|
||||
/// <summary>
|
||||
/// secMailboxFeatures control.
|
||||
/// </summary>
|
||||
|
@ -149,94 +166,31 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
protected global::System.Web.UI.WebControls.CheckBox chkActiveSync;
|
||||
|
||||
/// <summary>
|
||||
/// secStatistics control.
|
||||
/// secMailboxGeneral control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secStatistics;
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secMailboxGeneral;
|
||||
|
||||
/// <summary>
|
||||
/// Statistics control.
|
||||
/// MailboxGeneral control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel Statistics;
|
||||
protected global::System.Web.UI.WebControls.Panel MailboxGeneral;
|
||||
|
||||
/// <summary>
|
||||
/// locTotalItems control.
|
||||
/// chkHideFromAddressBook control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTotalItems;
|
||||
|
||||
/// <summary>
|
||||
/// lblTotalItems control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTotalItems;
|
||||
|
||||
/// <summary>
|
||||
/// locTotalSize control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTotalSize;
|
||||
|
||||
/// <summary>
|
||||
/// lblTotalSize control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTotalSize;
|
||||
|
||||
/// <summary>
|
||||
/// locLastLogon control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locLastLogon;
|
||||
|
||||
/// <summary>
|
||||
/// lblLastLogon control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblLastLogon;
|
||||
|
||||
/// <summary>
|
||||
/// locLastLogoff control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locLastLogoff;
|
||||
|
||||
/// <summary>
|
||||
/// lblLastLogoff control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblLastLogoff;
|
||||
protected global::System.Web.UI.WebControls.CheckBox chkHideFromAddressBook;
|
||||
|
||||
/// <summary>
|
||||
/// secStorageQuotas control.
|
||||
|
@ -256,6 +210,78 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel StorageQuotas;
|
||||
|
||||
/// <summary>
|
||||
/// locMailboxSize control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locMailboxSize;
|
||||
|
||||
/// <summary>
|
||||
/// mailboxSize control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox mailboxSize;
|
||||
|
||||
/// <summary>
|
||||
/// locMaxRecipients control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locMaxRecipients;
|
||||
|
||||
/// <summary>
|
||||
/// maxRecipients control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox maxRecipients;
|
||||
|
||||
/// <summary>
|
||||
/// locMaxSendMessageSizeKB control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locMaxSendMessageSizeKB;
|
||||
|
||||
/// <summary>
|
||||
/// maxSendMessageSizeKB control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox maxSendMessageSizeKB;
|
||||
|
||||
/// <summary>
|
||||
/// locMaxReceiveMessageSizeKB control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locMaxReceiveMessageSizeKB;
|
||||
|
||||
/// <summary>
|
||||
/// maxReceiveMessageSizeKB control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.SizeBox maxReceiveMessageSizeKB;
|
||||
|
||||
/// <summary>
|
||||
/// locWhenSizeExceeds control.
|
||||
/// </summary>
|
||||
|
@ -356,49 +382,13 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.DaysBox daysKeepDeletedItems;
|
||||
|
||||
/// <summary>
|
||||
/// secDomainUser control.
|
||||
/// btnAdd control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secDomainUser;
|
||||
|
||||
/// <summary>
|
||||
/// DomainUser control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel DomainUser;
|
||||
|
||||
/// <summary>
|
||||
/// txtAccountName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtAccountName;
|
||||
|
||||
/// <summary>
|
||||
/// chkPmmAllowed control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox chkPmmAllowed;
|
||||
|
||||
/// <summary>
|
||||
/// btnSave control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnSave;
|
||||
protected global::System.Web.UI.WebControls.Button btnAdd;
|
||||
|
||||
/// <summary>
|
||||
/// ValidationSummary1 control.
|
|
@ -30,19 +30,22 @@ using System;
|
|||
using System.Web.UI.WebControls;
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using Microsoft.Security.Application;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer
|
||||
{
|
||||
public partial class ExchangeContactGeneralSettings : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
public partial class ExchangeContactGeneralSettings : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindMapiRichTextFormat();
|
||||
BindSettings();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void BindMapiRichTextFormat()
|
||||
{
|
||||
|
@ -60,8 +63,8 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
// get settings
|
||||
ExchangeContact contact = ES.Services.ExchangeServer.GetContactGeneralSettings(PanelRequest.ItemID,
|
||||
PanelRequest.AccountID);
|
||||
|
||||
litDisplayName.Text = AntiXss.HtmlEncode(contact.DisplayName);
|
||||
|
||||
litDisplayName.Text = AntiXss.HtmlEncode(contact.DisplayName);
|
||||
|
||||
// bind form
|
||||
txtDisplayName.Text = contact.DisplayName;
|
||||
|
@ -95,7 +98,7 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("EXCHANGE_GET_CONTACT_SETTINGS", ex);
|
||||
messageBox.ShowErrorMessage("EXCHANGE_GET_CONTACT_SETTINGS", ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -143,13 +146,13 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
return;
|
||||
}
|
||||
|
||||
litDisplayName.Text = AntiXss.HtmlEncode(txtDisplayName.Text);
|
||||
litDisplayName.Text = AntiXss.HtmlEncode(txtDisplayName.Text);
|
||||
|
||||
messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_CONTACT_SETTINGS");
|
||||
messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_CONTACT_SETTINGS");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("EXCHANGE_UPDATE_CONTACT_SETTINGS", ex);
|
||||
messageBox.ShowErrorMessage("EXCHANGE_UPDATE_CONTACT_SETTINGS", ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -157,5 +160,5 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
{
|
||||
SaveSettings();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,22 +1,15 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1433
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer {
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ExchangeContactGeneralSettings class.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated class.
|
||||
/// </remarks>
|
||||
public partial class ExchangeContactGeneralSettings {
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -38,17 +38,20 @@ using System.Web.UI.WebControls.WebParts;
|
|||
using System.Web.UI.HtmlControls;
|
||||
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer
|
||||
{
|
||||
public partial class ExchangeContactMailFlowSettings : WebsitePanelModuleBase
|
||||
{
|
||||
public partial class ExchangeContactMailFlowSettings : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindSettings();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void BindSettings()
|
||||
|
@ -59,12 +62,12 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
ExchangeContact contact = ES.Services.ExchangeServer.GetContactMailFlowSettings(
|
||||
PanelRequest.ItemID, PanelRequest.AccountID);
|
||||
|
||||
litDisplayName.Text = contact.DisplayName;
|
||||
litDisplayName.Text = contact.DisplayName;
|
||||
|
||||
// bind form
|
||||
acceptAccounts.SetAccounts(contact.AcceptAccounts);
|
||||
chkSendersAuthenticated.Checked = contact.RequireSenderAuthentication;
|
||||
rejectAccounts.SetAccounts(contact.RejectAccounts);
|
||||
rejectAccounts.SetAccounts(contact.RejectAccounts);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -92,11 +95,11 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
return;
|
||||
}
|
||||
|
||||
messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_CONTACT_MAILFLOW");
|
||||
messageBox.ShowSuccessMessage("EXCHANGE_UPDATE_CONTACT_MAILFLOW");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("EXCHANGE_UPDATE_CONTACT_MAILFLOW", ex);
|
||||
messageBox.ShowErrorMessage("EXCHANGE_UPDATE_CONTACT_MAILFLOW", ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -104,5 +107,5 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
{
|
||||
SaveSettings();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,22 +1,15 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.312
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer {
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ExchangeContactMailFlowSettings class.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated class.
|
||||
/// </remarks>
|
||||
public partial class ExchangeContactMailFlowSettings {
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -32,13 +32,6 @@
|
|||
<div class="FormButtonsBarCleanRight">
|
||||
<asp:Panel ID="SearchPanel" runat="server" DefaultButton="cmdSearch">
|
||||
<asp:Localize ID="locSearch" runat="server" meta:resourcekey="locSearch" Visible="false"></asp:Localize>
|
||||
<asp:DropDownList ID="ddlPageSize" runat="server" AutoPostBack="True"
|
||||
onselectedindexchanged="ddlPageSize_SelectedIndexChanged">
|
||||
<asp:ListItem>10</asp:ListItem>
|
||||
<asp:ListItem Selected="True">20</asp:ListItem>
|
||||
<asp:ListItem>50</asp:ListItem>
|
||||
<asp:ListItem>100</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:DropDownList ID="ddlSearchColumn" runat="server" CssClass="NormalTextBox">
|
||||
<asp:ListItem Value="DisplayName" meta:resourcekey="ddlSearchColumnDisplayName">DisplayName</asp:ListItem>
|
||||
<asp:ListItem Value="PrimaryEmailAddress" meta:resourcekey="ddlSearchColumnEmail">Email</asp:ListItem>
|
||||
|
@ -51,7 +44,7 @@
|
|||
<asp:GridView ID="gvContacts" runat="server" AutoGenerateColumns="False" EnableViewState="true"
|
||||
Width="100%" EmptyDataText="gvContacts" CssSelectorClass="NormalGridView"
|
||||
OnRowCommand="gvContacts_RowCommand" AllowPaging="True" AllowSorting="True"
|
||||
DataSourceID="odsAccountsPaged" PageSize="20">
|
||||
DataSourceID="odsAccountsPaged">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="gvContactsDisplayName" SortExpression="DisplayName">
|
||||
<ItemStyle Width="50%"></ItemStyle>
|
||||
|
|
|
@ -38,49 +38,52 @@ using System.Web.UI.WebControls.WebParts;
|
|||
using System.Web.UI.HtmlControls;
|
||||
|
||||
using WebsitePanel.Providers.HostedSolution;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer
|
||||
{
|
||||
public partial class ExchangeContacts : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindStats();
|
||||
}
|
||||
}
|
||||
public partial class ExchangeContacts : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindStats();
|
||||
}
|
||||
|
||||
private void BindStats()
|
||||
{
|
||||
// quota values
|
||||
OrganizationStatistics stats =
|
||||
ES.Services.ExchangeServer.GetOrganizationStatistics(PanelRequest.ItemID);
|
||||
contactsQuota.QuotaUsedValue = stats.CreatedContacts;
|
||||
contactsQuota.QuotaValue = stats.AllocatedContacts;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void btnCreateContact_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "create_contact",
|
||||
"SpaceID=" + PanelSecurity.PackageId.ToString()));
|
||||
}
|
||||
private void BindStats()
|
||||
{
|
||||
// quota values
|
||||
OrganizationStatistics stats =
|
||||
ES.Services.ExchangeServer.GetOrganizationStatistics(PanelRequest.ItemID);
|
||||
contactsQuota.QuotaUsedValue = stats.CreatedContacts;
|
||||
contactsQuota.QuotaValue = stats.AllocatedContacts;
|
||||
}
|
||||
|
||||
public string GetContactEditUrl(string accountId)
|
||||
{
|
||||
return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "contact_settings",
|
||||
"AccountID=" + accountId,
|
||||
"ItemID=" + PanelRequest.ItemID.ToString());
|
||||
}
|
||||
protected void btnCreateContact_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "create_contact",
|
||||
"SpaceID=" + PanelSecurity.PackageId.ToString()));
|
||||
}
|
||||
|
||||
protected void odsAccountsPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.Exception != null)
|
||||
{
|
||||
messageBox.ShowErrorMessage("EXCHANGE_GET_CONTACTS", e.Exception);
|
||||
e.ExceptionHandled = true;
|
||||
}
|
||||
}
|
||||
public string GetContactEditUrl(string accountId)
|
||||
{
|
||||
return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "contact_settings",
|
||||
"AccountID=" + accountId,
|
||||
"ItemID=" + PanelRequest.ItemID.ToString());
|
||||
}
|
||||
|
||||
protected void odsAccountsPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.Exception != null)
|
||||
{
|
||||
messageBox.ShowErrorMessage("EXCHANGE_GET_CONTACTS", e.Exception);
|
||||
e.ExceptionHandled = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvContacts_RowCommand(object sender, GridViewCommandEventArgs e)
|
||||
{
|
||||
|
@ -101,25 +104,13 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
// rebind grid
|
||||
gvContacts.DataBind();
|
||||
|
||||
BindStats();
|
||||
BindStats();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("EXCHANGE_DELETE_CONTACT", ex);
|
||||
messageBox.ShowErrorMessage("EXCHANGE_DELETE_CONTACT", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
gvContacts.PageSize = Convert.ToInt16(ddlPageSize.SelectedValue);
|
||||
|
||||
// rebind grid
|
||||
gvContacts.DataBind();
|
||||
|
||||
// bind stats
|
||||
BindStats();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -93,15 +93,6 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locSearch;
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlPageSize;
|
||||
|
||||
/// <summary>
|
||||
/// ddlSearchColumn control.
|
||||
/// </summary>
|
||||
|
|
|
@ -40,12 +40,12 @@ using WebsitePanel.EnterpriseServer;
|
|||
|
||||
namespace WebsitePanel.Portal.ExchangeServer
|
||||
{
|
||||
public partial class ExchangeCreateContact : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
public partial class ExchangeCreateContact : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnCreate_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
@ -68,7 +68,7 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
{
|
||||
messageBox.ShowResultMessage(BusinessErrorCodes.ERROR_EXCHANGE_EMAIL_EXISTS);
|
||||
return;
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (accountId < 0)
|
||||
|
@ -86,5 +86,5 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
messageBox.ShowErrorMessage("EXCHANGE_CREATE_CONTACT", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,31 +1,159 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer {
|
||||
|
||||
|
||||
public partial class ExchangeCreateContact {
|
||||
protected WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||
protected WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb;
|
||||
protected WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu;
|
||||
protected System.Web.UI.WebControls.Image Image1;
|
||||
protected System.Web.UI.WebControls.Localize locTitle;
|
||||
protected WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
protected System.Web.UI.WebControls.Localize locDisplayName;
|
||||
protected System.Web.UI.WebControls.TextBox txtDisplayName;
|
||||
protected System.Web.UI.WebControls.RequiredFieldValidator valRequireDisplayName;
|
||||
protected System.Web.UI.WebControls.Localize locEmail;
|
||||
protected System.Web.UI.WebControls.TextBox txtEmail;
|
||||
protected System.Web.UI.WebControls.RequiredFieldValidator valRequireAccount;
|
||||
protected System.Web.UI.WebControls.RegularExpressionValidator valCorrectEmail;
|
||||
protected System.Web.UI.WebControls.Button btnCreate;
|
||||
protected System.Web.UI.WebControls.ValidationSummary ValidationSummary1;
|
||||
protected System.Web.UI.WebControls.Localize FormComments;
|
||||
|
||||
/// <summary>
|
||||
/// asyncTasks control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
|
||||
|
||||
/// <summary>
|
||||
/// breadcrumb control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb;
|
||||
|
||||
/// <summary>
|
||||
/// menu control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu;
|
||||
|
||||
/// <summary>
|
||||
/// Image1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image Image1;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTitle;
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// locDisplayName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locDisplayName;
|
||||
|
||||
/// <summary>
|
||||
/// txtDisplayName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtDisplayName;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireDisplayName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireDisplayName;
|
||||
|
||||
/// <summary>
|
||||
/// locEmail control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locEmail;
|
||||
|
||||
/// <summary>
|
||||
/// txtEmail control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtEmail;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireAccount control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireAccount;
|
||||
|
||||
/// <summary>
|
||||
/// valCorrectEmail control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RegularExpressionValidator valCorrectEmail;
|
||||
|
||||
/// <summary>
|
||||
/// btnCreate control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnCreate;
|
||||
|
||||
/// <summary>
|
||||
/// ValidationSummary1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary1;
|
||||
|
||||
/// <summary>
|
||||
/// FormComments control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize FormComments;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,15 +36,16 @@ using System.Web.UI;
|
|||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer
|
||||
{
|
||||
public partial class ExchangeCreateDistributionList : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
public partial class ExchangeCreateDistributionList : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnCreate_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
@ -56,7 +57,7 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
if (!Page.IsValid)
|
||||
return;
|
||||
|
||||
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -66,7 +67,7 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
email.AccountName,
|
||||
email.DomainName,
|
||||
manager.GetAccountId());
|
||||
|
||||
|
||||
|
||||
if (accountId < 0)
|
||||
{
|
||||
|
@ -90,6 +91,6 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,10 +1,9 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1873
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
<%@ Register Src="UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %>
|
||||
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
|
||||
<%@ Register Src="UserControls/MailboxPlanSelector.ascx" TagName="MailboxPlanSelector" TagPrefix="wsp" %>
|
||||
|
||||
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
|
||||
|
||||
|
@ -50,7 +51,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<table id="NewUserTable" runat="server">
|
||||
<tr>
|
||||
|
@ -61,6 +62,14 @@
|
|||
ErrorMessage="Enter Display Name" ValidationGroup="CreateMailbox" Display="Dynamic" Text="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locSubscriberNumber" runat="server" meta:resourcekey="locSubscriberNumber" Text="Subscriber Number: *"></asp:Localize></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtSubscriberNumber" runat="server" CssClass="HugeTextBox200"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireSubscriberNumber" runat="server" meta:resourcekey="valRequireSubscriberNumber" ControlToValidate="txtSubscriberNumber"
|
||||
ErrorMessage="Enter Subscriber Number" ValidationGroup="CreateMailbox" Display="Dynamic" Text="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel150"><asp:Localize ID="locAccount" runat="server" meta:resourcekey="locAccount" Text="E-mail Address: *"></asp:Localize></td>
|
||||
<td>
|
||||
|
@ -91,21 +100,23 @@
|
|||
<td class="FormLabel150"><asp:Localize ID="Localize1" runat="server" meta:resourcekey="locDisplayName" Text="Display Name: *"></asp:Localize></td>
|
||||
<td><uc1:UserSelector id="userSelector" runat="server"></uc1:UserSelector></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td class="FormLabel150">
|
||||
<asp:CheckBox ID="chkSendInstructions" runat="server" meta:resourcekey="chkSendInstructions" Text="Send Setup Instructions" Checked="true" />
|
||||
</td>
|
||||
<td><wsp:EmailControl id="sendInstructionEmail" runat="server" RequiredEnabled="true" ValidationGroup="CreateMailbox"></wsp:EmailControl></td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="FormLabel150">
|
||||
<asp:Localize ID="locMailboxplanName" runat="server" meta:resourcekey="locMailboxplanName" Text="Mailboxplan Name: *"></asp:Localize>
|
||||
</td>
|
||||
<td>
|
||||
<wsp:MailboxPlanSelector ID="mailboxPlanSelector" runat="server" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="FormFooterClean">
|
||||
|
|
|
@ -33,18 +33,18 @@ using WebsitePanel.Providers.ResultObjects;
|
|||
|
||||
namespace WebsitePanel.Portal.ExchangeServer
|
||||
{
|
||||
public partial class ExchangeCreateMailbox : WebsitePanelModuleBase
|
||||
{
|
||||
private bool IsNewUser
|
||||
{
|
||||
get
|
||||
{
|
||||
return NewUserTable.Visible;
|
||||
}
|
||||
}
|
||||
|
||||
public partial class ExchangeCreateMailbox : WebsitePanelModuleBase
|
||||
{
|
||||
private bool IsNewUser
|
||||
{
|
||||
get
|
||||
{
|
||||
return NewUserTable.Visible;
|
||||
}
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
password.SetPackagePolicy(PanelSecurity.PackageId, UserSettings.EXCHANGE_POLICY, "MailboxPasswordPolicy");
|
||||
|
@ -64,16 +64,32 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
messageBox.ShowMessage(passwordPolicy, "EXCHANGE_CREATE_MAILBOX", "HostedOrganization");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
PackageInfo package = ES.Services.Packages.GetPackage(PanelSecurity.PackageId);
|
||||
if (package != null)
|
||||
{
|
||||
UserInfo user = ES.Services.Users.GetUserById(package.UserId);
|
||||
if (user != null)
|
||||
sendInstructionEmail.Text = user.Email;
|
||||
//UserInfo user = ES.Services.Users.GetUserById(package.UserId);
|
||||
//if (user != null)
|
||||
//sendInstructionEmail.Text = user.Email;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
WebsitePanel.Providers.HostedSolution.ExchangeMailboxPlan[] plans = ES.Services.ExchangeServer.GetExchangeMailboxPlans(PanelRequest.ItemID);
|
||||
|
||||
if (plans.Length == 0)
|
||||
btnCreate.Enabled = false;
|
||||
}
|
||||
|
||||
|
||||
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
|
||||
if (cntx.Quotas.ContainsKey(Quotas.EXCHANGE2007_ISCONSUMER))
|
||||
{
|
||||
if (cntx.Quotas[Quotas.EXCHANGE2007_ISCONSUMER].QuotaAllocatedValue != 1)
|
||||
{
|
||||
locSubscriberNumber.Visible = txtSubscriberNumber.Visible = valRequireSubscriberNumber.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void btnCreate_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
@ -92,23 +108,27 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
string accountName = IsNewUser ? string.Empty : userSelector.GetAccount();
|
||||
|
||||
ExchangeAccountType type = IsNewUser
|
||||
? (ExchangeAccountType) Utils.ParseInt(rbMailboxType.SelectedValue, 1)
|
||||
? (ExchangeAccountType)Utils.ParseInt(rbMailboxType.SelectedValue, 1)
|
||||
: ExchangeAccountType.Mailbox;
|
||||
|
||||
|
||||
string domain = IsNewUser ? email.DomainName : userSelector.GetPrimaryEmailAddress().Split('@')[1];
|
||||
|
||||
int accountId = IsNewUser ? 0 : userSelector.GetAccountId();
|
||||
|
||||
string subscriberNumber = IsNewUser ? txtSubscriberNumber.Text.Trim() : userSelector.GetSubscriberNumber();
|
||||
|
||||
accountId = ES.Services.ExchangeServer.CreateMailbox(PanelRequest.ItemID, accountId, type,
|
||||
accountName,
|
||||
displayName,
|
||||
name,
|
||||
domain,
|
||||
password.Password,
|
||||
chkSendInstructions.Checked,
|
||||
sendInstructionEmail.Text);
|
||||
|
||||
|
||||
false,
|
||||
"",
|
||||
Convert.ToInt32(mailboxPlanSelector.MailboxPlanId),
|
||||
subscriberNumber);
|
||||
|
||||
|
||||
if (accountId < 0)
|
||||
{
|
||||
messageBox.ShowResultMessage(accountId);
|
||||
|
@ -125,7 +145,7 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
protected void rbtnUserExistingUser_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
@ -138,7 +158,7 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
NewUserTable.Visible = true;
|
||||
ExistingUserTable.Visible = false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,22 +1,15 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1378
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer {
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ExchangeCreateMailbox class.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated class.
|
||||
/// </remarks>
|
||||
public partial class ExchangeCreateMailbox {
|
||||
|
||||
/// <summary>
|
||||
|
@ -145,6 +138,33 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireDisplayName;
|
||||
|
||||
/// <summary>
|
||||
/// locSubscriberNumber control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locSubscriberNumber;
|
||||
|
||||
/// <summary>
|
||||
/// txtSubscriberNumber control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtSubscriberNumber;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireSubscriberNumber control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireSubscriberNumber;
|
||||
|
||||
/// <summary>
|
||||
/// locAccount control.
|
||||
/// </summary>
|
||||
|
@ -227,22 +247,22 @@ namespace WebsitePanel.Portal.ExchangeServer {
|
|||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.UserSelector userSelector;
|
||||
|
||||
/// <summary>
|
||||
/// chkSendInstructions control.
|
||||
/// locMailboxplanName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox chkSendInstructions;
|
||||
protected global::System.Web.UI.WebControls.Localize locMailboxplanName;
|
||||
|
||||
/// <summary>
|
||||
/// sendInstructionEmail control.
|
||||
/// mailboxPlanSelector control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.EmailControl sendInstructionEmail;
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.MailboxPlanSelector mailboxPlanSelector;
|
||||
|
||||
/// <summary>
|
||||
/// btnCreate control.
|
||||
|
|
|
@ -7,13 +7,12 @@
|
|||
<%@ Register TagPrefix="wsp" TagName="CollapsiblePanel" Src="../UserControls/CollapsiblePanel.ascx" %>
|
||||
|
||||
<script language="javascript">
|
||||
function SelectAllCheckboxes(box)
|
||||
{
|
||||
var state = box.checked;
|
||||
function SelectAllCheckboxes(box) {
|
||||
var state = box.checked;
|
||||
var elm = box.parentElement.parentElement.parentElement.parentElement.getElementsByTagName("INPUT");
|
||||
for(i = 0; i < elm.length; i++)
|
||||
if(elm[i].type == "checkbox" && elm[i].id != box.id && elm[i].checked != state && !elm[i].disabled)
|
||||
elm[i].checked = state;
|
||||
for (i = 0; i < elm.length; i++)
|
||||
if (elm[i].type == "checkbox" && elm[i].id != box.id && elm[i].checked != state && !elm[i].disabled)
|
||||
elm[i].checked = state;
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2012, Outercurve Foundation.
|
||||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
|
@ -42,16 +42,17 @@ using WebsitePanel.EnterpriseServer;
|
|||
|
||||
namespace WebsitePanel.Portal.ExchangeServer
|
||||
{
|
||||
public partial class ExchangeDistributionListEmailAddresses : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
public partial class ExchangeDistributionListEmailAddresses : WebsitePanelModuleBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindEmails();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void BindEmails()
|
||||
{
|
||||
|
@ -79,11 +80,11 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
{
|
||||
if (!Page.IsValid)
|
||||
return;
|
||||
|
||||
btnDeleteAddresses.Enabled = true;
|
||||
btnSetAsPrimary.Enabled = true;
|
||||
|
||||
try
|
||||
btnDeleteAddresses.Enabled = true;
|
||||
btnSetAsPrimary.Enabled = true;
|
||||
|
||||
try
|
||||
{
|
||||
int result = ES.Services.ExchangeServer.AddDistributionListEmailAddress(
|
||||
PanelRequest.ItemID, PanelRequest.AccountID, email.Email);
|
||||
|
@ -94,17 +95,17 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
return;
|
||||
}
|
||||
|
||||
// rebind
|
||||
BindEmails();
|
||||
// rebind
|
||||
BindEmails();
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("EXCHANGE_DLIST_ADD_EMAIL", ex);
|
||||
messageBox.ShowErrorMessage("EXCHANGE_DLIST_ADD_EMAIL", ex);
|
||||
}
|
||||
|
||||
// clear field
|
||||
email.AccountName = "";
|
||||
// clear field
|
||||
email.AccountName = "";
|
||||
}
|
||||
|
||||
protected void btnSetAsPrimary_Click(object sender, EventArgs e)
|
||||
|
@ -113,10 +114,10 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
{
|
||||
string email = null;
|
||||
bool Checked = false;
|
||||
|
||||
|
||||
for (int i = 0; i < gvEmails.Rows.Count; i++)
|
||||
{
|
||||
|
||||
|
||||
GridViewRow row = gvEmails.Rows[i];
|
||||
CheckBox chkSelect = (CheckBox)row.FindControl("chkSelect");
|
||||
if (chkSelect.Checked)
|
||||
|
@ -145,14 +146,14 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
return;
|
||||
}
|
||||
|
||||
// rebind
|
||||
BindEmails();
|
||||
// rebind
|
||||
BindEmails();
|
||||
|
||||
messageBox.ShowSuccessMessage("EXCHANGE_MAILBOX_SET_DEFAULT_EMAIL");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("EXCHANGE_DLIST_SET_DEFAULT_EMAIL", ex);
|
||||
messageBox.ShowErrorMessage("EXCHANGE_DLIST_SET_DEFAULT_EMAIL", ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -187,13 +188,13 @@ namespace WebsitePanel.Portal.ExchangeServer
|
|||
return;
|
||||
}
|
||||
|
||||
// rebind
|
||||
BindEmails();
|
||||
// rebind
|
||||
BindEmails();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("EXCHANGE_DLIST_DELETE_EMAILS", ex);
|
||||
messageBox.ShowErrorMessage("EXCHANGE_DLIST_DELETE_EMAILS", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +1,186 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.ExchangeServer {
|
||||
|
||||
|
||||
public partial class ExchangeDistributionListEmailAddresses {
|
||||
protected WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb;
|
||||
protected WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu;
|
||||
protected System.Web.UI.WebControls.Image Image1;
|
||||
protected System.Web.UI.WebControls.Localize locTitle;
|
||||
protected System.Web.UI.WebControls.Literal litDisplayName;
|
||||
protected WebsitePanel.Portal.ExchangeServer.UserControls.DistributionListTabs tabs;
|
||||
protected WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
protected System.Web.UI.WebControls.Label lblAddEmail;
|
||||
protected System.Web.UI.WebControls.Localize locAccount;
|
||||
protected WebsitePanel.Portal.ExchangeServer.UserControls.EmailAddress email;
|
||||
protected System.Web.UI.WebControls.Button btnAddEmail;
|
||||
protected WebsitePanel.Portal.CollapsiblePanel secExistingAddresses;
|
||||
protected System.Web.UI.WebControls.Panel ExistingAddresses;
|
||||
protected System.Web.UI.WebControls.GridView gvEmails;
|
||||
protected System.Web.UI.WebControls.Localize locTotal;
|
||||
protected System.Web.UI.WebControls.Label lblTotal;
|
||||
protected System.Web.UI.WebControls.Button btnSetAsPrimary;
|
||||
protected System.Web.UI.WebControls.Button btnDeleteAddresses;
|
||||
protected System.Web.UI.WebControls.Localize FormComments;
|
||||
|
||||
/// <summary>
|
||||
/// breadcrumb control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb;
|
||||
|
||||
/// <summary>
|
||||
/// menu control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu;
|
||||
|
||||
/// <summary>
|
||||
/// Image1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image Image1;
|
||||
|
||||
/// <summary>
|
||||
/// locTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTitle;
|
||||
|
||||
/// <summary>
|
||||
/// litDisplayName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litDisplayName;
|
||||
|
||||
/// <summary>
|
||||
/// tabs control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.DistributionListTabs tabs;
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// lblAddEmail control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblAddEmail;
|
||||
|
||||
/// <summary>
|
||||
/// locAccount control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locAccount;
|
||||
|
||||
/// <summary>
|
||||
/// email control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.EmailAddress email;
|
||||
|
||||
/// <summary>
|
||||
/// btnAddEmail control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnAddEmail;
|
||||
|
||||
/// <summary>
|
||||
/// secExistingAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secExistingAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// ExistingAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel ExistingAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// gvEmails control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.GridView gvEmails;
|
||||
|
||||
/// <summary>
|
||||
/// locTotal control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locTotal;
|
||||
|
||||
/// <summary>
|
||||
/// lblTotal control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTotal;
|
||||
|
||||
/// <summary>
|
||||
/// btnSetAsPrimary control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnSetAsPrimary;
|
||||
|
||||
/// <summary>
|
||||
/// btnDeleteAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnDeleteAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// FormComments control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize FormComments;
|
||||
}
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue