From a240fcebc64a2839f97520e4a4ea30af7612a05c Mon Sep 17 00:00:00 2001 From: robvde Date: Tue, 10 Jul 2012 11:19:55 +0400 Subject: [PATCH] Lync Server 2010 Multitenant Core Unified Communications Support Added Enterprise voice support to follow soon --- WebsitePanel/Database/install_db.sql | 616 +++++++- WebsitePanel/Database/update_db.sql | 664 ++++++++- .../Microsoft.Rtc.Management.Core.dll | Bin 0 -> 1383232 bytes .../Microsoft.Rtc.Management.Hosted.dll | Bin 0 -> 305976 bytes ...icrosoft.Rtc.Management.WritableConfig.dll | Bin 0 -> 1231688 bytes .../Common/BusinessErrorCodes.cs | 4 + .../Packages/Quotas.cs | 14 +- .../Servers/ResourceGroups.cs | 1 + .../LyncProxy.cs | 1103 +++++++++++++++ ...ebsitePanel.EnterpriseServer.Client.csproj | 1 + .../Code/Data/DataProvider.cs | 158 +++ .../Code/HostedSolution/LyncController.cs | 821 +++++++++++ .../HostedSolution/LyncControllerAsync.cs | 97 ++ .../HostedSolution/OrganizationController.cs | 84 +- .../WebsitePanel.EnterpriseServer.csproj | 7 + .../WebsitePanel.EnterpriseServer/esLync.asmx | 1 + .../esLync.asmx.cs | 135 ++ .../HostedSolution/ILyncServer.cs | 51 + .../HostedSolution/LyncConstants.cs | 36 + .../HostedSolution/LyncErrorCodes.cs | 74 + .../HostedSolution/LyncFederationDomain.cs | 66 + .../HostedSolution/LyncUser.cs | 45 + .../HostedSolution/LyncUserPlan.cs | 112 ++ .../HostedSolution/LyncUsersPaged.cs | 50 + .../HostedSolution/LyncVoicePolicyType.cs | 39 + .../HostedSolution/OrganizationStatistics.cs | 2 + .../ResultObjects/LyncUserResult.cs | 36 + .../ResultObjects/LyncUsersPagedResult.cs | 36 + .../WebsitePanel.Providers.Base.csproj | 10 + .../Lync2010.cs | 1248 +++++++++++++++++ .../LyncTransaction.cs | 97 ++ ...bsitePanel.Providers.HostedSolution.csproj | 11 + .../LyncServerProxy.cs | 912 ++++++++++++ .../WebsitePanel.Server.Client.csproj | 1 + .../WebsitePanel.Server/LyncServer.asmx | 1 + .../WebsitePanel.Server/LyncServer.asmx.cs | 236 ++++ .../WebsitePanel.Server.csproj | 5 + .../App_Data/WebsitePanel_Modules.config | 10 +- .../WebsitePanel_SharedResources.ascx.resx | 129 ++ .../App_Themes/Default/Icons.skin | 7 + .../Default/Images/Exchange/lync16.png | Bin 0 -> 602 bytes .../App_Themes/Default/Images/lync16.png | Bin 0 -> 602 bytes .../App_Themes/Default/Images/lync48.png | Bin 0 -> 6089 bytes .../Images/lyncfederationdomains48.png | Bin 0 -> 7772 bytes .../App_Themes/Default/Images/lyncuser.png | Bin 0 -> 5193 bytes .../Default/Images/lyncuserplan48.png | Bin 0 -> 5862 bytes .../Default/Images/lyncuserplanadd48.png | Bin 0 -> 6037 bytes .../App_LocalResources/SpaceQuotas.ascx.resx | 18 + .../WebsitePanel/Code/Framework/ES.cs | 9 +- .../WebsitePanel/Code/Helpers/LyncHelper.cs | 85 ++ .../ExchangeServer/OrganizationHome.ascx.cs | 3 +- .../App_LocalResources/Menu.ascx.resx | 12 + .../ExchangeServer/UserControls/Menu.ascx.cs | 18 + .../LyncAddFederationDomain.ascx.resx | 138 ++ .../LyncAddLyncUserPlan.ascx.resx | 183 +++ .../LyncCreateUser.ascx.resx | 138 ++ .../App_LocalResources/LyncEditUser.ascx.resx | 138 ++ .../LyncFederationDomains.ascx.resx | 151 ++ .../LyncUserPlans.ascx.resx | 153 ++ .../App_LocalResources/LyncUsers.ascx.resx | 155 ++ .../Lync/LyncAddFederationDomain.ascx | 64 + .../Lync/LyncAddFederationDomain.ascx.cs | 82 ++ .../LyncAddFederationDomain.ascx.designer.cs | 177 +++ .../Lync/LyncAddLyncUserPlan.ascx | 132 ++ .../Lync/LyncAddLyncUserPlan.ascx.cs | 157 +++ .../Lync/LyncAddLyncUserPlan.ascx.designer.cs | 258 ++++ .../WebsitePanel/Lync/LyncCreateUser.ascx | 62 + .../WebsitePanel/Lync/LyncCreateUser.ascx.cs | 66 + .../Lync/LyncCreateUser.ascx.designer.cs | 132 ++ .../WebsitePanel/Lync/LyncEditUser.ascx | 54 + .../WebsitePanel/Lync/LyncEditUser.ascx.cs | 76 + .../Lync/LyncEditUser.ascx.designer.cs | 114 ++ .../Lync/LyncFederationDomains.ascx | 63 + .../Lync/LyncFederationDomains.ascx.cs | 87 ++ .../LyncFederationDomains.ascx.designer.cs | 96 ++ .../WebsitePanel/Lync/LyncUserPlans.ascx | 73 + .../WebsitePanel/Lync/LyncUserPlans.ascx.cs | 125 ++ .../Lync/LyncUserPlans.ascx.designer.cs | 105 ++ .../WebsitePanel/Lync/LyncUsers.ascx | 91 ++ .../WebsitePanel/Lync/LyncUsers.ascx.cs | 100 ++ .../Lync/LyncUsers.ascx.designer.cs | 159 +++ .../UserControls/LyncUserPlanSelector.ascx | 2 + .../UserControls/LyncUserPlanSelector.ascx.cs | 100 ++ .../LyncUserPlanSelector.ascx.designer.cs | 24 + .../Lync_Settings.ascx.resx | 144 ++ .../ProviderControls/Lync_Settings.ascx | 54 + .../ProviderControls/Lync_Settings.ascx.cs | 181 +++ .../Lync_Settings.ascx.designer.cs | 105 ++ .../WebsitePanel/SpaceQuotas.ascx | 31 +- .../WebsitePanel/SpaceQuotas.ascx.cs | 11 +- .../WebsitePanel/SpaceQuotas.ascx.designer.cs | 174 ++- .../WebsitePanel.Portal.Modules.csproj | 85 +- .../WebsitePanel.WebPortal.csproj | 6 + WebsitePanel/Sources/generate_es_proxies.bat | 4 +- 94 files changed, 11276 insertions(+), 39 deletions(-) create mode 100644 WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.Core.dll create mode 100644 WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.Hosted.dll create mode 100644 WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.WritableConfig.dll create mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/LyncProxy.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncController.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncControllerAsync.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx create mode 100644 WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ILyncServer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncConstants.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncErrorCodes.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncFederationDomain.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUser.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUserPlan.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUsersPaged.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncVoicePolicyType.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUserResult.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUsersPagedResult.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Lync2010.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/LyncTransaction.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Server.Client/LyncServerProxy.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx create mode 100644 WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/lync16.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lync16.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lync48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncfederationdomains48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncuser.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncuserplan48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncuserplanadd48.png create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/LyncHelper.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddFederationDomain.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddLyncUserPlan.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncCreateUser.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncEditUser.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncFederationDomains.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUserPlans.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUsers.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.designer.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Lync_Settings.ascx.resx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.cs create mode 100644 WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.designer.cs diff --git a/WebsitePanel/Database/install_db.sql b/WebsitePanel/Database/install_db.sql index be7e742f..e260326d 100644 --- a/WebsitePanel/Database/install_db.sql +++ b/WebsitePanel/Database/install_db.sql @@ -3641,7 +3641,7 @@ 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', 21, 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', 2, 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', 2, 0, NULL) GO @@ -3851,6 +3851,26 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe 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 (370, 41, 1, N'Lync.Users', N'Users',2 ,0 , NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (371, 41, 2, N'Lync.Federation' , N'Allow Federation', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (372, 41, 3, N'Lync.Conferencing', N'Allow Conferencing', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (373, 41, 4, N'Lync.MaxParticipants', N'Maximum Conference Particiapants', 3, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (374, 41, 5, N'Lync.AllowVideo', N'Allow Video in Conference', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (375, 41, 6, N'Lync.EnterpriseVoice', N'Allow EnterpriseVoice', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (376, 41, 7, N'Lync.EVUsers', N'Number of Enterprise Voice Users', 2, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (377, 41, 8, N'Lync.EVNational', N'Allow National Calls', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (378, 41, 9, N'Lync.EVMobile', N'Allow Mobile Calls', 1, 0, NULL) +GO +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (379, 41, 10, N'Lync.EVInternational', N'Allow International Calls', 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 @@ -10631,6 +10651,8 @@ INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupContr GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (32, N'OCS', 22, NULL) GO +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (41, N'Lync',23, NULL) +GO INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (40, N'VPSForPC', 20, NULL) GO SET ANSI_NULLS ON @@ -13237,6 +13259,62 @@ GO +CREATE TABLE [dbo].[LyncUserPlans]( + [LyncUserPlanId] [int] IDENTITY(1,1) NOT NULL, + [ItemID] [int] NOT NULL, + [LyncUserPlanName] [nvarchar](300) COLLATE Latin1_General_CI_AS NOT NULL, + [IM] [bit] NOT NULL, + [Mobility] [bit] NOT NULL, + [MobilityEnableOutsideVoice] [bit] NOT NULL, + [Federation] [bit] NOT NULL, + [Conferencing] [bit] NOT NULL, + [EnterpriseVoice] [bit] NOT NULL, + [VoicePolicy] [int] NOT NULL, + [IsDefault] [bit] NOT NULL, + CONSTRAINT [PK_LyncUserPlans] PRIMARY KEY CLUSTERED +( + [LyncUserPlanId] 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 + + + + + + + + + +CREATE TABLE [dbo].[LyncUsers]( + [LyncUserID] [int] IDENTITY(1,1) NOT NULL, + [AccountID] [int] NOT NULL, + [LyncUserPlanID] [int] NOT NULL, + [CreatedDate] [datetime] NOT NULL, + [ModifiedDate] [datetime] NOT NULL, + CONSTRAINT [PK_LyncUsers] PRIMARY KEY CLUSTERED +( + [LyncUserID] 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 + + + + + + + + + + + + + + + @@ -23372,6 +23450,8 @@ INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName] GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (209, 23, N'MsSQL', N'Microsoft SQL Server 2012', N'WebsitePanel.Providers.Database.MsSqlServer2012, WebsitePanel.Providers.Database.SqlServer', N'MSSQL', NULL) GO +INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (250, 41, N'Lync2010', N'Microsoft Lync Server 2010 Multitenant Hosting Pack', 'WebsitePanel.Providers.HostedSolution.Lync2010, WebsitePanel.Providers.HostedSolution', 'Lync', 1) +GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (300, 30, N'HyperV', N'Microsoft Hyper-V', N'WebsitePanel.Providers.Virtualization.HyperV, WebsitePanel.Providers.Virtualization.HyperV', N'HyperV', 1) GO INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (301, 11, N'MySQL', N'MySQL Server 5.5', N'WebsitePanel.Providers.Database.MySqlServer55, WebsitePanel.Providers.Database.MySQL', N'MySQL', NULL) @@ -25882,6 +25962,19 @@ AS INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID WHERE pt.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 370 -- Lync.Users + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea + INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 376 -- Lync.EVUsers + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea + INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID + INNER JOIN LyncUserPlans lp ON lu.LyncUserPlanId = lp.LyncUserPlanId + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID AND lp.EnterpriseVoice = 1) ELSE SET @Result = (SELECT COUNT(SI.ItemID) FROM Quotas AS Q INNER JOIN ServiceItems AS SI ON SI.ItemTypeID = Q.ItemTypeID @@ -44831,6 +44924,496 @@ WHERE MailboxPlanId = @MailboxPlanId RETURN GO + + + + + + + + + + + +CREATE PROCEDURE [dbo].[AddLyncUser] + @AccountID int, + @LyncUserPlanID int +AS +BEGIN + SET NOCOUNT ON; + +INSERT INTO + dbo.LyncUsers + ( + + AccountID, + LyncUserPlanID, + CreatedDate, + ModifiedDate) +VALUES +( + @AccountID, + @LyncUserPlanID, + getdate(), + getdate() +) +END +GO + + + + + + + + +CREATE PROCEDURE [dbo].[AddLyncUserPlan] +( + @LyncUserPlanId int OUTPUT, + @ItemID int, + @LyncUserPlanName nvarchar(300), + @IM bit, + @Mobility bit, + @MobilityEnableOutsideVoice bit, + @Federation bit, + @Conferencing bit, + @EnterpriseVoice bit, + @VoicePolicy int, + @IsDefault bit +) +AS + +INSERT INTO LyncUserPlans +( + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +) +VALUES +( + @ItemID, + @LyncUserPlanName, + @IM, + @Mobility, + @MobilityEnableOutsideVoice, + @Federation, + @Conferencing, + @EnterpriseVoice, + @VoicePolicy, + @IsDefault +) + +SET @LyncUserPlanId = SCOPE_IDENTITY() + +RETURN +GO + + + + + + + + + + +CREATE PROCEDURE [dbo].[CheckLyncUserExists] + @AccountID int +AS +BEGIN + SELECT + COUNT(AccountID) + FROM + dbo.LyncUsers + WHERE AccountID = @AccountID +END +GO + + + + + + + + + + +CREATE PROCEDURE [dbo].[DeleteLyncUser] +( + @AccountId int +) +AS + +DELETE FROM + LyncUsers +WHERE + AccountId = @AccountId + +RETURN +GO + + + + + + + + + + +CREATE PROCEDURE [dbo].[DeleteLyncUserPlan] +( + @LyncUserPlanId int +) +AS + +-- delete lyncuserplan +DELETE FROM LyncUserPlans +WHERE LyncUserPlanId = @LyncUserPlanId + +RETURN +GO + + + + + + + + + + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetLyncUserPlan] +( + @LyncUserPlanId int +) +AS +SELECT + LyncUserPlanId, + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +FROM + LyncUserPlans +WHERE + LyncUserPlanId = @LyncUserPlanId +RETURN +GO + + + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetLyncUserPlanByAccountId] +( + @AccountID int +) +AS +SELECT + LyncUserPlanId, + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +FROM + LyncUserPlans +WHERE + LyncUserPlanId IN (SELECT LyncUserPlanId FROM LyncUsers WHERE AccountID = @AccountID) +RETURN +GO + + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetLyncUserPlans] +( + @ItemID int +) +AS +SELECT + LyncUserPlanId, + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +FROM + LyncUserPlans +WHERE + ItemID = @ItemID +ORDER BY LyncUserPlanName +RETURN +GO + + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetLyncUsers] +( + @ItemID int, + @SortColumn nvarchar(40), + @SortDirection nvarchar(20), + @StartRow int, + @Count int +) +AS + +CREATE TABLE #TempLyncUsers +( + [ID] [int] IDENTITY(1,1) NOT NULL, + [AccountID] [int], + [ItemID] [int] NOT NULL, + [AccountName] [nvarchar](300) NOT NULL, + [DisplayName] [nvarchar](300) NOT NULL, + [PrimaryEmailAddress] [nvarchar](300) NULL, + [SamAccountName] [nvarchar](100) NULL, + [LyncUserPlanId] [int] NOT NULL, + [LyncUserPlanName] [nvarchar] (300) NOT NULL, +) + + +DECLARE @condition nvarchar(700) +SET @condition = '' + +IF (@SortColumn = 'DisplayName') +BEGIN + SET @condition = 'ORDER BY ea.DisplayName' +END + +IF (@SortColumn = 'PrimaryEmailAddress') +BEGIN + SET @condition = 'ORDER BY ea.PrimaryEmailAddress' +END + +IF (@SortColumn = 'LyncUserPlanName') +BEGIN + SET @condition = 'ORDER BY lp.LyncUserPlanName' +END + +DECLARE @sql nvarchar(3500) + +set @sql = ' + INSERT INTO + #TempLyncUsers + SELECT + ea.AccountID, + ea.ItemID, + ea.AccountName, + ea.DisplayName, + ea.PrimaryEmailAddress, + ea.SamAccountName, + ou.LyncUserPlanId, + lp.LyncUserPlanName + FROM + ExchangeAccounts ea + INNER JOIN + LyncUsers ou + INNER JOIN + LyncUserPlans lp + ON + ou.LyncUserPlanId = lp.LyncUserPlanId + ON + ea.AccountID = ou.AccountID + WHERE + ea.ItemID = @ItemID ' + @condition + +exec sp_executesql @sql, N'@ItemID int',@ItemID + +DECLARE @RetCount int +SELECT @RetCount = COUNT(ID) FROM #TempLyncUsers + +IF (@SortDirection = 'ASC') +BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID > @StartRow AND ID <= (@StartRow + @Count) +END +ELSE +BEGIN + IF @SortColumn <> '' AND @SortColumn IS NOT NULL + BEGIN + IF (@SortColumn = 'DisplayName') + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY DisplayName DESC + END + IF (@SortColumn = 'PrimaryEmailAddress') + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress DESC + END + IF (@SortColumn = 'LyncUserPlanName') + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY LyncUserPlanName DESC + END + END + ELSE + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress DESC + END + + +END + + +DROP TABLE #TempLyncUsers +GO + + + + + + + + + + +CREATE PROCEDURE [dbo].[GetLyncUsersCount] +( + @ItemID int +) +AS + +SELECT + COUNT(ea.AccountID) +FROM + ExchangeAccounts ea +INNER JOIN + LyncUsers ou +ON + ea.AccountID = ou.AccountID +WHERE + ea.ItemID = @ItemID +GO + + + + + + + + + +CREATE PROCEDURE [dbo].[SetLyncUserLyncUserPlan] +( + @AccountID int, + @LyncUserPlanId int +) +AS + +UPDATE LyncUsers SET + LyncUserPlanId = @LyncUserPlanId +WHERE + AccountID = @AccountID + +RETURN +GO + + + + + + + + + + + +CREATE PROCEDURE [dbo].[SetOrganizationDefaultLyncUserPlan] +( + @ItemId int, + @LyncUserPlanId int +) +AS + +UPDATE LyncUserPlans SET IsDefault=0 WHERE ItemId=@ItemId +UPDATE LyncUserPlans SET IsDefault=1 WHERE LyncUserPlanId=@LyncUserPlanId + +RETURN +GO + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -45502,5 +46085,34 @@ ON DELETE CASCADE GO ALTER TABLE [dbo].[ServiceProperties] CHECK CONSTRAINT [FK_ServiceProperties_Services] GO - + +ALTER TABLE [dbo].[LyncUsers] ADD CONSTRAINT [DF_LyncUsers_CreatedDate] DEFAULT (getdate()) FOR [CreatedDate] +GO + +ALTER TABLE [dbo].[LyncUsers] ADD CONSTRAINT [DF_LyncUsers_ChangedDate] DEFAULT (getdate()) FOR [ModifiedDate] +GO + +ALTER TABLE [dbo].[LyncUsers] WITH CHECK ADD CONSTRAINT [FK_LyncUsers_LyncUserPlans] FOREIGN KEY([LyncUserPlanId]) +REFERENCES [dbo].[LyncUserPlans] ([LyncUserPlanId]) +GO + +ALTER TABLE [dbo].[LyncUsers] CHECK CONSTRAINT [FK_LyncUsers_LyncUserPlans] +GO + +ALTER TABLE dbo.LyncUserPlans ADD CONSTRAINT + IX_LyncUserPlans UNIQUE NONCLUSTERED + ( + LyncUserPlanId + ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + +GO +ALTER TABLE dbo.LyncUserPlans ADD CONSTRAINT + FK_LyncUserPlans_ExchangeOrganizations FOREIGN KEY + ( + ItemID + ) REFERENCES dbo.ExchangeOrganizations + ( + ItemID + ) ON UPDATE NO ACTION + ON DELETE CASCADE diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index eb5435ba..3ad8ad99 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -1,18 +1,4 @@ -USE [${install.database}] -GO - --- update database version -DECLARE @build_version nvarchar(10), @build_date datetime -SET @build_version = N'${release.version}' -SET @build_date = '${release.date}T00:00:00' -- ISO 8601 Format (YYYY-MM-DDTHH:MM:SS) - -IF NOT EXISTS (SELECT * FROM [dbo].[Versions] WHERE [DatabaseVersion] = @build_version) -BEGIN - INSERT [dbo].[Versions] ([DatabaseVersion], [BuildDate]) VALUES (@build_version, @build_date) -END -GO - -IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE ([UserID] = 1) AND ([SettingsName] = 'WebPolicy') AND ([PropertyName] = 'EnableParkingPageTokens')) +IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE ([UserID] = 1) AND ([SettingsName] = 'WebPolicy') AND ([PropertyName] = 'EnableParkingPageTokens')) BEGIN INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'WebPolicy', N'EnableParkingPageTokens', N'False') END @@ -66,6 +52,14 @@ GO UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 21 WHERE [GroupName] = N'OCS' GO +IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE [GroupName] = 'Lync') +BEGIN +INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (41, N'Lync',22, NULL) +END +GO + + + IF NOT EXISTS (SELECT * FROM [dbo].[ServiceItemTypes] WHERE [DisplayName] = 'MsSQL2012Database') BEGIN INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (37, 23, N'MsSQL2012Database', N'WebsitePanel.Providers.Database.SqlDatabase, WebsitePanel.Providers.Base', 1, 1, 0, 0, 1, 1, 1, 1) @@ -164,6 +158,72 @@ INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDe END GO +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.Users') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (370, 41, 1, N'Lync.Users', N'Users',2 ,0 , NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.Federation') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (371, 41, 2, N'Lync.Federation' , N'Allow Federation', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.Conferencing') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (372, 41, 3, N'Lync.Conferencing', N'Allow Conferencing', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.MaxParticipants') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (373, 41, 4, N'Lync.MaxParticipants', N'Maximum Conference Particiapants', 3, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.AllowVideo') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (374, 41, 5, N'Lync.AllowVideo', N'Allow Video in Conference', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EnterpriseVoice') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (375, 41, 6, N'Lync.EnterpriseVoice', N'Allow EnterpriseVoice', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EVUsers') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (376, 41, 7, N'Lync.EVUsers', N'Number of Enterprise Voice Users', 2, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EVNational') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (377, 41, 8, N'Lync.EVNational', N'Allow National Calls', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EVMobile') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (378, 41, 9, N'Lync.EVMobile', N'Allow Mobile Calls', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EVInternational') +BEGIN +INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (379, 41, 10, N'Lync.EVInternational', N'Allow International Calls', 1, 0, NULL) +END +GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'HostedSharePoint.UseSharedSSL') +BEGIN +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) +END +GO + IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Hosted Microsoft Exchange Server 2010 SP2') @@ -172,6 +232,16 @@ INSERT [dbo].[Providers] ([ProviderId], [GroupId], [ProviderName], [DisplayName] END GO + +IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Microsoft Lync Server 2010 Multitenant Hosting Pack') +BEGIN +INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (250, 41, N'Lync2010', N'Microsoft Lync Server 2010 Multitenant Hosting Pack', 'WebsitePanel.Providers.HostedSolution.Lync2010, WebsitePanel.Providers.HostedSolution', 'Lync', 1) +END +GO + + + + DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled') DELETE FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled' DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.IMAPEnabled') @@ -1683,6 +1753,82 @@ ALTER TABLE [dbo].[ExchangeOrganizations] ALTER COLUMN [OrganizationID] [nvarcha GO + +-- LyncUsers +IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[LyncUsers]') AND type in (N'U')) +BEGIN +CREATE TABLE [dbo].[LyncUsers]( + [LyncUserID] [int] IDENTITY(1,1) NOT NULL, + [AccountID] [int] NOT NULL, + [LyncUserPlanID] [int] NOT NULL, + [CreatedDate] [datetime] NOT NULL, + [ModifiedDate] [datetime] NOT NULL, + CONSTRAINT [PK_LyncUsers] PRIMARY KEY CLUSTERED +( + [LyncUserID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + + +ALTER TABLE [dbo].[LyncUsers] ADD CONSTRAINT [DF_LyncUsers_CreatedDate] DEFAULT (getdate()) FOR [CreatedDate] + +ALTER TABLE [dbo].[LyncUsers] ADD CONSTRAINT [DF_LyncUsers_ChangedDate] DEFAULT (getdate()) FOR [ModifiedDate] + +END +GO + + + + + +-- LyncUserPlans +IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[LyncUserPlans]') AND type in (N'U')) +BEGIN +CREATE TABLE [dbo].[LyncUserPlans]( + [LyncUserPlanId] [int] IDENTITY(1,1) NOT NULL, + [ItemID] [int] NOT NULL, + [LyncUserPlanName] [nvarchar](300) NOT NULL, + [IM] [bit] NOT NULL, + [Mobility] [bit] NOT NULL, + [MobilityEnableOutsideVoice] [bit] NOT NULL, + [Federation] [bit] NOT NULL, + [Conferencing] [bit] NOT NULL, + [EnterpriseVoice] [bit] NOT NULL, + [VoicePolicy] [int] NOT NULL, + [IsDefault] [bit] NOT NULL, + CONSTRAINT [PK_LyncUserPlans] PRIMARY KEY CLUSTERED +( + [LyncUserPlanId] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +ALTER TABLE dbo.LyncUserPlans ADD CONSTRAINT + IX_LyncUserPlans UNIQUE NONCLUSTERED + ( + LyncUserPlanId + ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + +ALTER TABLE dbo.LyncUserPlans ADD CONSTRAINT + FK_LyncUserPlans_ExchangeOrganizations FOREIGN KEY + ( + ItemID + ) REFERENCES dbo.ExchangeOrganizations + ( + ItemID + ) ON UPDATE NO ACTION + ON DELETE CASCADE + +ALTER TABLE [dbo].[LyncUsers] WITH CHECK ADD CONSTRAINT [FK_LyncUsers_LyncUserPlans] FOREIGN KEY([LyncUserPlanId]) +REFERENCES [dbo].[LyncUserPlans] ([LyncUserPlanId]) + +ALTER TABLE [dbo].[LyncUsers] CHECK CONSTRAINT [FK_LyncUsers_LyncUserPlans] + +END +GO + + + + /****** Object: Table [dbo].[AddExchangeAccount] ******/ ALTER PROCEDURE [dbo].[AddExchangeAccount] ( @@ -1955,6 +2101,19 @@ AS INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID WHERE pt.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 370 -- Lync.Users + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea + INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID) + ELSE IF @QuotaID = 376 -- Lync.EVUsers + SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea + INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID + INNER JOIN LyncUserPlans lp ON lu.LyncUserPlanId = lp.LyncUserPlanId + INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID + INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID + WHERE pt.ParentPackageID = @PackageID AND lp.EnterpriseVoice = 1) ELSE SET @Result = (SELECT COUNT(SI.ItemID) FROM Quotas AS Q INNER JOIN ServiceItems AS SI ON SI.ItemTypeID = Q.ItemTypeID @@ -2808,5 +2967,480 @@ exec sp_executesql @sql, N'@ItemID int, @IncludeMailboxes bit', RETURN +GO + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'AddLyncUser') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[AddLyncUser] + @AccountID int, + @LyncUserPlanID int +AS +INSERT INTO + dbo.LyncUsers + (AccountID, + LyncUserPlanID, + CreatedDate, + ModifiedDate) +VALUES +( + @AccountID, + @LyncUserPlanID, + getdate(), + getdate() +)' +END +GO + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'AddLyncUserPlan') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[AddLyncUserPlan] +( + @LyncUserPlanId int OUTPUT, + @ItemID int, + @LyncUserPlanName nvarchar(300), + @IM bit, + @Mobility bit, + @MobilityEnableOutsideVoice bit, + @Federation bit, + @Conferencing bit, + @EnterpriseVoice bit, + @VoicePolicy int, + @IsDefault bit +) +AS + +INSERT INTO LyncUserPlans +( + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +) +VALUES +( + @ItemID, + @LyncUserPlanName, + @IM, + @Mobility, + @MobilityEnableOutsideVoice, + @Federation, + @Conferencing, + @EnterpriseVoice, + @VoicePolicy, + @IsDefault +) + +SET @LyncUserPlanId = SCOPE_IDENTITY() + +RETURN' +END +GO + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'CheckLyncUserExists') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[CheckLyncUserExists] + @AccountID int +AS + SELECT + COUNT(AccountID) + FROM + dbo.LyncUsers + WHERE AccountID = @AccountID' +END +GO + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'CheckLyncUserExists') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[CheckLyncUserExists] + @AccountID int +AS +BEGIN + SELECT + COUNT(AccountID) + FROM + dbo.LyncUsers + WHERE AccountID = @AccountID' +END +GO + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'DeleteLyncUser') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[DeleteLyncUser] +( + @AccountId int +) +AS + +DELETE FROM + LyncUsers +WHERE + AccountId = @AccountId + +RETURN' +END +GO + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'DeleteLyncUserPlan') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[DeleteLyncUserPlan] +( + @LyncUserPlanId int +) +AS + +-- delete lyncuserplan +DELETE FROM LyncUserPlans +WHERE LyncUserPlanId = @LyncUserPlanId + +RETURN' +END +GO + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUserPlan') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUserPlan] +( + @LyncUserPlanId int +) +AS +SELECT + LyncUserPlanId, + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +FROM + LyncUserPlans +WHERE + LyncUserPlanId = @LyncUserPlanId +RETURN' +END +GO + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUserPlanByAccountId') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUserPlanByAccountId] +( + @AccountID int +) +AS +SELECT + LyncUserPlanId, + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +FROM + LyncUserPlans +WHERE + LyncUserPlanId IN (SELECT LyncUserPlanId FROM LyncUsers WHERE AccountID = @AccountID) +RETURN' +END +GO + + + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUserPlans') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUserPlans] +( + @ItemID int +) +AS +SELECT + LyncUserPlanId, + ItemID, + LyncUserPlanName, + IM, + Mobility, + MobilityEnableOutsideVoice, + Federation, + Conferencing, + EnterpriseVoice, + VoicePolicy, + IsDefault +FROM + LyncUserPlans +WHERE + ItemID = @ItemID +ORDER BY LyncUserPlanName +RETURN' +END +GO + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUsers') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUsers] +( + @ItemID int, + @SortColumn nvarchar(40), + @SortDirection nvarchar(20), + @StartRow int, + @Count int +) +AS + +CREATE TABLE #TempLyncUsers +( + [ID] [int] IDENTITY(1,1) NOT NULL, + [AccountID] [int], + [ItemID] [int] NOT NULL, + [AccountName] [nvarchar](300) NOT NULL, + [DisplayName] [nvarchar](300) NOT NULL, + [PrimaryEmailAddress] [nvarchar](300) NULL, + [SamAccountName] [nvarchar](100) NULL, + [LyncUserPlanId] [int] NOT NULL, + [LyncUserPlanName] [nvarchar] (300) NOT NULL, +) + + +DECLARE @condition nvarchar(700) +SET @condition = '''' + +IF (@SortColumn = ''DisplayName'') +BEGIN + SET @condition = ''ORDER BY ea.DisplayName'' +END + +IF (@SortColumn = ''PrimaryEmailAddress'') +BEGIN + SET @condition = ''ORDER BY ea.PrimaryEmailAddress'' +END + +IF (@SortColumn = ''LyncUserPlanName'') +BEGIN + SET @condition = ''ORDER BY lp.LyncUserPlanName'' +END + +DECLARE @sql nvarchar(3500) + +set @sql = '' + INSERT INTO + #TempLyncUsers + SELECT + ea.AccountID, + ea.ItemID, + ea.AccountName, + ea.DisplayName, + ea.PrimaryEmailAddress, + ea.SamAccountName, + ou.LyncUserPlanId, + lp.LyncUserPlanName + FROM + ExchangeAccounts ea + INNER JOIN + LyncUsers ou + INNER JOIN + LyncUserPlans lp + ON + ou.LyncUserPlanId = lp.LyncUserPlanId + ON + ea.AccountID = ou.AccountID + WHERE + ea.ItemID = @ItemID '' + @condition + +exec sp_executesql @sql, N''@ItemID int'',@ItemID + +DECLARE @RetCount int +SELECT @RetCount = COUNT(ID) FROM #TempLyncUsers + +IF (@SortDirection = ''ASC'') +BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID > @StartRow AND ID <= (@StartRow + @Count) +END +ELSE +BEGIN + IF @SortColumn <> '''' AND @SortColumn IS NOT NULL + BEGIN + IF (@SortColumn = ''DisplayName'') + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY DisplayName DESC + END + IF (@SortColumn = ''PrimaryEmailAddress'') + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress DESC + END + IF (@SortColumn = ''LyncUserPlanName'') + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY LyncUserPlanName DESC + END + END + ELSE + BEGIN + SELECT * FROM #TempLyncUsers + WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress DESC + END + + +END + +DROP TABLE #TempLyncUsers' +END +GO + + + + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUsersCount') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUsersCount] +( + @ItemID int +) +AS + +SELECT + COUNT(ea.AccountID) +FROM + ExchangeAccounts ea +INNER JOIN + LyncUsers ou +ON + ea.AccountID = ou.AccountID +WHERE + ea.ItemID = @ItemID' +END +GO + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'SetLyncUserLyncUserPlan') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[SetLyncUserLyncUserPlan] +( + @AccountID int, + @LyncUserPlanId int +) +AS + +UPDATE LyncUsers SET + LyncUserPlanId = @LyncUserPlanId +WHERE + AccountID = @AccountID + +RETURN' +END +GO + + + + + + + + + + + + +IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'SetOrganizationDefaultLyncUserPlan') +BEGIN +EXEC sp_executesql N'CREATE PROCEDURE [dbo].[SetOrganizationDefaultLyncUserPlan] +( + @ItemId int, + @LyncUserPlanId int +) +AS + +UPDATE LyncUserPlans SET IsDefault=0 WHERE ItemId=@ItemId +UPDATE LyncUserPlans SET IsDefault=1 WHERE LyncUserPlanId=@LyncUserPlanId + +RETURN' +END +GO diff --git a/WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.Core.dll b/WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..beb6e4abab49e25c975d4bad8145ab9c136befad GIT binary patch literal 1383232 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

j1TR@%TohD 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

w}N}T~fCvUa}+qB|7a^opx(oA7bg>m36B0 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 literal 0 HcmV?d00001 diff --git a/WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.Hosted.dll b/WebsitePanel/Lib/References/Microsoft/Microsoft.Rtc.Management.Hosted.dll new file mode 100644 index 0000000000000000000000000000000000000000..fb643522d9141663d93ed1a1b196e6dbb1f3a418 GIT binary patch literal 305976 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

Isia+pu^1en1g_+hr-O7TxGfnGc&0V zDMPnT`DDD6glygWM?2NlbbXI&rmqD4x9WS_tP8_4S%F- zT4*rj-JFjnQ(X3`X9q)`1@(E^+YoVLFCZ8&;z0HW5GR%x)H=igTo>{H7lu5*l_3vs zX~+Xy8u9>_hCINfArEj}$OBvy@&H$aJis*}4{*ti5DVw0E#aARLqcZD z5S$pZ_P}eMbO=V)JLk~9y=!>A7rpLvUu^6jC6%27=6yXOq?NrzgfN<{lgOs>rKr}) z%wgMPY7Gn?_3W*HFuZ_)A?7<+`w;T|6YFSKj1I$%dYi1~EOZv51s09WTi%#MoBcM# z=@KP;XGu<6g~Yd$NR;sDPB0aX<&9T!#CZou>C1rVY?eov%P1X2Axil4<+Lt4*(%aA{)5q~=LD;IF129`f)#$ZV*y^23e*vbltrCGr#iQ>M$b-p`jlMRn zeGm2WXSS;b+R=e|vs$~MG_#j}1cVuwFmTvyGm6PML(#L>p^Ikk1Zjao>`BDCfEXQ| zTxDc1I~74{;*$^opuFB+!RsA_*E?u#Vq#I#r@)d-O`;N}FPc4Ld1H6h=4psOYkG>| zjw3jUL)p8TA4FneTOC5XGizi3=?z$V?wsSUwY8377o*QPy>{u97N!ll7PzNuu<(MSi#8&}{nQi6RRCbmk@UodE&a+;CZ@Qtq>#8Uy+s%IYrw7}xj6~{Uaybs2~sZ7b1`y?A?Cn4GOuqj@9L-rN~CptL; z{gS$)*9K~}LyS&W?L#1?f1q?8`Yj>sfeqB4Zu&vHG)wwDC>C7yE%Vz)sHEp0jqJnt zE7Df=w2y$6+rmAO;$PH{&P5^W+0po4h)bQQ$Js~0XsGm6=)4?pL@-?Tagc`_#F{_S z$o`C>r=I>!5}QuqTY+ zIxsIg4O!O*vi~8A8(`P4V%4)x86pT|S>6enN?$*$snRh487RXbLWa*(<@GO!5r<&D?S zc76d#jSh?qq`Po**cE?@0>f*yaslWrT~QKhxCa8u zJnA~Lt?OV(=1a`TePiHfFqF|Z1}tiCU;Q$o6ltNa9*TZR9W)g90s=ZX|xo)6ZT=lm^2p7ehIPDuOO@RLjL^|msKrXr{T;?7fG3UNv6ze)}+Y% zphNO}qNKBnkVql3Oj@&o%+}2_I|b(5Y+at2re~4+cQF!&`*#T*bo&VMDVQ=PwX*;B zk>JA_f5HFzYD{G+&)NU`2le!%8;brPX?n%iQ!sXi~NrF9WeHGCr4z6dHGCF%I=3ul6Un73!B)g3GQ_<-Eqi`iYETgFbSC+UqZ}5#j@VtIgil`$HS4@M=a@&1%gI5M@F|YF&{^D< zD*C@5aZzNlvqc_dHAcCDQHT;g-2)tQ7QJQLqK;__3-JwbLK!IYv5@(nlzBfSJ#(nO zjH`}qa@j{HwPTjvgMy}4A{M{cXSQc~V}AgG`Q`~DoiqrEH(+zN?<+4p-joKpF zn&b#zc(Gs{BO_NCU?u6hM+=iP#4w)>T(_J(qr7qnYd!}_te$hwm}k5AM6`klgF6n} zx)rcmZ3snWiE^v^aM9`}^V=+w+xbYwFlJrIA#F>fGCBkcZi}M0q5mEvvS@H@bnuZi zfRy`A3qAyQd&u1F`4c09`8TebF22TP)H433w4hIv=ob z2bbi`p|R*#fu%cS>3*A$(`%W9L@6a%Pts>FH1FvWnl*i_{+iECSJbiO9h5r#j*r`4 zviTD?Rx8BpB)!f{fV#gv0JP&XP*=mKs|5F%{tIP8w=AAxt!G2vFn#hny-``ywb5#Y zg9bW-5nd!d)|g9YG+u*P{9-PdOQbzWqHK#G%W}$A#kD)Q&B?FW9(=C#>TOaH{|>Vd=RFum;3y-GI!xM0NO=zLwT;Z^p!`0v)c23zGCc zv{7ei9&Mb_zRzex37=wQp7fsr4zE1pBw4Ul`Imx)X`+1>7RckBEs-3~Gj3&%t?jXm zJzi>$ZSAq0J+|jVeJA=>oDMBY1ny^dnW*h?`!hgY=1@9?(`9zX=TFRZnYZEm>6R`9 z3CHQW6exOqkAm5W3e@3nR{|b}8PJWWF1OP?3LD%etetKnXs5eK_(3TKVZ|^)h#>;? zXFzM_sE+(wPWARph=ghD&3G)k!)8mjAl$kYf7xxl#M?db4ut4^F$JA-Sq*7_lWGlz^TyA#0BKz0`%+1(6h_u!xH!?8QWr@$)_A41&Abok8*1%UWbj!*#e zl^+w4_t=jm_0G;{2zBz!*jw)dxl5Gr>HWr?KHy?;|7C))UXjPzg0UWCETV)@A9AsN z!l%1le^*eW6SA)+vvA+W@h&?Oiwa=d9K-s}MX)9YG{m&BU3DhhKu2bWvg@buzRgTRS)0X09V%w=T+Qx?SbeUBl=xf?Vc8BNgmX0_;9Sif zU*koG@=Oim+X)#Sip)>Qgm8R9hFEt( zCVc-dk)2^O!>uJ~0vt;a-)0EAdl)xIa3#)?^!xrFla0@klqFtbMSQOI36v+@3n^m0mj05!Ynl8$99KaWM&x{tdG~sD7&wxt z^)UTeGy4^y$W9-DwyLB4S_fdJ!F^`Zlk`a@xi=yVH?VVjAZJ5Q5%qeG_sj(gHZKrY z_G{p$E7{h5h~O%JNXKG^jF8do8B%^rklz5?t1gL$P3A@T$TDl7uGE@8crC7sVq!|9 z!P9J$oS3o%BHF6eg-C=lc3y*~m-T)fAPL$fN_dG3m9VY$!|K@~;7O*|=UkDZubEzt zFLFz^4Ivx8uRGE@NVBebn@lDc=BEc2Dglnip2!04C`)l=5#&G!YyRmMksg2c?!-P| zk8JxN`+hAIEZcV zTQFt6!(TGx&~NbQ-^b{KJ^BwoujmeE$xv_a&75072sZ{jADLqe+8^T3elj_ZLCka@ z`y)$ZW6+-%%*P;)_hZnX17{#=3__y&F;Q2~Z+G=vyw|I~aB+t{p?E5pt(e}(Wr5%F zkD(@U`Ke@9i4a=Q$WJ9RxA;^t;l$WZaHTu|CR2Sh!est%hl*ChH5RRw-bT6j*Q5fONNhSPV#K~^UD4A!d@&e`;v`dQ zIwn$RI?5OqgK%PLsTh#E=+7{j+@DbwmOq0tojqr-C#&wYrrGfR47+|K?VyWfPop=x zEsp;8S}&_O;H)02Ih%i3*D`#$_F*{>2+Q9x zLh!dlfWLJZ7=ph=sK?*Z8ie^}O>Fj8 zFy!}MV@;ygkiW%bhFgCF4MV>8{*JKoxBh`3{H+fly3X#N&2*jt(x2VE3{vv!E|K}F z9MA4Xdm#-8HI(j0rvn=qJ@;NSSNL21L=wICUXvI_E%{rDI+*>7xflJdB&COtacINR z4PB0m;~T<9F#JY_dwnwcwC_UQ46$y+nZ5{yX(5)jR5z?cEHKX-4o;J0WWLzK>CM$2 zns(ywz zAw7@*ko&@TVJzt~zS&PLP%s^{Ljrwz^%@*Q{mj=nntb6+&|?S&Z{|3H!J9drVDM&6 z0N7Ci|Abj`lj6PHJUG9ArHi6Y@aw@+9YDUJr-Dwx75q;;3-?bDE>C9 zS$@hBnQd8q3RS`tEkA_|mY+gL?6CZ#mo0yYlT1-$V~PhbiX2;h!illHkEJTveI}CI zeU(~vpYIPJ&T%ci!+N6P4r|HijH_Kw-DZYv3j3VC<46h8cTqIhRJHRI3(me|HkAxz zo66R$vZ=y*o2r;aoBAe1thTA7#5R?%Y^o80O%(w)H3LJisf2oL>U8R|*;HC9tmK+$ z)Y=kbs9g3vRPicNF8H2;3dz_<`QG)3aW(*ZI!he?6!P z_S`RD4#jVuM8uT-mp48R0qg|$e?ar-b3M8?6rn%i(XXNjK_6niC*sLpaUDwe*4uAp zZmp29^TnT!?4iaVfk0GaCP!bKnc5DP^Tnq@eD90D0zwP#eer~3^V$QkdOe5*$@NIt zuH1SM+sgY-6t|K73c_b~NU##?L6jo>BufolVozxLwPn*KGL&_Roux{bg!j6nm_=QB z3nEtQ5-G7R5tc3)A?T6_(4~{X5Oj%9k1ov!x^%hIr7xkRRsIR%n}5PLR~zp2rx4cb zPtHFf*1i5@>p_p9uMW#UVKT#d69@i@__UkXnB2l`55hmW9nlw#4o%PQLLhnxXLP!$ zJ>S8hld?5BSMH=-Uv^TM_D~w$zbP#Wkqjqg8zj-|q>vazEjcNQI%u!o6rB`z)@Qu7 z(?M8N#BaRwR+JaZ5$ZSUkQ&d01)cBzK1oLWY>b`)e`I;yK``9q&?Y$lT8wdLp+dW- z6~Xra>?i?#2Ena32;OuPzv3YHN?gS3?s5=(Ghla@gJ9l(=x*{B{5E`N)^75)^!J9> z?>;(j8Ag}|x2!j%Vaht$qm*3++{=9BcB_%GjqD7Je0 zZQ{=FK)i&EFh(6=EburQLEjaVr)31zA0;?yCe zwm6`h)JHHRsiQcH<~zZOli+%ne{#(-x=@G-ySKot7uP713;!jiDxS`HGX;QB1MJ&h+EXNjOnF z-#On+5vXf%{#Z$zN%alYGukr{-miS)ncVN zA}ccYZ8eI)x2@Nn##l2`bHt-)m5#>WtbX@0aNNn=+eY?Tu(mm-^xVrpt8RS!B$D`O ztBdzC$V9qTzec+8I24?guXrzmtc7RVl}t1v#d{gT?e@HrenD<3Y{7D?&Gmjj^&ON; ze}-OMv1}>rR<`*KlWpqr(#ydfuUtyKihR_&r5`BqN!eU6-0cliuj1!o)%V4ee=fFs zdjmUe@x})=w&L`=@qwMfy(uwTep90AzK5ru4EH^-$7J85tAKfktnGHRjbTnt1~)GG zeQA1URr3(x{X9f5i}R4v5wUt6LP|UjA*^|b5yCt~1k6J|0ERFRA=EPunHlCGIPR`F z{hcVOpNE`)CUpDKjGv^JgUY)e_^fCA&vrzAOwubHfzNuz|Lgz|Z05ovB8_YS^FMpT z)xud5oz%@-$dL_#fh(&#XPMM+Pj+pV<}S>d>j;;UiJmILmofZx{FyAeXW@SV@_q)1 zwHXEiL7|vaPcJdzIi-BA|alD0~xQ?fRva+N#fUH8spY@_eKzN zs0?M&8gC1MYzVx5jrUqNeIhcSKJ~2eGTEW@0Iu=kqdh%qyd-1#G#yFwPM=7OqL!vl ziaMChVD81~Q<7eVnAz3%Lv>!m@V6}dZHBM4@OK!#&cfF-d;`Pz+VAIT+djswQmf?$ ziH7UkzZ|ULEjInE$~tGFF||AWBSg28a6}2;IV&grn8aa-+9gW(^dQuSKf){9j+44G z!GlAv_mW>nc#lWD^9XMb;W!c?3E%PJy8UeQEq{jh4CJ!aCBT}L%SNz1YA1B>W6FnF z7*Ioj~9yL}hNh~QQ8e8l!8jU5!78Om5F={mB`(la-{+{QYdE4E)2>JZ~ zSGhBD=FFKhXJ*cvsV@;4zy?m}Hj*1@8iHU?=)UG-$O+xy0ghg#(-XREK4|07l8|A) zoeVyqOOB(hP|xL(3~cd!BwhP+xo0Idx?SteNj#HS|6}zJed17L-&y%OIKYD5h3Z_S z&c*6nqRyr2T&B+D>U=|;E9gMtTz~&QT>k02K}J}auQLmU$!IDt=2tbp7+~fK3vBZN za#Cd-50EW2M`<+6Ss(~c2WLxbD2@3nGBTEKXGCo`~xQfA#I8&I# ztiFk$PRaibE2yhpr{p-6XKqL9=$-)&&5>}~{yl;*JGdGNIXn1(u@dqo;*37~R`eT1 z8vs@&uEmkLfw08oE3WN^~tL@OY$ntQ>e|3-|W@^=>YFalJb>Hf{$T9UBed80j#k@TrfqHv(PU z)djQ=5M8Jv)Efz`sn6hj3x{t=Cq^(o6D+;em6{NbfktrmM8C#B!^OJ2R2Rh;>+S`I zUNaH|qYWWktRv9ZB7+v|NIPTZa8 z)9Hf1Ct6ge|BDE_feGmJS>#1(K^{4=I{i~0Lv;G=07o8GK~3@21#3!ldRUG%-?|{j z(F#|cPBO8(7UPDvYvGs|!4)rDs7?D{>hO$(3P#2OzYCqAzdLK)0RgWny+R}GPxU=#- zb-u6857fC+ogb?6BX#al=Wca=Oebb1h_u7DMEVthg>8wMDJ*PD%voV!TOu13k!RSJ z$Wx>(k+(=&B9D=_L|!9pi9AQzlJIV~H}7Lq_+a$?2v!94CwzFtKkz>E{^q^F_xCqP zL9vz}AfR7#u!5ar)+N{*cL+@`&zHa#*=2i+bw)>l3ME2O< zoWKr&@tEYezsXG1ikBtKq}L8UgZ)if_qw!sKI{yhckl2akwjkY{Y@6cw{0X_v2FH- z3>L)Kfa(ji&bza+`~@IkH*IzW^Ij)7Scm;ha$$N{YOE`;Dd@*3Y2#{tCW7><$a#0R zmRjoy0uR;|BxQVE;U`E~dtHGs(RBreWnDod!gU3Sz`DYNKnT|r7#g&$&>ZTE`>np{ zLrG=+RdwE->2;NWi{Ab!LFkXJ5)c}!63}jXojQtn2~&0c++6U!__;aBu3>J@=ppCk zj2wDyE=g<7&Hedxc;3CU@(^oie{D0;7-e20Q0n6ykyZDMR_j|mERQSCloRF)nARp* zA+KcVG}z*G4qg=64%q4LBVl*!0H1d>;I2Fsn3T5w^^DC%HXTkklRBQJa9X<+%|0NO zt{7VVOpaRS-P}&38O6F;%7qWKJty7mEPVog7&Cd`N!uQl7z@0=q2C2~cxjRk$8*GYa6pn4Z2XyktuXGrWrsIBdnX!&Me3n_AKAh*(?}Q~~ zc88&hgZ77WHG$(B)3qU8gfeb)d-K8J(Pj+#biElXJ$oEAOc#D82JCPS)(N|lertt{dD5%#y01#kwA=G$#$<%ny* zc2cW=!;wW-gU)hwAInoQp+hLFHnK>T;bJFBee;my6J$%f-BEmP;bII#ac; zEPUwxE4@xp5T#sLVfh(ZK*N*fCn4`TX*t#VuU7+FCbp}oCT*#V<#EYhl#6c=KG zcjBM4SxFo3XUKb(S;g0Ke#?9qiMydhk+mGjC-@qsr)xQyPk6aN&F@tt_7ZT5bt z?HcdI6VcW+hOTbn+SdX-T{+EH&GdOih|}-ewvik=3H#` z0zLZ~N{%f_r&Eac^{cT1K+TWID$QbDe;l6zwUTc4wJgv+AHu0UJWF^It zIeK`Pml^tV8ySu;x4}BGQ)7P{DkM?kbB8iG$eJy`C-4dOyviI5;``R3Km(+a{OABR zYkc2Yv|@mCt*<@f`_`h;1c^(;zw=d}-M2nuP5agd!1AiGZ!IcJDCT2dMx=u4+W={z zo7bY11UcB`rn>6GOF1z-(H(I-DwVz$tMEjV)X1Ewqwkg~WKjWv9RKnG6-42bD4WvT z1T(lo#QqikJc4wII1)QSe6w6yjvx)SSm%iB(xVm;k>7KsW(r$e#fF>t!;Z(L=L3 z`Ehg_OZl;U*TY@JIgeXra>wijxo}^duIusF%c4^`W)B-d*Y)`8jYovenD;^uVN6L} zFZ6q_5Ue+r2=&$jg8vN#zDj~eQY1;}_gXO9vENW2)H??=C2YlWj(slbv7PfcDL0nF z$(`(*?+y?5+lAc}xRU*L2}u<8%_WdS6!u2QyrkRHrjyc)_0vg6qL5Ak>oHwv1MrG% z5Gl!q@VDqU>Z;H=nw3V{)LXJ3jo=$rB+k53^S!Ls3Ed!eQ3oAMH$^9rCb zv1!mZ)5WBd&Lq6DQ{k|#V=dR9akoYO9CI3IDa&}pRaozK z#^W{FggFHT2I~$Ye+ERx%2O4|5s+aBidvB0;Zkx;Ea&NOGF!;qMX^Z}r>EHnNPq#)nv41)Min@RL0(?9b zGbrMD8?jAwiblwsDF#I}Fhc4vm6(l|IY#=gOGK0#Bl(j$|_y zSZ5N8JF)ilJL(lb?yRafR_2mV^dY9R8MiHX_O>JAO4G)j6U5DwIHCCuO?NKiwr9E> z2F0Bh#O)Z+^w@YB3LRN#Iso zincN(N%`s??puioNj;0`Kub;7)_*JCkvE~nN*@YZxjc-^HqM7}&j5FJJ7S3Ml{6$e zCu-XcpON2*MNgJ@hQprCAYBPlzYcy!^i?$Z;2nA5$KDZL9gQWGwSGr*9LnY{{TJ#D zcAWo?Jn5%}tN1&jq?{HmYriA<(9dpqwCWvElB)TRC}|CPN7P?{#_6_0*a3ERz4}o! z$r|xn`Vx}hSyAsM%$6MQ7W^s*`&bjO3XQK~0px}e29I49y60#DvkOw2FXKno>hTt- z(COa@NxfYeN&TU=V=8ey`dk-eQ(A~6?G`+ixfLq9@;X|L9IHE@t#~&i8X!pEl{fsz zuQ76WMiL}&gCjfza}2CgEdG zP4)PW%6ZuCehcM*^R_y_QRlbnyra(V)OlB(->dVUI)6~-eRV#dL;C|uw(?iC#yh~= z6c((H4lwJg70Lnfp|D^zaez$e(jQk;2FRSQ*GZ5}>f)IM$!xe7KR~8+F-u~}ybgL2 zWFaD3=PZmaUP!DI%5IK-#Hes{{9^>~}-&jZ406`9tPb3NyBQ<6lJf*jKm)3{eY{9QVeV zsgC8cHk|Yh0H49$ILCN_d*@SaU~l|D9}-D4#NIdy;;$b`w(GVx&bkWr#>p-o69)6% zLEvB=_QuJDxrwF5S^--^F<4>OwE`lbVq$9rY%I0b3Irak6-dhXTEU-@u=ZL3W1?#X z49i-9Muckx5`m?GzW^az8eqs@8j!J*XKBWB%+|GmhcT1mS(@*oq+(OCJX-<>Mkdz= zm|kc4+>r2R`k_BM(|Eq2X1%%g{T3yx%?^XRH; zzl;v%(baFkF)}ibt~yC5N$otk`Xr&ABaH5i|CKegzqT1^jIuW_Q0d36tXIKn_iO(K z{D{{1gu!sX_U{aa8?^ss@X!~r{wvpjS0h*v0zU@K-usoXc{A9cmGB&d?Y&K?8FMgxNRQ?A6{qnmyeJ`Y3 zIv-%~YxoJk_XptRQSf~Mcm=>~)`60*TmB#BRtht=I`E6g9y;)DFhm_la@2v$H0fQy z@^F6)pA@0je~T=D2RiV=5HpOtjS3P(|4E{d=vwU!uyTjk8(`F+y#dOl$e60VfjGR@ z-T>KJm%RbvJDSyVR$TvL$#C6KGGjB0?bI<<<6b0tcRYXgQuB*oUyQyYVgA09&UlnM5W07SP^ro`uN$uhMI4~QPBtX4OLOv+(`TXB50S-dmF9~Uz4e| zUnQzRR*1&?`&D@2v(7BRkAAS4{krcyq>gS0NiUUT!Oj)CuiQh8;?>wXVizbJ8%2^< zE5w5RCAQP}6Lr#B;z(>C@h9p;_JR~VQO8QL8%qBfyrC4`PonMfCH$+yKmK7=6R*}G zjQUxKe?FZ1Nvuip6xAGTL>ae(@m_62B0#CfY($QxwQNLz2R5RljN6FAP=?wzB4eU9 zBEw=MYD8!wN(2TQmk3-m6c3C>2Y}FMWXLxf{r#l%Lz|Ji8nhW@lSjv_n9a!KYBO>k zpY|?B%hWln`n~(nUhVD>F}zEF;J;_b-BJ95%}6qJrArZqy%)i|41Rmp@p5=!Gu{JA zviI@;yTCU94EA1*w|g%H`nOL8-E}0{3?GIo7!+jCT}MX4X1oF<2H!qmWF%>o%_vDz zIxCOcjE;GLh5iYCuy+3-{ST?1i^AR`>VK5}$JGBg{XbRz6ZHR#{#xfUlaLwa`zdwO z>SWZ(s*_Wvjt<&2=kxx#xQZB?qF}^kCAH9O7$8+0nPuio>XB(SbI~zHVwsz2Z3!}0 zRf-an-0iHpkx}8SdpLp>fqfP^k}mV#+BRnc68JXf98B`cBM9i1Uwpj|qSEEogAo^i z{}6x=iGtq?z+9YF`3&{umgMV}>zP|A%-GtTUqtq>Io|<8G!IFRHYYRH6>)2G9tu7K zo0BW$@p<=L9}-D4#JrmY@y8{}cHQRPtgT>NBD-nxA29D71`gI?-c2sd2P`#oD%(Oa zSR+!MN(59)OsBHB)Y7Q}4|J-ejO)~qNLX8^GA62185W(Y5ur|%2&m8|AcQKEAzy{c z_|JLwhM^99-0ILzP|{lSZl+fq%F}siyImgoWxL$!P(uCfa;dY|k=F##p(ImR;%+Z= zsNl(Fug<%<*$W*iTfM{a=2p1T>p!=}eO~Tg%O>wo^KO#OMD}T`=G}~j4%I#0>UlRK zBT1`ts3cA47H?dK*3x~=C@bdO(q^PFiVhQ~=s7pBD_s8RIq6p5NA%7p1SpAPNn(cr5xw=pTYbLHlmjIQZSBa?-TpS~5( zWKlztVSA>rp8Ely+(ycnY6$_d9kWy!8zsQ7Qxr6xKsyPDt{r4o=kek+OJ4lo8CdLZ z(ySNXD*6~vZC8)Ov6czZKEhQ-HHO0e|GlrYbeVO`$dCKh2?`_m#(iabviB1uuK{b`ZN zyj6mDB02gY3jaG41IyL4q+Q99cq!H?bRgShF=)@K1BuXGr32YCYw19N2Rcwv#&uu^ z64us%jEU+%hD8TzM5qHL0_|@s5olM62THLMfKVwiQ= z2)Z=|H(*p~3T}vCMPR&V>fcV(y^z|r;QC16+k*2@Mdb+u^vmz+^hPW#?^Jv9S$#fu z;{bd_6l?ReEl+Z^1(~T{RJXR^SHON? z3-X?N+!kEGXkDocBW3;3_LFdpf(7w)sbsruwxC=KmKKP49NA5qdUP}INN}(YwjjAM z1(q6mkc~lKbKtnHdXNaHn3yfd_EJj^3Ovw*k}|FbCn8~OJ;<1-9%NYbphkpxP$HoA zHUdJZ_89WjUSJDu6zaVvt=`)LC9P!(GQHY@6N#a3JIE6p>W@C_Kn#7>0k0VG?Bv_1 zTO+n0$plY22;TokPdbqH8lH4uGz`MpPdYGi=qDW{Y3(N+{C$`mg7;Sq$_sl?+D&jz zeL$dA-4uWkQ8zsZRs>eY?X}O{@9hSFrPu{aW`?hzr2m2jHWl z;F$sV($Cd3lCN9dn7Nh0jIFNuBC?0B*%}N{*N_}_4Kvj*m|G2U4A>8J%|(NB%_2st zt_dS+>lzls*EN#uy6GC$RWR=)yJ>R(nD-WggLTj~q&`W$kW&bY=n=tld3h=bZ!&xpqgg8M7_d?zXG3cE@O_ne9Ph@Y)?CBT1{~osu*q zmyZX%9OLVmZ4T6Pn4Oi$C@b`gv>9oPGVc^9XU2E*&RJ0aM%Vk;cY!}n;-v1sBe(*v^r><}QnC~J-*Fwa~7Cu(-gUZeI&&u$cu-d^5%FFYDy05D~SY-@6qQ? zQQ)aIQ&P{sejx%5Gv&<^fv4NdQuPe%A5z9wdh_N4foBE|0K6jNxh_z^8vY@|b_y=> zCp;GHW=oipH@llH;a_0NX?L?F{0P$9>&6m(4PkrTSi&DnP59T1C4Azu;dNsH@M4R9 z-BVvzVTOu*YO51-FZl3e+-cF~V35u*sp%=Y>%p|I}!uOwl2`v!0 ze@qnK(P3aOY3w?<;0?ofAMr6jU$!HJc>PQ;Yag%gJD zI+2tEqxv>Vob#Dw;GKW*d$rtsrs|3BKC@RBb|Lq5VN1+G37vi-+AFN|Iz>VD$;>1fl!asMV{l(!yBq3VWU7E6 z&QLIF&>0HhjWNPoc)v0ZuXTokY^}=~3gSCO$;vO;_EIv|7mmrwUu=J#>Z|5{HzTwp zR=5O60sPiN%F)_k*eME{pZN~Vd`;_>A_A(+7-c4lQf3%8po!*F-jS4bUL8I6z)>#V z^5kCO8t&r?2ZQe8l6;f{hV6Y^pM#yr!CJK!D*PeZ3!`ec7sk|TF9Ez(dm&Hj(q4$~ z6osS|OXis2T%NM=?Q0neU|+k5@z~fNblzY|jmx;A^kpv3%ecSx2Z#7QThX%tQX`gx z%T%B7d$ywb1c~=-KlD|kJ+y#z(eVC4uNx$lOmWYW1LS#Z*U zy)J&;R{BXCi5=*3uiLVX$FJK;!>CcNC0s^XjCbP8Y(VyO#HH1zBcf*`22haY_*aL2 z{6iB;ti-<(BsmHJAI>#wwmQ$_xQY3cSPy}1tn(=%pzp`lZfIH6nokKlm`_Q{_GsW@vDZcU?6o3f79c_MbJ37X$-~b=f#&7+b2UVdDdp?SOPc=FwS261E$I#Oq zRn$L4-9(w$;Dspl4Xe?gsY2f=hCaO-{hBKDHv{xhDC(E1&{rKF<)p-S14S&vJ-Hfp zrzmc34EHP5xVRX#2$G($Kw567LRz~sXkLk#W3-(%!M_sX!^e(-cFMLl6X9OgwK)fk zm5bx%aCpoWm^Ye!ROz(5Q%ayBN~iPZ82p%Xfe^#H63El0;w#^%RB49te3heEYob($(%_V~s2O{z zjr~&1*Z~`RV$Imo7+dd@<_EDbD-UAd;`Wbtur{#^0O8sMLxa{P_!gKwi_Td;_kT`> zc!RZx>rrp0U!Fy0ddJLRHKDrb!id4Iw*kf*TYt75U5~ZtEr8&4HRC`8)86Ue+Vw)e zmqJRrnn9>{1`zyv>W2W3@%oZX68gQ#xNT+csT1l=2SVhY`XtdCWVNnzCa7WkLnxmG zzr8npHoRE>aFDmGf285@&H*r3|9IZ6e-Jq2y>XJw7-*RSd(xnLpBK}fuBE)v_C z0lja&4ZT*x z%rW#YQut!}kHwF+Y!NyY4}~s``v^2{5xRsV3PP8_k%*e;-%}6oCO9}1vhyOnr#{JX z+m0D+P6x$qcD5G0lYcP!+EDwXYL6%7jXkp;*-DA=U|1xlG6xM_F8|$!VCj6coB@Ia zZk7|poQz*CDenfjT-Bz>DgKKlve>PsJNk zK^np9&#kL`ayk#3jxue6KG|BYV=nH=%h(IudlDFewjPr<*zGT5dKL!Rcy}f0uL{ zr{C~WBCat2sm->7^-wxok#8z3!u3SFL|7({lTWWsFXny4uLIRwfQ-5)I&H4{e1g8a z4Gx0?&FSA5N%=q`&l&D*<>q=B^l@{MAQXULK820l)8~3Qz@7dcg2XzQpm$uc4-tTx zU9U~BCi$T5Jop|xIhW{#4LXH*P_zv^NfHco*Y` zS4NLx0WU#-XP*mZDSo_55p1dNyJr}Np?dE!gz8HkbI|La-N+*2UCuNcqe^-*#i?k6 z1&kepHDtVR1W|4)!3;Mx>5Ox6Q~)nq-##32Wz-GMC0aZYR2WLBHS(|FW$94 zhF>$68pwFp0ro;hTG$JSV;0$rcRipb2em?7p7T24YszH28vt$@**wy$gr~QmxoP#N zy@n-5H#HR+0lblwLiOqO7lOnFl_O#%Z>=y`ufK!^Oa44}|>`fe!hRR1sI z`Zu9$nNXTI^XFV%SG`Icm%J=c`H z${HCNJK8643mEmA!zJL~u;Xh1EfoK_xJH|>?f@CTM_B> zZwiq@FXA#kTLmS=5slV!={6vA&vm@piRj%yT4G>)mvAH?1Z!5Q#KVy1=B%fFTTdjK zcFNOOU1D~kwoZvPoyx(;MF#4hAluUSKx%*>ftzKhN{l=YGV1$?svP2DKSa^L+hr}RA;HJ#R!?NsxvTT8}ptW8NJUkyE>Jc*` z(T*BwXm&&^YN)XpxFDyYmSi)=I|R+;NDny$-7YfNYzE25VAGA-;9z5ZgcR6Q(Aofy zV~e>A){$MYlc-L@E5H?2 zN1%oQIJFuuPz^XO20-Vh-lpE5EwVFQ{=tOc?9(w zX&8RobwS)chzq3VH_Kg}{^{Ue6`lFA&382F3l*1`&a$5l?i#X6wQ`tW*N>8}v@U`K zF0HFfayn6#i7<5A87y9)PEecNDsC(chn-G4%*mK*LCii?f_Fs1r%EUT-H$ym(OJ}K zJ-@^84Z#1-IivI`?_QLwzR;Bsdg$Y_H|Jdg;uF)wud5*MIc698!K}ez(R4G#@bIh4Rd7lY!Q703} zLH|B0CO*~1K0#PvKVioGTLM|0sg`!T9cXPyT4y6|W6miv8rI?%;6|+?*ub=l#0r81 zaSn5OkbnvrLPNIuNVkS*MGG`CPHu&KlHNn49I5uSxe93Y8QQ*Dzuf+z26Vl~*O74Gtz0d`Z`#LQ=n_;L=woTm75@hva5KJ!CT+K-e@XG|Qv{}Av4 z0yy535heN|I6#oV#Za~C&aNU&#H`ia3)F7R zneyVB7*su;#JUSn=5Y#(W$!^=+e!PQrR@(TOL=smF5PPW%}Gb2)4w%pACDEWtZlLv zbQjWLU9hQiKAHlaO)76A?L!!z=QI2`8U88g4iHq~k2w=G@Fq=}6y2VDCL^>fJTYO; zLYzb-!w3;_5RnQaM9M+L@JJGoa}eWT0Qnl*tIWw(P%z+~ZG0-+u$`E*$ywUFmn)Gx zHX;>Md=x6J^gF=3LvY2-F?TD0&q;qPy51VobARb3&$zPghz1!1}sqo~9 zIR{KZ$NUWZz>+-}dg4iVu{6e36EfGBl|wB$NgR>u8ZHYD-XFntp))H7T{NyS*VU+T zA0tjno0Fn}^divgy*mELnk})8AsZ)-x=77_wBYwBsPCYl+C?}&W&cYi_C&dMs4AD{ zRGE)5Nn8FYo5oXY8UzX4oXfH*V#b_@fOjx&6xa~~(Y2hhuJCkx+c&u$ZcYHE( zc9rc+QZ;R7(h6+nIgYfMu(_0;L3DS~@qPi<@t!4eSXZLSV7m}3`Y$Qp_1lT{h1MUm zL^L|~gvt?qjXl8{dk(1v2oktCAC*-3ijVO#Vmwa_f&^~9MvMhM#*@T&ffxh{+$;x1 zL)L5vrzM$hNfq$iUsLL;M$JE`ZJ;TI`5LC-O-W4H-m)!Xs#6gq@FP&g8kFi|KOjoL z2EyWZ-{NSoj`Uf2iY)z-ED==Uk68g;Kro^zkxW$ELO&T&I5~ zRa{6!)hF5}`v~W1(C$wSZP@i5&>$YW(rRGg%9Q1Z*-n)+_1 z|3HwDJttOx|LWj96#slGS^3&$TbWqhA3Np@M9^X?Cg1W+(c(6t_p5MT-cu{y`9bDTP!I$u@icy)?&xQ=)i zc;cV#D+j022AECNxvv4{S#|PifDAHrzib43y)V|o}zf@DyS$4HQj z>X{Y^lHtf(V`N+pW=O0Qz@9x{%Bb+F%Lxcp1UCBRwK#je1nB@7(o2ABC3ATh{(5CgQ1QBFBi+qQRjiuIE z34sS^B_t(vay!aCPv*oYAz|&a5{!wSm0(!TN@zrQRzf1Mzk4ze!u?%_2JP=+g5vM* zJ}Yw-$NM8nYVFk6yAe#UyS1+q!|v9G{^)Kkp?0@6d~0ks(e)$~?7a$}?7ixp=XKnB z9qP_A$wv2HtL{8AI@o)yzVpn;$lhz!*>g#1_g+8$&hs*q6=%<-%}8U!@^IaNK&2nM z39Q-3pPoHG1^5xIQ)VzcT|R(dMNn?SP-3q@OSog6fBqT=kyRu3SDycd;yC^Nq(m$^ z?WUhc!tKL5ctC|q;z2UEOjQ44N1vMv>fo-K2=DI-dpU`#tB%;BYqB1O87Lkw9QBSp-)QfpMZ^*$3J69@=*>Lc2ruz zL0l)1hOd*P?4py3;OhwV-^j_h`odl{?lDWjfL+%U++${m<5!fW9D;WTC5)dBtn*oVOJ9HCsY&+C`dp6NRYvCLO zD*}sjR0&VPh-5EHNO&H?_SruPUxKh+l)%PNq$Bgu0!(drr}-=p4<9XPKoe*0I~Pzs zEx_22f4_w@Hrm1&wtZ}@C2$@IaQt->=c8;Ur$?*2A`+jq@3p573#`j4(4mn9k~9g<*MG+iscoPEqLk{GIRf zmrm?AERlGFeXTB^&v%V09e|8T`y?{!=COO3Fek$=uT5g#x=1O9sLLm!%b3?t?rPYt zsV|6Z-%4o6ceUs9LcbAP8zFt1mH_=6KL`=f4^Wl<>!e==dm~OC@)eT4e3^4pzUx`} z25=-;hJ4KrLB~p#VrfabEh+4-kXUm{oN4RXaL*`s$Sfl0m{v?&3dy!W)Fj|Yp^Y!< zuc@ff7XAxavjtbnbx2tgc^zdf^sD4Lq^v{w)v{(xEm;Tf8nUKb{!g+d0el^dS&OXE z&*EbXyOTe*NY9qD;2#06dTi-?9KbaWFHQc)!Oq@y8PKDTU`XGR5e5feWrQ(5K&vX9 ziZ&wMuW)1(U7DbvkG1I9WbR~|0j6O)Dol;0k#b6!(S8~Mg=r`c9n)q^kVzj%$>VX+y3Y*QjUp1`zEk9oL9ZJ+4u;)*9CY9*k>}GCr;?N5b0U8e^j48pATK zX+$`#Nd(5V6+j5bHHHR_YrBWz+Ar<6#-o$^)&^79acw&4QgDSR$F<==^F|QYF(c`3 zQhzi3E$VNje-!-~=q@0&&dS%-xlo;p=zJ269s|TuEi8i}v9;PI$W+>xB`B$XujApR zjN15BwDVc0n1Ra}42Q?d5v&Nxt*`lZEDn#wX0n$6$IhT#vkADaiQtwm7CiqhT@Mj4 z8h!&%t_Qn`A3|1njupN2#REs-w#^-2XqjSY1#mCR+>V4xzXhR3F0_#dFSL=B@Io7* z)fd{xM1`d)vOv`r+8C=5lvCA(Hj=Y9rs#DPaSN8CN;i;qFi=}K?p?T#DA;w(Bdv?k@VRVHO%Q*OR}*!ReRnL^gk_oPmr zW)+8hj|kO$kM&%u?+HBUdy+EV_pU&~+I^2P(Z0v9^gWFT`<_Ig?_CLmun(jUu<_J?bW)i|Y*-Y2<`0G6aF={={L_G)%$qainjF&^9Y`i=aDhVD$ z0yz{aA&J7FPzgMWsEO>GSFt$zSGA`Bf!f8XYk(2yUe_X65m;u({&Y2q;Lizn220ib zNf6xfHwDk{PdgA1{pmVD*W90oQQe$x|db8@L?? zd-F~|V~aw!Mt>H*v_I2}mz&AJB3rCm0aCs680xQ9xrnhge5 za!EvuatU8rE_$7!Ao}IH4WKpaTVhm~tIB>M%HVPkTC*I|&}-Q*Qa=(=qa4DAmV;hv zzxd_29iTOrgBaE2I3(KcoPMGVE(f7C%fT*LWbdjTH>4aAQKKBfhn9n0M=3}-s>ThH z@y8A6UNUYxiuPA+hxJ_vU=34Dny?HVyt3QFp@VHZ{{38O4{;Tmni)bfa`u*J4#LHh#yzR%K?Z;A^1?+YhtE8#C5g)6FP(4;r(bXEO z1Rji4k}^J4-GPL)$127|$0~+ptkQ^Ztdadxc}wt9Gn9 z9wn7M5bkICYtFC)nI30F5zCQ_E-s(p*V`Gj=$N@Sf-Vkah7pI`2)eGvU$Gr=-@!)E zbv^!i*P@2xeAN3sZ&C=1fy_z9K#mF=110Mn{4r2M5`{5P0$<`7sBB3(4kJt_oCWD5 zBvD8w0h^9|N;-}^Oec&7Hmrms3h5*uHmnv((s7((Iw{vTQ7*B4B_vTuCxPn_CARPP zSe>1f@2m3zb?&4CS+Fj6c7cCY!^r>>DlAaN1EivDHBf5zSPjCE3FiNpb+c%(q*V`kIA4)`})9i`b>#BdYu!ew=>(rsZzeAK;U76_~fa55L$e8z3#dA&LE4$_qN7 zE$Nm%fVV!4Pa%8=PsaNrk!74oB|3n=x8PGcz#oo>d-9S(u-T5t6OQ~?x-22^+TCQT z^b!2kgkA6vrOWbJy2)y~Q9R1J2HpwIDA)TKaTB%duJsx^(Z@ww@{B8K!A>YEs!%}7d4z>wIgs%4&o8C>}0A*qy$RH_a&17xkW~M_f zX~`OQ?I?CPI&NZ;rQ;6be^iYBjEc@@AF|Uoq_IDM_QDLkf8u9_mR$hpy!S6= zr?H>Hn{LQA7Fx5p8;OO}?0G3&uI<3aTo&iOejk?e-@wMTJuOL6=-{AMm``^d4)u}; zt_AEL@Zfq(h?cO4O)52Ii=PnzH~2CC0p>&pH?}BYo-0%8tC_POXke{NK4>G-ublqR zG>0tOx`)pTYsVzeY98z|4=Xb)Jys*6$A%F&lRk_o=ir9Ny~qLz?kCWdP;d{zp%!G2 zt_>T9=yM&n)wu8h{~^VH*y1rrd+@)ixHsl_7lLj} zN{*4Xr1LGAJ_s=3;3{?+$xH@6J)@e^KETTYFtINk!Qnl;u3aX#;djR^SAcy6x4a6T zz9%%a$E2MBn|07mDTIH7e=F@j9Q;jOgMWxUXgeCQ>G8*cGM@VD16TU$(=Xtgb6{QH za^m3tbaqhefenRXx@+7ZI8qf3!aeXRVu0?zk7~xVIIzCZn;Q&mEVQ-ZOfoj*US?Il z5>~a9SQFj=;BCjI)V4pvrNVS3o0EM!)&HpkrT{!=WOeNNsIN|6$Bsyt9HhA%%L2nz zrrQv#3xn+l)`!6k1RKJjs$|ybbkN7^A!skG$o7L*Ku*J?ehZ!HjFWBm8j-APq!|w9 zYCc$yZ9fqAbOe3sn__#i-R%xKb3jMW6FYJaa|-ShUR0k!;t@!U&cZC(rZs3&vp4m! z>NZ6VXg;aJm2veY&^;J*i?dL4{a78lS#f0$WREI-5Cqw8x|&ybEJiwCEd6HKS0S9@ zdE&MgZx*+s_+xQ9i!X{hy7)J7#}vo@miS|fdx<-)SQfV{SG-F-b;XC&Q(t^eJq^XT z)YDk}n|g*9KU2?$;)r)hu4`nmOFd1+&BQanz6&MoZBdrGIE&0{XwRJsDkCfS(WGEtp=QdO z%tbhFT9+I(B)cvj>nV76on8#d|tG>w_$wB}q>Ml)|h$~Q+MyIcdC z0&sBNwXXL?9EZ>1E^Jos!e)K+W}tT~8$Ku~j<*pWZju)vx49N|T+OV38kI}M%22Mb zM^jEV3-J7dlnZ?=q-8*>r%)q;nKUIQk8Hw4Vl4uBS~UyAg!5a$c@CWCl=BD|K7MOh z1`(wX9|gF%6ij+~V(2%ncS}q;MbG{_*!iEcxxSGgSLjb>Jwiv>F%jCClU9uXK_$7e z&npW~JsZ}BV@?>*DfC8g{D`Mm9j!Jb8;$&c_C07*gOO8S8#&jr6gv#&CrT4$K_=~; zPxd2(A{+w&N9_bb#(e67L#bE7@_FsZZt3^XF?%rD2E`We5`u9o*y|umkyy9X35X}P zz_yMv6p6Wkp2^pzywQknENqbT#=z5%$xnfPnTbvo*Dq|Yw$5LQ-u=Vt23D2d&yHvJ zlSU*q*+$nC{GLdAX=CJl81k+>fqvC$ehO*y?WV?Zxp<1f=qs8N&;v7>+-)7%JVO|1#Z*&q-%1?6DXcy3tU4H2ywX z&cXa!dV9st)foe_zh)Vrkbt&rf6N)~%e=KZx?X z_IZ9SmTukhd@PoB?eiS*VU*W33-S(|h<>g2;%y4v!w`g7xtqQ%14`;;Af#of8`B!Z3r?YJwD z;zA}PN(_2N99pH@iLR+{jNyHrJi>I({g>%JTbp!&9K-ykd>k!hZ8^rruQ2VRSlS`V zSR>ENV(He9XN|N!U5m8G73=>LHN6H{!>t2ky!+8$X7x0JSl*`NW!HxtoGkyGpj7!6 zbnvdmvv9kw8ajb%)`y)Ysr3CREJn#+kmMOqaGg^~*K7dXUOc3;p`QksGh#U`;$dC} zc4E1jrS9(rl!P^RO}N{@VojL|pl&|Xsbc9rV!5)7I*F0s>~PxMrPYAaqHaQ=WpAD3 z(2RUT6x3>qb*kllGceq}bJ2tB99?(&4|cfFmL-6;D_zeun-gzNt0T>* zCoO#t4MG|^O3SwVCAj=^`dNv(*xIFiLIcejV?kSxqHWlC@sIN9j);^jjDc9xj^>`9 z^u3TaC-N*PR*c1!zFJr4QBvAR3$~dmqtWb3|7OqT`a1eNj?+kx-9&mkJ?!MtaYPqH zbi;UZg0jJ_f)s?Jj!iXJaqh|e6WU$HGx3(gXBYgL-}+`XlVJ2 zB}c+rCw&(eZytf3Hw#T|;5p=8;ZO0s7Qnb{GC+?08(~f%aR_r0x)kPS@Kgy?{XZ&gawEJgs$t&V3(PS&-EbI+meAN&`@=d7;4~j=0Nx&$RTfl|sG6BR0(v4t_I~PwI zQoGoK31?8ghTQZxt=T-KTkwtE}&Drf1-z*&~={veW(t*E35Y@BO$1pEe55T*2*HjpwoRWqKVv?3^#%AnzyO`CCBB{1Nqc z6`sDnPgOjc4H_&Ey=8Hvo_Spn%=|lp(h&*<8mi9po%jAsP`ha6x zLxZIZ>eB58?c@N2Z43F=O?srvM?3WlS$o3ijMH1@t3ee~SUqLd4i1<3(qrlHAyX~o zVs?GB8%M@R)@#>lzs783feFTw$72xhYTGdTf_v;Vk4*M7`k?&;L^UO?XMY6!7V3Hj zFoeQ03Ob>5Aj0KW5D55wiGgJKWg=)F-wk;#V%xwwy;OQ;A=-0&Cg~jvx2F!Cz2T|D zo7YnLlREe|7IE&+uuS}C zg$30<(30qys(T(&9lUPs?Zr~&@fc7)bF93HA9pm&xtZL(?yaNI}SKhU#ji=;D zYZ~%BUdk3P&#*{&lzVfOU!Vz%D|2|_P}(7NeG%zHW#aVDg8HDY-wUqQ_4KN)zZFUf z*XH_X15)OX==vK0m9c|o$yLuWNnKjbM^M+Z;q8TgOYrYX{OiN4l=@yM3$?s=0t$~$ zQs>KiGP^d3gLxK3YV(oW6sf%yQoE1Tu1FoVkUD&%4n^vWBju^d$cL}S#i%1-c_*4@ zcc_e|1fl%O6rad~{g|?azO_=b0t1|N$Mdr#)?KV6CZy)NxA(gpR#uj=QG|dt1whZ? zEFMOXC8QxU#hy`S5o`HgXi^$ADbvrSt{9RX-eSb{Y@#7K_~0E22(Il7N?h-_8Jjri z9S0=O!w>Z1bm+pb!rS0xz2ga|O*`5=f@O}Lv5vyZZ=t)uUqn>-ZTR0j4JGxJ=!0=3 z8YQ19Ole99`9?P<$t~qhCnvcnWsMTbtGbauM&>6#HicdDl-)IVT~k8-A_`j))yWGJ zJKy2!Dc&*-pEdhB zk<-n?Tn(O!pwh`GovhNCm~U+@Np@^s^=KO>fL?J0rx8|^`Fx!_Yx?`hDrx?KnR=?U z1Y%lN{ALuV4LCC}J*vXFIf~OxoExff9J3VUdNyQiZ(}SA*D2lw0`4q6s8%<-a8&W$ z2)#`@2B#3l-C36Nz8E#4_rx>Mb81yU*O~1i%kv?z+3D_Govs;^>Yc7lCZ(OOL$JW7 z-vw~xUELE!_SjLc>%r-|Q9$rcKw+jKkjI037b2o`A^`PzlxPl)63L0OhBTkJ6MK#} z9lLd5i)_~+(~@maA~ie7LE^x{h>Sb+2kEwHHDX7p4U_qiBtjPG8AS(y#-xK&9GaxCV>+|Ra7TKT&x1s#GY7RD zG*k{)g^Q6-YQ_Y!d-{Yp8vTy?g;R6!V4nLM04DTiVBo#uM~MfxzWc5pAs!ufxOTpb z?MMjp?&_F}*)lM|TnM*)+E@i(a>JZA$JU^bY7)K>d3V_{O<4v?q}Vc?7ntU81y;M;#x$R`7He-jOV)6 zw7D9@Xx~a-$NtEb2(z!H63+p*B0P~7%gAzg!Gds!=gAq&27o&acV#FM*E)7)z;#Q{5S#DM?*iUVl{#08 zp}lkpxGKL7u6(0lzuf|(z&wt0cxn7GIICJ3UCoIIxl$SFmUVM3g>%S>Nt-5Gno(4! zhYx(UARYid^a0`l;Ez5)JOF&;1H@C5N_YCnlr*!vRK3V;U>i{1_oO zY?4|zSo1PJK?K_XUR%ExUK;^!Ij7nTZU%DD#Vt(Um>Hh^M4=>&RC@;$kw$ci8kT6( z@wIBy_GVpkDidU}*!Cc@=*C(nT{OV^7_5c&fW@N=yn7f7)|<^!4A$kjM+vcf?2AP_ zQvFX7VQ=5wv$gjp;^keo=(;x8A^il{7uZ-LX0Vaok@}3NRt9`4Yk+M56UmoB7Y3yF z7r5pE;MS*mk{P_g0ZH?@`E(DyDa6PL-cme`imMGEbhvi{{WjHM+@taXa}k)x6TV4v z8abfNh>UIUO+Ct7pKqB*%Y-H5#Qm?=T^ZReGAQqSw;s{GH@gGOkN^ji0<} zdfepo(rpLHk{_pk2jkxx_(xkNJ#NyGeJ|3}HFDBXK%eBv(>&?%0{~8LPIqlL>1Yj1 zI=1gtB97;3*`$SVVQEcT1UC!U>*E=Hb0!#d&Fhptiu9Ve=2bf8tT4))Dt9{s&6Fd4 zZff|+%`1}Zv`94fK7wdc?d>pU2T6Jw%s_~cM+3w*9A9sSa46S9z~E_+jp6qc9rJ6X z=OvDOw?5sxbXRCNtV#f2-*3iJk*;mL0o2kt$Y_9|3V+PyFsZNr7Q9xjpReH9!umU% z`H-6$`QSV}^69~9*)m?06kQnIgLJ8eZDNXu9LaW%BZ3vB>n%bV+S#)Wg;E{UfhO)N zL40-O@bPG^{N$w5zYlmvB;_$4e4YV5OSkEILYZ+cp4q(}Vf|#rH@JW^)d>k`J4?#j z_h%xlTN#E#vH){3M3BJE6-dtqez4k5=$3xb6D276;5_iveWzo7iHF-t=Oa)~ zfk|IKlpO|=WtUE>oP+~i;3iAIMVZX+@Z6rHd zd^d47@Xsdy-g2PIBi((x!y@l=Bc*o~tL6iwz#{0>JdR{|#{e?g`vYnV-(Bz)Bh->^ zPMbxT-uHH-TlE8e&6(As-o$-OT&Ot~7=;~>`}?4Rllqb(+nhBkkYgjJ9v8svX-+ri zY?7QN8JUIA_jSa<9J~ES)lzO(tal|*uHw%(iI*-+gP^X4w-K7R8ZqZxL(I7l7jM%X3t@ZL z0)iyh!RdV*OUUWf`CWn~WaN20BhElXYIT0+Fd}JgK*Wrl_~_U0=H%-94nZ7R$}j^3 zoj4}3-K|g*_;V85Cr*3J_m53H`j+}RzT#e0;#_GTXMit#Q~M+g7F7DIPh2m1XdEv@ zG$-?BB{Iba-=x4d!r#-Z0fQD*$eNoOogKAl8dcF)$hS2XlAKp6PR?Mluh9E(Cg)0} zOWh_DOOgM1HS-tw;fn&u-Ma;pdq=BC6{L0gEx^5R<0l#=wO6l7rvbC-?=UeurCW)8 z8-4&}&1s)<6I`!8o$X8Kkh1>Ep2(~Bw*#*SCce|pPU(7gAgn9I8vZWA-fUE*j-kAm z+O2xwd(6Stfy?-`qi7yhztjJHCZktx%joz(U2{HUQThR5`4%~`l06;i5Iyo`HNNx+ zU3n*PNCSlcLM)e;`#r#`jLuBtJJPsgNZ_GB7$=DTBU{_;?WJaUOuFSTXG2*tH zapHEEE^#}}cyULYvEq&~>x)}&N|+vu@n=t%FJS^X43uT!loC&eV{+o@#91Qopi_{U zjM-X(r3X+@))m)<*|#nL@7h;>LgA_RL3p9-q!ejn?mYwmCf043I6n+8HonYfC@A!l zSq;~pPrn_XPg@GNLk>8i^9~RjopdH=5@3Zq=>CmKY`DA5uQzwR`;nV{O#-$NLui@e zO5dYpjM1KO33ERwnYak{-q%?NA;*;*3N5346EZ730;UHD61c&|twN>F$7m+Tqr@Oc z;O07DKxqULsMPz|Edf1(1TOScMpJft?f}SLMk3cc z42)RoXaqJ{5#lE|XdHX3vgsWGm%DT;uPij%ZYh87dL04#FK z3*$1|epBg(Xa)FuDKsA$!2)qw$x)0=&~86sD|r%W&Gl&4xGq_`3y?M%2~+N^?m_wV_`k?#Ao4yo*@{m#!lk4)l0@Np^l zaF^Z-E!Dc(ts5s}H@|E17C6SpYu*;O-K-L~!~90vPV=U?qs=?wjxoO#cdSXH!LQ8K zr+YKzSD0HCQsyN%4OzVvFZYSfKLAmgl->f@E3wa$?!`Bg>&?cUFkyUPyK6`DrX)_f zct1f7u6GxHO%f$QDu0mY`_gZtESI4y$zCi>VB!yBwYB^CC!y@*l@qT3P+e<%vS(wQ zbwV!IMjEa6ugwWCIlQNU(|}1LX_xsk)oEBgjqmyC^Cho(fl0*bZwYBW!OLAvlS~b=M$8)Eq$sz*^^7=#GEM% zYel@4mhCIe3PgEnkIsjCdDxbo(YDmi7V#Ulh@04!_)&Bj;%`B8&uFvtXlmR5Vzwgs zKT!I5vum{Npxtm~JCt)O@eK0&2J+LELM!hA);O%ZuZ!Dmt`xV!Tp@0!xk%j6<`Qwo zmuHp)@tArGTro9+WhP0lErZNT$r-zdzWX}aESpn&68;z}wCD%b9M zd)NrNVMK>(GHf`xPMmOznu+09r*mwMb*}dy5Zx zKrW>pBMX`sPMJw@8(k>ug+#pHe-9=7TUN}?teDc?6ng0$02D0fLlH7ru;?8FzM5b~$+yq(e$BSWVKmBmzXwgcm*L~HRB1DhY@;cA8)BY?G3Gc7 z6cgx$y_}z%EiCl+akJigNI!Wb>?-U5{sI2unv%y%dK<5GU>U|rN;u<79cyAuD8PPt zA2g8LB5>P#UVM~_(ZhCYrp?>}Mn#un55P${!}`lQeo=oM28myZ`skq=QY^DQX*J1?;zy5fm~l}cBg_-)xr4=`0XUWeNGFaJ^Ye~5x3aMoobemFUOH#z5D`g}zw6wRJIw%8y z`R5<^J4$UV&PjHH{H{TnbgX3`$cX6LOjbqcmJR@O_^PXXjomvG0j&W?@<>aLl1GMX zM0WLKIEu^FkI`VqjKz;%U%xwV15@*Q**Y(6x}>PW`SKwfqTUWx)}vlIitreq#rO4)otnbC z7qz0r^sNU>X!y2gW6q2NYA#rno9oJAx6^+xc+^z~*r;-WYccAKwk&66l!brJ?mD*j zHvJ0g4?z=G-k`p8aUk8=k}Tbe99mL+zd;(zpP|lC=rZXyrNV6TGV#Y$;7^E!G{!rQ zC(8qw=8TMDX_?eSv!T|3l{ca(wK{zt@{s)z+FE9JNVGBnIf$ve8RPy8vI7JO+}sKb zSoV^C*4&1W_b|BjIpUP5GSVloISKrQ1PBtixgALwEqYD~JW2xk{jeD=T!(JJdIH~{ zS_}!kA^Xh^PPwjb)3JuCbUY|`-zm#swsL7IOXWhJZoz#2ihRu-$StZ*H-ao%AWrig z42QAX);@4%kVMahCn`Iph!92+1J#;h3XIrBGU(PL9&LQ9=x=^fd&;s7WJY77iq&=zP1G~UG? zp~3Fmf}a2lPni)d+b#1Lm@EN`nTi5PkzlqcTy6b!&43CFDRXU2RAF3~a1#}jZ6(T9 zEiG%-*}CQYN9xu)3gX0Ewg8QZA)Lz#qfqX~oR^2=FQzo&Q7^M0rFjf+fGWn#GiX*x zG^?aGE170x{I;R`aZ;l1NY#(Kn(64Zwp~~x@_PpOy%GG1)#+;_+SM`kW?J@OeLul! zsV*Jr7I^!G^vG{B;Jy;fKhG zcFiBfZI|i5%4~<&U>GK`!az=L!WWj?rggdAD+nnp@7)NXHvoXLi0>5Dn;B4IT{(Xe z;d)OYniB}RGAhUf0yB%JZ3Nvgf)mn>P{@@zS_Kq>*;s<1RiM)x8@VYW)hf)5k?D}a zMRFECR;Ei9&V{guDVZB5bEM4j{=mA-Y0vg2Ec2cIL!g_46&##C6nV_DWkdY_E-Y z)lWJT*m@E%c*O20B5)_lH9O(Ahl}{#D4O&qyGr_Wbd^+QsPT3=CNX_KT@PjXA%B@0 zs4c^}0Zr$XnL6_iluK7OV1WdtzS`kfQUsQnMybj&2g*x3UE#uEwB#LPwA;viz_?8m z)OZgFb$=q8Cswo2eiczvnozMa>h&=<4juyp2|PB8pk1UzCx07q#Ro%xjx!6Jz^T_> z$F(0C)Li@7Ox$*}xwsu-ZQ{0s*&C%8C%s6<6UR(OdJZU#=~Z7l)By()06Pqg{B)>a z0aHUiqa|!gju!hL2Oon{Hzmgy&K2+(s0eJV;k+U3Edeajj)H|CmJOqB;yY3{+Q$BP z0~FN)>Iz1BnJ}n_?WvOC&gJlqrXftzvx{TIAU%_o=pY&KAzD$#4!Z3i;kD z`O0*J*}(W>Hh6s$am3jcF260{h(s-K<}9C2*gp*!GX+VcU4Y}W!zeS0a5g4dZByt< zAO9+7-X{67wv?upi#53~U|fw8kM}PyRcZE{%5>1srb3XwrKvQCU2a7{*<@L@SWC7Q zstuB|#^OcdcI2)3(FQ-3`CFVgkb@P9bg#hvTC?e{Jo1v_uqcq2T)}=bX8c}JEbF$$4DGV z-4?M98v5wT!xG3h@m;n_DWZ2AP#OxOvYrPI_O~cOK1O&JT)RW{PIQM#85e7*5!R-! z-kF0{-ycTRw|~E|A+cVszn`^3qT>+tFT`5Uvp@gSgD@=;D1Kt`J|~x!EI4-3-U~|J z(&7;dN`Y_h1@peLpx871*wPVRaq-dfd&cj-pjbNEJ8tW#lP2@Op7A>@UA$yzalzKd zEm*pwIB#*!_*qNmFFyK+-4>j@ueWHyaa+&dVvBj39kJQwQ>IVbbiw4l=^G5rZ0T`J zjy`sQpZh)wmN;N)JpS=-*32FGf99dfu6%Ucd#^5k`qs58-rwbpKfUtIvP>ff3*P-T0UXdJAQQXwU;eCWmqYRPvU1-phN-(CKK<&JqP%|0el;z#a-3JX-GE_I5>cq7=^gG_=j^9 ziO1=$OC+}13EL#agol4K@oynE@sGuaF^4AOA;r`N%cMdFGTkOp`9=xTM8Z*gI6!H9r&F8#geSWIqj&; z*DjmgQQQ*#^Cfu&lJ5H7C9TB?v{Pc2|Bl>X>HQMK4*8;p)#4W8<=Sw&3+nR($c?f) z4lQ*FTH#)aBhhY`2yC9T)(z3P*Mi%%BUX#sJ&?i9pD&IzWv~a@BzqPvRwd?qF{Em7 ziuH)Z=vV&`TVg3E=cVE|JZvI@F3dD0m@Wh>D7eq5|TLf(j^jAnN~Cb@l9K zAtd4ZzW@3E=P^9XJ8yMWb$3-y&rHwktn4e}vGo>=I+WDtM7942M>V1yWuxc0)E@uy z43mLNo@^YV@z_Ig6i-x36&T~Kvu+OS41W`(FQaG}Mg`AOJf~&g|4eEL<%r#)pmI0_ zZDBOboBl3=aV`x-n7YfBodUC|C!9qLwEvm26LsyzlXWfJ+Kve3SXu|=h`GG5)>!2e z)%JEt99)LP@$T0FLA7bjqOaf}Eu0CiBNzK-J75k*93MTh=^rRX3`sW_J3}=S2cB^- z$ilxIyh|YyIk3&Gh+|mOu;=IlMo;9I{r5$qxF${)Z)H;(7`8bT!)_R&-Qb81g>S)0 z@BgWj6Ggl|4#5$lvH0COk+Y3(77^G!=>3KGp*%jU4wc{zLzhOPOJnh|lCjhUCkYYz zdhv`-RQo76ipUT<;`4=}$ifJ0kD^In!_cB^Gc$5C$EM|u%*alg+-ORDQ?+kK*7(dq6dFR|tU~Q` z#-?RnGd?3LEjP#ds&f)w1(exug-E|ynd8PqG^$cTM-ioLdFF{N3)H|}t6i9v0-Efx zmgjL~#)QnYjI^xG>=C&m({hHVW#ocnAbJw5vm#ucM73ZmPoy|H$GMDbW#O9aF^yX} z6p72p&bls5baO{$rcICpO7qIv=6O2EIBe>h@@ko#lbbd)Cp$M|RCZb|Sky8VJd1*5 z4N+FMb2faB8kUxokv(F3#)!<8)>{)Nw>1w(IJuTI>q>^&=#1Q9^3ANE!R9lgI4rT6LM%s{^93(T_hOEA+ zekli1G;q;1E-hm$a-Wrzb8Y4@TPKgA8x1Rr&bZEoeMsgA1n=5W7#%!JxPx`m#%JT& zj4#YG>!u+ZLvylnvePoMhlR7{qHZn5)lC~VYQ(5qVAvEy41puB8#6L98yoCnOy<~8 zIm5=)H`f-`5UxAy?^GIa;)<`+%$_6$|5sJtWQwjkGKl||@vqz`J9FZg%%Qm$9z#cF zjLpE-SPa87*)L3$!ir@#!A{sGdu-;=oDtchCc!~w_W03m91gogr{|2cak*nhWslH_ zM<$6Tjl-3VtDh!A_P9}0?aFF()2h|Se>`Hwjmf~$fedF1p3$Q)NQc$O)dIfjUFQD> z>kW0Ksor|S8T(^zja+kh@6($fcz?vG)rGA+Og-&~5BfAb;;lg>RO+_#%?G>f?76Yi z=e!;fch{Join}IJC8K2{UYB_Bj&&W1vo>*T?zK~2j>l0qVvPc~mMIl$28FFvRDeEi zU3hC2v%t^C=UmwE`o&UgpKJ|dAIg6~$aoE72K?|k#$~W=jiY~2YZ;frc4lIMbKw8h zGjR5F;)R>zFY-@xR`=g}1}`;4F4Gh*ZvU-koP0siEj@5_qZe}A(#VO% zJ!4qJ_2Yl*84)Yzg)fBsx1Le>BFKqmn*Y&yM)QK}8NBQ|4l^A~8To%+JsTy9*}bqe z7TdgAFUNUK)oDi!q834O~& zFZ#ew7A=NCje-iD;eG-&jq3V8P%Or>Q95pVr4{to3oRLq3OPEq(i@=^)hb)yBC`<+ zWeR#>g>1s_O8>Vi4_GuZzhKA6dYUaw`Uz|3+M zI`Y{?H-EO|qdhCXdiB>U_TQA8@On~%55FJTc>0%f+jf|9Yu_b{QZre97Cu99 z_x>+nb$s~wL%#OL(|J@M_&jdnRzNviTmb65J z8cnHY%AL5lzG>+SI!E=O;H`>rLo>!?rj5hR-puTwnP~&yw7$8_*?L{o-uE7fX*u^g zSd4|mD9rb0bX13i=jd&=A=jaBY-UzQ?kL0nU8`^UbQ_ziOl9I*I+NbP!cX=exn2!B{krwRN}<~a?UHEzZdzwFwrevhT<_)^Y8zz%r8y?QUX z*E5bae!M?GDF-3z(~FMbWovjWl&bT=2$(o8NPo-)ZJ%jCIxGo!j z#;?P@11`^r!Ec@cd7D3QAsjETq6+xnF5fWGrelWGzDBC^xHt?J%Z2W&OM zr!-B*{{!#|(0u%FTe?cOLi7r@D!@yK{=(LK_>`tvwb4&}0`wUEw-&KyxvhHGO2#Kd zoAJN3ZFe@d@Ci{5-3m}1w%E2TJ%Fv-@d?lqDhtp?Z)-ocxF2OHSjXv=$Cj1V_henL zW!u6pkKnBkoz=*-0PiA{NG8+F#`x7Vd_siZ9nt7ssapXWf3CAV`&MT=(A)Ya-q2Qj zl4;E8Mj~F8I+r!t`kTueskbz}evXj{m8O5rH5%QYn;B_yGF576Z9}vSThs9=OK;$R zjzNe%Q(1sMJ>UAPKwVqgtq?t4*|q9R)Mlgm#6{Li1^O3Tw&%f4PF5dVR(7?@Li854 zIF})M*OTq^w)X2*fQH}^VmpRzz?K~^?_$f27k@89hkF|2?Obf7;}fFtX|8>*VvGA$ zh4%J0v7{ms16P)B?M^kJ%NY3aePw2rrRjc!$=Rye7siceW;G1A4p z^mt?i<1IkLCK>99Pk^R-TlaWd&v;w!d0RhvTmH$;HqG0@TXWRk<=)mfZ|hNP&A}%? z-{Ai(vc)grwp*pJWyfSqY}xj8#a0V^9yEjTKmP?N2V2(5ZMs!~9`j_Iu*DVu`UwA9 zf4_TME$}+-diVsW8~(SYx!AHXnCfjU^R^!Kwsv64w(56mS=+`pxZ2Lgmi3Z_E%oe` z-h(Z>pW}tFvL6K~cB<72(V5t?GZ$Vgt)-o`v@A`=mfho5s4PIgVT;GwZIm$0#-%J( z#FpJF7OR&KT>u$-uI1~YdI6e;E!(~?y{&Y-vewGxdRxDFTYr07G1Hx1$lGe9TNP*# zwr;~GKyTxJo1@of*u6VIA7G33iU2(_(?xBwx3$~bI)W|k+l}-rUTVsJA)0WL-9tk( zSGOkn?#CAY1?W7yIFMr>qD|f&p92~1Q31LETRa1YXr9VKv>sba@CngOynKuI?qvE6 zZ!}y17NTqLvZqe?gy=%N%E<2fZ)1!7g{UoFD`Y+YxXA9w0SYX3aY@syva|(ToR4Js z4qNZy6QIBGKab92s&Jp3*OIA;ZZ$DiV2l4kl!+~T9|{)FVT+>?qBpU{vjA#aYUs%Q z?5_#7IBz%7W!U1s{XRD$LbL!fJ8%5@fNS%VWv->`v1N0#*^_P6t!i`tTRd+BsKRn* z@dCEEE#tg80<>LAZ}diDh??N&ycS>14A2IAwUXyL{UK=LLeyYWeZq_IdU zK#Ic)B&oP&V4WE%@#B1Clt_?#(eYC{O%cfwNcc>rCUrskxXnMP#E(merK0n@N>Z>e zzfvUeK6@UOg114xA(H8k+=@>ME(*RB$%kP4^ll2SA^sLgZJaK#gx{fen&B4m^Bdjp zNx`?9>xtxUuoWViOPxgWl}h|Hp9YEKfG4?+#);$@B;|1JoPzeSBan6o3xEs}}> z>j%F=VP=RVO(iM#9lIw)(m*9Ok-s-$yk5W;#s(zZp4Oh9Yt2@XTnGu?^o|xzHQ$P4 zkxKY2gU3X&%+tBsq{p(K=ONi6R!dAXk<^K^lA83C=@;v2XB|I10|{GoRGk!BZw85E zxF>nZOb`iP!a_^%NukYVj!3qv#82;=hhrbW{`s{^h(0kdh|Zs$j+4X$tsg(_G229^ zyeIj_d?AuEJ;{D^SS07DB!zx4K|i;-lc(eJH4w=tPZIBIFOq9LNg3Z@k>CZ=(hEOT z^yP}=0Z&rhH%BCR3$WM3O@7d>@G<81Hnt_AX9C>QTArl8uZl>Tdy*l(#vL^2eT z8Th2oc;9f5Yy$gKBvXAih@@i3O8k`XyF(;rdXl-mRU&B!NgI4>(qiA{fQtr8{InDj zZs8==Nug!F_e3&JC4O4tJ1CNSR8o`HtmbQ|kkd(tU zZwijOd7?8Aj3qVcsBe|$nI(RF4P%w)j8Prz&M|95GTW0R#Jnw%`#eeMm^~tSLM52l zV*V7#E1phOmAvOkYR9Amxffq~k_Is~L~_`Zw2EmblK3RsX3S$TeMM5)lXQu>S|m+9 zNspMRBI)8uu8dhMk`bO{c+6Un%{4SF9p5%_0^6}gY z{6eur)lc`t)D;PSQ$r;W#&j0RU!LUgn1Ld}8?UJbJ}I;@=30>qSBalKi&-O*36RVY zoo`|`i)6D({Iox2mqGW2e2`;-^@FWdmXNjbtCutUYk4Vn*BUyw1T7;J}ERMc9=+RRf(Tw#!eE+LQisM>_U+|2nok9g%-y?Dw3yF;-@EL z_atzfpH~Udv$4O3&K6I{Nj~%>8)JQm+>6gtl7jEso-UGop3d8`bwqN|lkAA?oXB+@ zRSBQL3=*A$(zb;-?x>`cC;2Y+8qwjO*{Ot2O*#;JW1^c$SmLK&A>sB6R-F_&96LuO z;~?R_`zgWyf=H&Tj-OKeTSaoeCn@LuLL_TENxJ`-NIvu=wf!kcT-PsHO{Ym14=i zp2P&Kq#Raf*$US(Dyg9o?8|}GVujZ}P$zs+s9#`{NM@5L8hArd}cwK~_SWU;3+H*jVOTdh_JBCnFyRpO^5fwrRau_sv>=p&NP zAUS|f3OyPaEs}cWh%UefXO)3lL~;#SK0Y(RaK;$-fJg?aj-Sqt+bojN zp4EkMpNV9Or*m1HDb2Od^CW}fP8Z2C&+4kUb42pEC%GXmQzS2YR-a9k z8hr2zbio>BmIC<>hLhA33E$mtk~76mTqQ&dAN)>i@T@Y^vF6YTjQ{*}LGV1$;qwiv z!;*qJ9fLhZhvVE${B#QTiPE_=c$MgI>5K|KBs!cO zt8-28i71^(!M8+*^JR6W1mBI)nHBt2bU1^zOPg;DejlZCYw%yu;hb8X+k)owf_;A^ z*!XnL1!vjnJQr*irSo#IpXhMjtMd+5_g(yt$a>!Ngi4ZbHjNm#qII==-!jMDih_@n5Q^>iryK$K2GeCe{> z_sX75srYhb3&y7$UUAAJvl?{H!H1}Pe0{OXQHft91+CKKyNJ#dPp5kPB~hO1#*Y%6 z+dQ56@mWzi&Esc@&VA6aJv}e}rYN0u@k>RA@7>t!w2xmFrPC#Tz34pW>0BKDY?Mxq z_;*EzSA?yfp7GnFbgqcsD>`p@Is@YOMd@V5$CTr!?(lR*#>bT_7@wT@Dx&kbr!yu# zElOu%d^6GEs{q@cN%1YCbn@bRSRM6KlcvY_D(B{2Yc&fJZqHs%=f?N}BH^nEt8+6X z1zUJ;{4CM=)obC3_<2z}kHkMHI=(8-&!h1VN9nAK-y}LAPv@EVSEF=ZjQ>n@_)5XH zXJh=XD4jRs{}i3mJwNZp{~M+AaeVpm+*AB=j{5l|zGC@;{rV!lvFOzDbiRr|Crams z_%5PT$J5yt-!)3-V0=b-UTtpV=^Tn5Dpu#KB+>s%{HQ3aKjUu@olc(BU-5ZSI68jRDLPkqb)|-$j?yU?+9Em=JU`__Z$;@;4dFf~A~xC6Neg`)rE_-Z zAJLiW)m1+fb4J0aHV;)ggZ9h)^N9nW+H5HxZo=*GFxluY7g*uAP3!V;33f9#v zG*EPQcse~o8BscyhjK;dfTzgXJYp&Fudwb#NWp*m4It3n+_C)d+?IMgXhXH96J z=;V7kYeQE?>8uasiVj|=snOUFnh>S)M(7^V!EYj{&O4!{Q93(AFN)4ePv?u!t5G_K zLifo=*LQ$x%AZ67CS4L!M5Hgu9}2+9a$Noqs)@wh50$ z>2ykXRdf>5T%0>6ydI^~BVm{5l=pOcCVU>H(=Xvy(W&O?T#;}jN+%;Bu@c9*j;Avu zA-Ph)IFC(eDmqO(ok8wq7Uv%<4oplKxN9k-#I3zj? zJe`*ljzsCam5^MSW4O}Oc_*QC<$^KXo={74p7C@(N;oS@=c|NHqVuY!^L@glQ91__ zhKbHr=(@1jcSPw-OnkTs znj^Ei?fZ3!k3{L*miU?Y;W?ajwg>J>{5DGG{={RV!*jURS)CZHTCiV_Czh|uedjsK z*0mwAdX&yfi7l)0IZ1i1&6^Tii51VHY;`!WDeYJcLQD4kytpA;RQ z)oty+Ca#OpiB0-cba+OxItfW%M(LDJ`lBjGjAtaZs*=V%t?#ubJ*iq+ z!D!S@Y9Ts2BiXvnN;)q}r(sghG_H$hB&*XXsdtpl$fUQ$56?(eXI#>bD4j`3KZ_2} zNLFWZ(!nU58A);J+-9C7tj?^YPFg+-dy_5@osOQ)qNKJ_ zI?Iy!icU{2KFgCXkJ4F_G%np>B=D1Wd@j+5o=Tc15`HR=CAc%2bVK?Bg!eJ1gy_Yj zWun7R1F=qLNLGl1pE6>}CG=9#L+N~d!A~VwKQAXen$Bx8{0yL#yq>gPB=}WKm26IW zNvz6Mw@+*MX-m=p@th6`Keytiw~~&DWUxx+#J!hPxf=IkrYCtnslG@a@T}fXY9$i< z)~GxO;-?Rjx{2gfPx4XHFp+HcB%dT@iDbX$=kuhA)i@f*Ac?Pm4f--^n&_Mf#u7gy zGpofIeEU<%c_r|>q-A1tzUtu37?5zAdwEtrBt0mS;SrL@#OlTftEWWg-Uyv%MDnO7 z`8nxz#1r?%J;{NjtT1%#q;1s*+4)r^=hD9{ftA0e%|%P{C4VkDRUolr z)tCI0NE)e5YYHUq7ppF+(+-jYA{nESjue;tt61IbS;ZwE5y?8$@k0kcoQn2r@g&K~ z6|3|3`P`G7mfW&B&-{(~@f!SL4K2BSb+-E5lax!oP;`R$k!!1SM)JiXX|7Lv;hCJ| zOGNUeC#jfxsrYGfqqC}%+(UGp@+4J~FB8cpvz<=W9k0mE|Ld4Nz3G!BH7|e&P&c0$seAiRq||+j9=*doS%HNw5K_KR?60XLGm2Yse)(X ztfX!79U|%HN!lgP7s=zEqO6N#UXJ}5Pf9Lx zlAg(rR6h;mMwR^O>jg={ap)xBx_T!+7FBzn=0r^%)bvMqoYDciQ!5 z<6f>gm-2x(K>ihQnMtKTfU8U+I;{@o0?4ZZ*8y7qUj+67z5&btZUs&Rz6YGId@XQ0 z_#28l6|H|mT^r+BcVE%<^n+eD+H*57!-pq8fy03%^^??upOGuM-E`PxqaU*cQ|TTc zw_}OQpH%q^B2T546*nust+-9`BgM}Y_b7g=xL@&*;_r%oE5p z6>BNhQ*5HxLh%B{3l%RGG}HsgaUY<3i1M+*19;G!@Z?P2X+hv~z$C>of~k}ae8-D- z(RrRLc8DvG$IWAkTNL*Id7S;J7~jn5RR^-XxZ}1@3p-9nC{6~l{ahf|TU(9eC@o?gBa=S+K8}v@JU;YJoSJ=C88)#+oSRTmZwu) zT@Uyv{Ipg)dEAe0$2QpgbqejjwGE!qh&8kr$n(nz#U~U?+Kw%4@n$vndl$(5K2|(c zeX!n_Hdroqdj+{9WMh{X?q?OOr>Xl zynnm^a)m*KlN$bUP*RJs`Wa0&9iN$l|LP9VqikYY*m zU%ua|?ccLu_cz+R5a^3H^bnBS@uK2;iY09i^~X1r;IE{117X+RvnzW16nDJrfM3qv z9^k3$7ZnFYwyXH_AIEnR`or;^3cL$`W&&3LInK{2y0~vuzE`o-K&y8a@Kla398dnf zbxGs2`brz8wLp&B^U7ZqZs;u_x4)$M&Y6;@uj%O||y@wTyi#vXlv>jK#&tb0}#ozxvhuvv-@k?~Ojuz4` zd=)byZ$;;SL<#j>{~v-K?^iDZdEC6Je5dk~#%JtsoR6cQCAE71b~&D1(fy4ZVcT5^ z$nCDC{5<7tm0zZOpz>>#Pf>o8@bLb~=l}O5^qsbHl*LB`Q)w-5SwbqsUPbhw*UsYS zzd!6^6Afho`MheJqRYcHaNfV>Dn0OF7w%W(I~{BreZU}RO$xI zPE4g`!21)!`o3(UZO{)XmKJpJE4tm4pwD@&1ssL=HCKLN0YAkbN3l8hVqTJ=Gk`&0 z9bgjhJYZ?yrNDB)QNT*TYk}#&+ks~S?*(o*;r_*s#rFY{u>Pu;Dws;A19v2)(pX?H zx%mBc6w7w;FKIiUo`m~gr_fH`fA53cb(3xT<^wrzu6_3^ckNrMyrk{p{_}P9 zCD&X3CAHrOyC+Yfe{Nj5ao2K+t>2B)Hp*STIx6o9d>{2?06A}CR9@0{C*FYT%Ts8# zYtLJ-=X`7fay#}ZKd79h+VTL9%gZV+X*)Yk!}o$y+Fkr=uWNzwt})@b^LjA%^HRt;4g-K3_mYmsUtxCu z?R57kQ*W|<-Tld$;Cx&^AIN#`C74Phfqb7iM-X`hvYxHK=;MXEzgFkE&@pjjxC9UU0)DtZ2>M4Fa>&?SD$0^v|3A>J`V7CQ!BRspJ z#}ThLbDmvX+<9&D+iiZ@0eQdb20WGhYBTI^_1aVXxb?mR_vc`DCGdY^9<%*RrJeA1 zD*gBhcCmQ4sifnk)15@kV8{L8I9?9U^}F@aE0qria``pFQ)!~&R4p&=_|BMb{R{{4 zyfj)dSFq&mUkSUhX#b-?&chbPZ-Bi2{;j;!UADXikmVOB4py9^xK!~q#oa*m`-k$> z1(w$Zp33|+ZV|pQ<>jg9@n77yJ_^65G9P{myER^Wia-9FEyjCeVAl@F=(lRb>Mwv!sid}JaQl899O#EVzOdw#a4>l z6^8c=-#+`&-gO7ApW*UKbdi?~1N}!6R1xVa1mecM68rdHA`*!Ke3~ zcJ5;qTMMSrMZnAwb`;-k~|8G2vkw%TK=b$r{bi;>cs(h{yZJX`L3?mQ1Lt<=eeVzyI$)DUa>;KI1NC* zI6jOVA4ZPL0K6`{qbJ!Y)^8U@>nEI-w;|t(JiMp)fnX}_2EJb* zmD=pX^LrJ;`uBl1sn~bg3PG2*qT}QG`3UT|pYH&hS2VN-$n(kXKpscF{Wg!~fO3AT zypi(e$~!CXuKY^n!-4JKx1{-wKF;#_>r(VH`Dcr1f;gT7S5{1=`M{4O;!^4W?!#8< zJMA<Z+rzXm~Dh^V-N%29&cNBkC3?8)p>L@l->;YVgxLl=trs6`y zM-^XH{7~^nU|c2q62T#Re5jy!Hju9eTPj|vSkiI2=np%;JgMmVUs6BLF7r>@&WS)i zpS%gk@m-?)5g?y$lyrRjd^Ga9x%lUCye`%g@hfS4u0MnRvirqoAl^zs*8y(^y5r!@ z;Jp7V7Ck%%0p$IrVEhVeZ{h1md|&L5|3SMe{%zZR4)87b>8!l3;y}frf;bKWx!u#0 z&ryCSkn>l({v5yl!^i9W|AT%Mwr+IMzyGs#xqP}jFI9hQ6<=3$dHz)Se#O5OOOcWI zR8>4rv6teh#_cF_QK7OMw?)rmuALk4-8Y`c@hbs>yA%&7#^bwRTwY!c_I$aJQLm|Q&PK5uuCt} zuJHMR??<<(g8TD$c9#2b8j#~xRk11XLij%)*ag@Rcqwo&ko%tvWV`Xe-bJ?K`2G5K zJWI*rD1c}17*A6yX&hcxyAMy%p6@Gsa0=}ojc4}`!47Z0mU!d?IUanR;rPr|K3~h1 zD_;%d>$K;Ad|tj8$miuBEAsg_9}jkev!A^{@hcqnpHyz}EE>!CSwPk+ue_@ArpnI) za$ZXs*V1TP<*LrE==sClCs_bHZr6Q4Zr5_t)TtisE6f6 z+lS-D^AzXNy)WWK^V9&;!}C-Ikmsr4KsQgh_dD=Bb#+vGR-r%apX0)Q8F~I=Bl{kgg7NcJOOvOwVpON($SwCEF^f(LG zmx*I2$H%_kreHrBRYyKhUbr9RUG43AaqRmqcwUIia}W5r2YN$2f2s6t+sO76K3=(B zJ*tPVza#zL6yewPpRbFG(_Z`j9z$!j{q{XRIA=z_qTBy+M7vp^<7>xD!Sjz39hdh( z|3kDtvfanvkL4$8r@g+z_eh%B>-0$bv>K_h9&s}JR#;=^^QTC=mat>_$?ROc_B}?p z-wXZdc=Yz_PnGhpzryo)2mB1Lf%ReF)xZaUV}OzETLizX$MI!7M%F8i|5&UYza8ao zIQ+4^IQCtk*An)$+r#C>@yE}*maAE?e^e##r>YOTpS>Z}i8VUzG=61H0P5bwD>yHUe)C-VDfj z?h0i8{eXNOk^|)P?8rQoIuqZYhn(Z#&a>D*bN0{3{u$XnBl~A$|BURPk^L7Zo?PEW zXBKS78pO%Aqv&|J{GN}sh3NcFMt@v>xx6^-;pZ;rMzv=Q^2_q#*x!J9(vTmQCzp>~ zAm_L*SB#ANJ7_1{aok+|U7XpDS{oc(cmar}Lc z^YXK6+4lrB07m*741ZkC{`fv(*kAN<3HK*ZA0LnG`_l^gIU9bs{ABj_In{!84PeJ| zw&UxvThYGA>&6q!+iB2U3cbd_m0o{RiRIi6mWSI>_`J6eddaX~1>}C&_rVox-%_-X z_1G`#or+)kez}5vSDu33Z&Clx5&dOeoc8!|4N|Ih!TNtj{VWgL7oKnXUOcQ_L7(?e zejhN8%VCO<=lWaNIzt!ObGrv9j#adFh>Q5geOW~=KUsZ^ zaE`+5wC^7bzjx62P%yH{6ZhhX( z>lv8q&pFGU`?LhQ^Je=#$Aaz7Kz;T+Hhdgqd#<0)ofz$TxqCloBl-#QHHiO29J{w8 zkEd!MhhqYd1NXkdlKI1W6YRrzJAQvJ?7mcF-p)b)S&#e4_pccF{?*C+y7#z6`e_M2 zEDzfio_{_r@pVR|{e!SCc)Tjyz7zWWEb`hH$mdb+I^MnKaiqr8y}yyy^?06}Eb@Z& zeg!`+?(A3Mpy;mm*&oa8`XJtuCEOj?j*q)rzj5zrbn7?nxqJ71I=AlP-V^55tKECN zBIA>E_VMd1?2p^!)=TXAiECHk@pIRCe9WzSHqJqTHGms{X8~UZ^0;*G1KS49^Ub%4 zF5d3_V3F<2g1w8UyH4bKxSd=NBiF;o^)Rx3M)uEW%#e0=L5XWTybKC%|d-TS*D z+fx;BV}16^dg1YTykFNZ_a3iEKQ-W|V7m&B?|rCe1>&#<_%JZi&mQ>Ua&8Zohuc%Q zzjNTj)G^c+m;j9Qw*vmSoc(cm*x&K}b8&O;C3F3C?*nsrckcs>tY<`>a2#zMT>c8r zlgo>HpP0Q)#(7uo&Q`9`N2!4t?k8n(%ii+nh*t0ww$HMF9 z^`Geascv}u+w~zApThlcd!vu173vnhA2ZP2x~MlYUwvTD@}m23{BeB`?5=@7zJ8nl z+y_1x=&o;n0q5sW{sr=R!I)F0efD6^GN9PICa;h?3cN_u4TW>*)L;pk0%eJ zu08lf_Wv66pXEjO->&y@{N4RY_kO!bf2Y-R=QnQMyXd@@u7_uz@QL&@0qq(J8TW6d zV9|cud>!fMBDBZOuSMIRXq;xizPRJlo$oz{_VRh~W*|S;`h{X-yC$Q5F5j%r{bYSc z)-O&z4%f$cgKlgCd)zr4$n(8>&tPPItI-eEXaB6v$ok=Wj-LnJx|@4X;on+MV#CPu zYJ2_qF8sUmJJw_WtQYow^8K3o9NFHZ@K@aV=|g{9O%|h zmxG6|Yi#_d!Y}J{`&ggRuB+nuKzLE(KRmy+Zj5_8sP9rB$IHFfFfu>AP#^1YJ*-!B zJe>dVdkp$nkyycodxb>+YuZZ58_}W+;wToT_-c;u0YHe@OY0zze|NZif95xDz-Fct#6+ zml!yrrR~R4z!3U2xfRy38)98+mZ1+urqa{E-+_Mu(?+FIwb^*Lz|~mK2L1?K3oMsI`I@=GuVBgfB+7(c;V;5R3gxO{Kb zUehkRfc^EFHbAgwzx;jkZSd>9Z|>eB>Ar71Ww1Sea^E+dLx)*(@9B$d*PrMo z`{g*1XxcBZ&mwcp>d+**Inx7|ud|va0Vr2WW;Kz=4 zyx#|T=5fmT9ylg^oN(*J(d!6q-nHuq(1(A{2iMEU^)hn3d#i@m8|?2NH1gIR8n(s$ z=d~kzp5=~H|2y@k64!IGcDVDq|J{0v-aq)d>G7y>(+A_Oc-K?maT9(0du}^C*M+%* zkBilSZNPbc?gQlcz+E4?_c9iCU2Naeh;fNL@^Qw#-w^M?fS>5~|MsZoAILiaQ`+M@ z$mmxUAlKU#*b{OW=b7{HUG;G|p90&7Xlhp!i>1Ko9~i<^6{z`dujuUk1!KJR)3$oH{606q)(9^gjcVa521?Eaf3*od}w#xq>! zG@{QHe^HF@V&%1f_o4h8#Y+^23F7%MAn*S!zy3RMzBD0~R^EmDPfVqR1vtL~<^XR7 zJ_B40yzXvW&gU^#Ou{^|(9jLQlzZ?Uf8bld_LK3Rv3qf^88{BO2)G(J;`&tj4aoZL zIz9UO+>JB$T*is7*TdKM?)b*>EzbPG*XyUBTW~y1X&QYUfBgB${7Y59K}$2$#h4U*r(=KWs9f*kKLfSk{Z*D5}z zxEXi}?DKkJUTKE)f?inr2DSsf2<&}@<%57PHjAaK{)UbK?fGmhT?@|h*Nuv|3u2rO z;`>6_pMZSd>KWie&0}dJ@UiB&W(V#8?!VIR-!%qfoekGe&43et?SYe9^qBSvaJ?^` zY~Fag77^Q*MaBZTtoCQ|AF)Txev(mQ^GKd)=xTh1FwBv*dKq-uxFFL z(=s4uyjn3&@n*%_6qhSLrq}@EfbG^Re?{?KMSh-#%XbLJu|?3vWlJ8O?^%xP(dp@Q zX(qlyc3wJN4qOQw3S5hRjRigrY%(0NZxWvG`+`rvk101?f$y-)w0`aZ-lBY~;@FjV zwmKj8MMfB^cfP$INSJM}2WkQNdiTkjuzrE_HAePV=Vt5g0wDW)@}>Yikjv+N>C}2A z?;q(j40u+f0Ih<&eUmWm1b@6~I_2DG_2vRu?-=XV4v;MmP}}jGrvUW_Hq8mpRlt|8 zNvFlPS-W*Ww)+Zr;kW=bMEm*y+X4pxgA@386QFiLynmTu=Hq<$+5q(duLZmm$o_{Z z_E&WEXKHTb&!APvG}$ z@ExP@4D+M_-Gt-Yedjp8=`n z2PuYp>9+h5DGyLu1b>i%)Kd9Cls`@hbVUSTM@ckMc`nMI$1mr8qWoU)SEw}At!Di% z2j5Dk(=6rBgYTg;=Z|(&)VizK^QWr^>g8eogv0 zf`3D2(!UXWAJwMB>b8B`pnr(!(3}YV2i2o%YS{8!;;%l9i{Rf-1DdJ)fRs0)16m?jc!lN0souM_xL36N+!(bfF~&@Jfpt^Jk7MG>@(RUKlna) zBk;+}zW_fMe1`Dv;+_6H;WL8!QGOoE7b^c7ye;?x!e>&cv+=8R<^tLzd;whn-p#b3 zGiq^tGs|ayUt!u)4dJ(!KU9a?k6U8+i=liepMi4AH=EVazsX$a@vY$VOh=D@0=~#} zrmhA2b)j#BTYp!WF7yZTK$Iu`cYvP;JKle|eY?%YR8e?-@DH@-8`G7lE03>>_=ERU zUIF}&xr7ENuLFJr{CnlCz>k`4bWnMJaPoDd$KaRaJxS~@r47pO5&KK21M8uD12E3l zow_Rj0GI$iLHUnT-h*yX9#fCYd(cD5D}cxOdeU0uO{Bah?GpZ_=?b3W>qUPlzY4qz zICcsA<C7rkVb9Q2ArP+P?n8-`?T; zya0ZUZvcHFJdfT5zrqZl+IX6r+i&ALfI2C+@f|>mgy+$>(4XWRNE?*fcn_kb=U96i z?6qmj?+l8?*%-IS#yf-NE4T5^poz_FxsCS_`a-#l z_Yj=Pa=DB5P+BM4#d|1i67J$XlztTM;ysimwqSb~@1YcGDgI=CyW2O6N(;{qRzw`H z@nup4;dxXSdfwg}ZoPO|zBTcwbGgslJVG7R`|<(~alRbgyz7 z-_f)|xsC5=+Ns>eH=DkLNTpI1%G0&5Wns%JaZ$`^HmBJMkC1 zS;{9+dF4x_d;+ai{-l&&OB|uCn=vu&&!mYA3Q4M*U@Xr zgBXXkeb>=EnWFQ9Wx>O}WkgOj_8L%Qw@LXm6UCMZXAl``0Y`N4VRc zW>LZ=tbZrYj4?m^W>IAQ&@5}qGy!ShDU&9qkeCE$MW?aDL2<9xT!F6HCE6TkyK z*k68dmXyz-WaZ1Hd=52N{<4(Mr8dfUO8H#6O8F7+L*`b>RbCqN&=K(Xp4NW@@I&S{ zDxXEb^tEz3{_diKmh1RiK!0et9e)dGc3Yas^9u1N z^Lt9nJ+w%8esD3414qrhv_kn4d|dF|OT+q$zu;ymUxZZ`%XdrpBC0#U^26YV%wlS) zJRbA<5%59EtANM(?xW$#8-gc*&lB$QvxL?txA|E@>x8@f+)pWkxITA$SV~ot+x#r0 zR?2ODmeQ5VZGIl0EXy@N%P3dNZGM(f?3LEP&CfFWUb)TBa_T zL%7S&3Ti0arlpg^<0^WHT*OwnGh2!KQ^RV2lW_~vK5%3?h-0q*N z>9BIUf3C*r4coi?Jwn$ixA}X7t{3j|_bBn*>2UrYqqCLU{5?jUl-vA0MprAh`Foru zTCVw9L({a}=5Gz9jI{o3{?^c8^xAWKYR93l-@AK4DxsC7hbeVD+-xp|@~~AM+aZ5}qGy+6r$4k9nO2C~pTo61>`2ws+@Wo2jmHd;YbV zK2hEs`f273`a*docx~SslrhfQPm=O2l%;&Gly9Mf!d-seq?BCN|I*m}yh#@dcjrfM z(O~8FeD`fyINs{pd~Kyw%5A>3(re0XzP8d{Z}Ew}l4m*z~c{%yYA zr7_o9Zu9jXeWKjv>pfaJk;~or&Nli&xXaHry8JpWcjJE>{V3e!XB*9$#N{?W<73{Z zxx({<6>wgiWW%IkpF_I*GtCyT#eEAZ=MKBNxH`+`pc-==&F_))W+K2d%fIQh2I zqU){wYQ&k3NI`B;O9Iq1@)@6PkDfm%HQ5 zrPqWgEUXLi|-*?tK7!-5N#9gjt9TchMU=+i|?dI}r|DoE#UA+IL z4!2u4+j#p-^E<468*iVfbf@Ju-Z5sT zavSd$({(MG8_#63SGkR6DRbCzjc1BErsX!CDQ3<>>)*yR#f-VfavRT7^NDgB&s4MYUM_d@ zLuvDrx3;geSts1Z_cYUSvG|ko#m2E^OgG{A!A))O7XH}N zO<&=8^gehy@H>_NEWDgqsXVSNm!Dz2RQp=sX{Mt2QF&wV+P;cr;eA|Re(-!LuVj`g zzeLI_nbu3Vd`57flvg$#mFGx#WiwH@%U>09_2xQlCP=>-p~Hr{*h)n zEM@NUnQnS2xA{yrW0c!`rkgvJ+k93tOD)%YRyPl6xy@&F)BFL#pIhInZYnLa+~%`} znW^07vxe!qoXg$*QPa#6?($dD{3zV!Z?&(cnZ1JbUH)pB3M-l0{o~5m+NPTD{NNt+ ze|YR!rmpZj`W`$RJXiVO!t0ptl_$63@_Hs~75mE%o(Z028kk(=jlgUB8kn>PZFwsx zZ)j>O?m0Mqa?RJd<`XTq`8wB(Ty6c^{qJ1U^%2W$zM7eJ%5A=ynd=|r za+j~><^|y{U(HRK$GF_hXU$EU$Cw|v`-bHyA;hoF?$CIeC1&uG%-#Oi z&15UL`Rr!qD7X3SX4WXT`MlJ;V7cbAyLnB^Z9co3-cMQoHlN*1^L3WneD*L)mD_yw zFe9JlayOs$G`YgveA?4Y6Ylcc(|jV_<~QCC{b$(T<+ry9tQUVWpO*6XG0DR7gL4qC zvi`oNtnfTq0A3Zmsq#mKUv4@o-zfYFGgR$&fYI`guDIiO7q&YR^RS#gUtuZZGHxugUW4w2Ak8Kv-&na879qg z&Cd{1Tgz>JhL{b?ZGMKB#m`%No1dX3_65sreukQ@!rlHh%*4IO0iY>SC%rP}yW$xlR#tabd;yK1_7w*RQ7&GQI)_3t7 zYkaRWxAE-ZA7?_s^MmaWpUeHZrnK-p>I0qu-cWh2@Cl}!^4o+@G*_y<9p9782<3Ks zPcpYFe**exX0lnV{5kO2zR9N3W^Ru=pSa$1S8mTIt~Wm`e^u$T=uh%ZHMN!7`D~iuUqfMgo8LUMOu5Z(p4p__<~PrLt=#5! zx;bdM=68nqL(6S`XPDVxHr=<|a+|NaP5FG)1BAPLEi_LG*ZIxA(0n7@SMOI`C98=WXcK858C}@u}M>I_m{bjOEH%fJ+x_JMQ|43l=k}LnrkZja|7E6)avT3;W~g!- z|K(@12p;Eq&MZ>? z3U~te>&kaa`Sa!-<%gvFdGot+|3z&7g85f@DewgFx?geqZhXCHx+=Hh>qWCcxZ9sM znl0a0eY-!uWIk4I$J0yZuyQ+|UNYsrwfc5EZ89}1*YWhSsjKC7JiTmQP;ST5%Vz0! z*4~b%S4?oP<#s&1Vzvo)L688u(u|DL-(z8&9v9Wy0-vsu_6Q ztQKyMuk`|(&68GNj<3zY4=Cs3YqP)>WA=$Z;^S+xz+2{g;rT&(eBEj;RBn&2Tg@2Z zF5d5$dCG0P-!WT-yLi8AHtlEsZvTDHysO;C`#tlcavSgWOsOBOzK!=bQ^|6T_xq-X zmfLv0Z`LWd@qXVd{K?wecz=M`F<5Tn{ejsc+{ODtb5yvC_lM@31FUc3eZ+idvV^;M zZ#T<@+j#d1d}JQ6`oS!W$Nqtj%@(UqH-KMZJ~pQx6n_%WL*SK_+vC~Crju|N&mCr@ zavRSbW`%GU&ri(!L$*J5{C;YdDYxg8qb~P4=uOx+-YY2 zV*T5A?lf7yT5jXH%WPL}_z{ce2jHLI1|cc_VCE^e@%+K$ z{%Ol?JolMh%56ONnH5L5{7y>hgy+=)`^`Gxw^I%9m4P447h2BG<2(U=FoM4r_{r4# zi|t+fe>RPxc$RRRkJkb}nTm4`U)W1FOi}_UfVDQht|5ly@ zUdR8d@gL**^MjMY8-OP%erqkbS@AC1R;kSt~xB2+Z2^G z+{O2(*(%)4&qvK*Jnh1=u(pMk%P&nNnFypM_d+gzZWkM}Wg z|C%1k`FI}_XMA&o=Lc=PV|;fhxABhgZ4&O{9qao-xs7+MuTqSy&yIh;FC~__i+8|R zMY)Z4z}HH-jd#FzrE(kZIA50K8tyMpznL-Hs0~R?g3kF;~noS zAIIFqJLKyk+{HWOnH`O;L-uB1N&!v4gD7Wz}?OUwe z#Ip6Z9H4WmGi}v68&KJ&O{yJ%KOrU=h1NRD@=Lc zXf4mv^4VIxSj#`sa(*uI5cGE|e-Hc!cwCD0|CN-V;VY&5cPT%^*Fw2{zN><-gL3

p zj{ZV_lCO&I8|60(uj*@h8r!?^@c(di@9|lW{~y5bUB^#t)vCoxm|7X4gHBi{rJ~7F zI!UdBRCJI|rW%<^vWS+V(lA*Wl3_@O$s{DBWC)!VomBW;*ZcLp9zT!opU=npx~}{F zyx!OKx$m9srHHf!SP%Q*Jkg$w{cxTbz{Y+!PfTNDKQs|@Vcri-h5xHe|NO8Ynu^9} zz}OE>MeIx%`yo|~VPij}idM;_b;1?-sG@9nu#gous@oKSVKQQ?2l%` zfBJWL{hno;3;!wL{yh1wCwtiQMIpw=PPlw>okusK`LSAkye|+{>~qK$iLGb(ddUA` z@h2PkUn~;be=76&ws+%aic7>WHtuIFMe5m@kGxxnHf-eGN@TK;cPnuh8+o@Db70Q9 zjmYCV@@^xN&%yf0yNx)_M&6f-(dVL$ye}0kQoO_YYb%D3L%warB67&Ltw=e~j}Q5_ z6|a(U{ubJH;w^G+G~8W(58GapV|;8p<=0;1HKF;jTyjTon!SvCxj5Yv&kui3kS@+j zg^_Q%XiLtCz3Il!6rIFeHuCK(GMZsL^6esqvXO5W;s4s)_Ye7Y5lh*~x2q_EIp1!g zgzLz+o9Nmc^O0{ik$OIie6JMq*~s@wF(A#?L%!Wb4msr8T@;f;zTHK~3;g(yZ+EeY zjC@zw9^y-KZuE=0{+H}k;ya9w9dv%(`2<^Lc=r-DFQoNiN#v_V8aeFWKB6}p`SuZW zc|7vW5E<^%2z*}1^I9>KjXbXv)7i-LTCtRkJo}0wnDe|&lyDt+UMIS`zlQhgBhTwZ z>cuef%oOw4$TL$6xWw1P{h^=8B8U4!KQW#h^6e)kw)EqXZ>8-gwvt1>gT=pO#4dAoe=j4tw#NKVsXk2fW`9lfVd4n; z2ddvBPP6w={U%Y=2J`=<`fyRgj$P~5A1;Quzu@)vuUgJ2aU;ZNw*S5OG%-RXwne=u z)w4u0yA9Q|L^-<~)klg-_6<}YDVDaw{M)HMN))oQsXj{F)gJXnseZG_W4CE{u(VBb@X-j`s2pW6t{?W>`mlbMJD?<@@--q`(N@Hk;^`_ub+RrSjlcf z9xKY&eaPcP6&w3`yhy$R&ky_g4$+*A{d|Y$!Nz{RL)^y3e!f#ofq6eq5ZPSEex4u_ z(y>1F^8|5-jr}}P4DN(F_VYxM(%C!QA0~+v4*pcZQh5 zMt^6BG9Hh-XNtMqaJ|U;9`P6(dEX;S*vR`H@f90+XNzi>^S)Q?<~s7eS4_VW>m%=b z#jx%$@}4Ei*~ojAnBRl);J>GvEegmX@7badj`eWY+a#JT){z&+MmS#(%@NgH_g~+( zb3XJRcZ+gFv#b32p+EPDw*TXKWc0Ilbf5Tu9QyTuI7mjn`bD|o7{>G8J3T03J^lK* z5q=)}peSZ9cF%7}lqc4)S38ezu42FAoD%ntsAg9>r-_He{9ecluebBWOKkLWp4d(f zzi<1nIL6-Y=Fb%KMN)4+KfIrOM6|dX>!IHZ#N}-Cdx03tM!y$`d)VmrqaqLHe&>sP zuA|@iBIO#akACM1)dxnu7mD$0^n0Obo8jx>d_5+nlS6+V6Q7a8`Fc$JO%DBdOtih$ z&qqHdMURVga&B~PW-K-%S|oa~FLa*m{5QLub4uJ3BI@hs=SDr9)7)3X)5+odJShs; z$oom*KP|-PImnHlDHe;}Y@DY8vE@2n53k2d#7;KyT_R4ik?#_5ZYIVf-={Dgsa>)B>QP|(l4|zW= zl5g-1c|R@k2YMs#`O!0?fb9OBqMv_1xm>Iu=fskobDc{E(fruO0R#o!w;e~GgdFNrMnbI$S3^VqLYy;wZP z{*3CyqKv(V>T5(f+g|VIuMr2?&77@RD~_>yQhlvR8HUHdjp{FpH1=Gozbpoj!+t6e zcd@abN<<+!C$`d!pDA7uN7$w0S4EGTaQ)a{uZb2TyuG-$mcrt*LsnXh4rz&)(bTf#{POkjAvtiy&>9;^7U|jOGODe?59$(pB(m6 zsTh2-A0PHpsn|ruep(d0Dg39q`2BESfBJck_>NuV?0()O)M(TRId=F?EO@)5CiYP{L@tbL}ang9O$3lC*mJ=8|Rd` zO(MDz;|EiHlX#vzi|U_>686JX|5Rj7@Z-b&s1y^}*dLW*3OVeL&&23S7?0P>&0;be z`(v}nXJdbC7O%0fKRy>5VBQ~FL6=;!xh1I+#0DJr;*e(n^5XJCEwbEin338SAsh(b2{`GXjLkFSS*R*UK6(9dcy zmmK<0ElS8C|7ww*?dOO5tHowA?x#niAH_CuZq#&$e|`Q*RAYRswR5g>?|W%}tPgpY zC}WQ#|0=R(;rS!q-C{Ny`R*2T$syl8B4akjBj3GZC>#0i71Pm|5Nl~XH)%8aW{J*)sKjK*)LK3h$te5``uAd z!AAd%ipIHgef;?<$3)(P-r@D|xOkF{{v8+V*y!JJ@eLdOJ0W(#+`qrXey*c`e~Iio ztdIWvC9)oZ(Z7?Tf{p&26#4UfJ@oICSVj*0J0*(9;XIrYuaiSRPl-eSsoNT-#Q6{V z^+G>Si{WIPmn&-gEp8>d*T)-uKmQT_)0KUHS~^?j#`E!faUT8^>1^crugD^Y^AMB0 zAHjH>hd4QqjXdMz6gKjVlZ)BNQ^-P?^OUlf>&R2e^aWTSc}kh`D2zOn%wr=@B{TDV zJ-lDj@?LVtOUoj1$WzO<3;p=us>_bxoqTFOK#xtc>h~l<~@$yUGREx1b_EQ7dl#T0eAk)ZUKb;}VxsK~UQ+~ky@AWs5>M0o4-$+)H!}Xsf%~D^-^}D~nk*&$$`Wwq(WL*E) z8fVMV7$5!O_CreCIdVMvkaLOM@(Lq*_b7I%s+7gS?mP zx4H4fuD*yp!}%fSW9)~Wt>`HKVXtzIcTRf=>%UF)%VaC|7gWDY4rSy0!R2xk8}AP; zm-E@b(fljqBDNmx*S|u(%WmpyMY{Zm-Iwa=@(_Cl)jP=(>?f(-Nj53Q^Lx$ta9n5E zg1y7}sB-~Sdh#dCYRr2z6zK;F2twv9IB^j@m1vPrfYsfkDdb!hi4BNk6?yPaO zoXPgDmpg0pkp<+C_qDQ=jl8dwM|eEWYhPLRI<6Pz^*XtUjl8duyV=P5IvKwnmk4XviF%|~h@D{BXeLup#o(z^N*!!H*#9%r3ZPfpw`Vg7T)>*zj zL^dizy{@wrLuC{8`Ofjq8RU@vjdC0t`QIp)lEdrKFu9)H$<244uP3*%(VyWm>0SSL z;XI6xP1xwq2-%g5{)~_}v(cX{IT7amjFi*4j{c04(R)}Q{TV6uv(cYXa=-@E(VtPW z@%!H4_337LJ2{+(o8{f)u-|W%_mM+CZJ`t@v$ zTjWlRr`IoC^A>rU?O(ri&D&({4`{uZfBn)mZ&WvSS;2LM+I5_^?#1s%`S0%$a&G{cz(z?N3LTd z-yB&*4zG{*$qidD9(mp`H?xuF{c=AWdEPJUe1Y-EbFOR*bDj^#RIVe>2jn_7@_axR ze2MwUGgrpGf{|ygtRROxACyPQkHcVxvAzn+5T(4e#rk3Ig*V0Z>_mN-cEL(FGBb8N97bY z?)Q(%0o(li+~_&?{O+uoFNd+;cAnxqhy8`K6$@n^dzW*(^Ez_4zdRDq~k)wC`@ge^u@+UI#f4JsT zaxXbIx?z+%Wi^+|=zAI;yWM$c+){Z1+5J4n`Ds_5$o0ise~0U@I9st)e#owLj(7f@ z{TtPn$>Z!(R9_}jcjEeRzMhsn*yzvGvVO61IFWgEteA6A8*$zlv~K*^9`SqRcw5|;d8R!7e7BY8hx{WKmWX3!Jg%O)cId_ z0o7lS(XSZ)D%D?*W60q=6v+qK$h%0+Cx^UWlx4s9`C~ynDZ`{DO^Y1#j=Eryo=?cJ(!QY*T~as`FFP9nYx1FarPh{iw z1wNG1!+83AfDdIMIpqJ5{D6)8Kaziv!|&UCENdU}j~DL$6|w~z{rN;rJnHMAKbzz% zHu|$kE@PuVo8)_J^ygDq33Goc6Pz+><$wI;3yc^;R2*~s&_9M49c$K|7Jh>W~?#-EnU z$hi^r@87bJjo%OZTW)6m=<-X6`$tx>|8hQ{}pynpy@sM9FwV#drYN>S%>3aG1m20aFNMA}KO3p}XJdWj+el432S&bUsVX+|Jxi@P*VjXSjn&8$Z{)WizOj0W9P&F?eMrXn zeK8bt#HFfKc2BCOsuS#+soqS*QZarq)tjkma_CQU6>H|};q|e(nnQM=(#sYCZc4@&)P(_6hQZYCpT_?SB46Dr)Z65BH-MYRvg~JoNiwHI*a!zgwzGuA|>A)vz?IkAAmQT`z#q?^ddajefUM6EF1jaQ|0k|M>6t_Udbl=kHf_Q2YPKb6fbw59hgq>Uyzv*pD65Niz0hjf9TM{mG#p zAHC=vzlXg{rI2%C>z#+jU8e5fdWCa}^WE%kozui+s*t^x>X)lx_DQN=uC}xBdUu8T znT^-GD^#tPc>J2<{QI?Z)qvf|Io`Po`$DRBQoY#SsNP9UVh?t%o6uR!VBhR~rt=DN z*w0anpOuT-tr*pFAL{%q{W z?kWrB{n$f|;X3wX4|Rf#{n$h8xD=0v{dkq?(H6#jyhQ0FUr+n1LN@a5ukx>JS@w4^XA)z8=p14Qe+z zka+R4{LzBi~1wc?QAOnN_s6%Z6Kv!?R&D5w`N(^m z+RR4YY=_ z{XRh*C5L<`sFoRie8_i#>Q4^&PEfPR*zZFUCaPSFkBZ%XONpDL^4Vq1?&pbW^tE_= z?AOWaem3%(td@~;VwJRC?^2~~7Mx%0_z>kL&u4tdT{ACNm$E8D&Yng`Q@l7Y~+`t z(g)J@^4Bl-sovy}-+gKT9J}3J?~H`|)M)a;*aOaU67E;axbA=6H{ZGVKQ2g^tM;+q zcjH$lJfKeS{2!fPNyt^L2KmRw`?q(TyZ*RnA^Z z^XIFB?022_COo2!v9~!Na&A1-KcBE)7N{%O*e?rIS8~`dkE;1MVm$UszIuv{{gSUr z+1M}nYC9YIWue*)^L}|u9pXCn%VTQJFszUL@|YTZ6O8@xxT<7hzdWuM4fpkM-WI79 z8EcRyS zi<}#cr1hd-ox9d5P#wwc_Y<6l#ucasxZYr*`}wo0ui(1>zdOEufa_hI2e^7P%CG1C zo|Ef0kaMHEoQJ#mM6Ty^{T;5q>O98PtGNCF*PGpp=l8AiWLNJ>&WRo4`XgLVp5*@j zi>nuLJ=NJizoT4l=WIoR`kOt#Io>&Kv|m5$pCzg{8~bO8+I0)A2lwlz)alzW9{Xph zsyPP6{#mNh*w{ZyRUbC?&oVU_=Kb@u%Hlfq&(rD<8~f*Jwe@zakNxwEN*@bj|2(7A zIPb83ma9Z^*gwlvV{$mp%hd&_$1a^5i~Uq7`xtiPpuVdBG>)>=cx0X|2VGp zO7$Llfg4}H_Oq&z=fC9KsP-y#;y>e?J4fUF^TYk9P3=O}i5&Lxb85in`oipzA>$}e% zruvI&0DAz{UsQ$can4q(R>kaW=XmFB>_?na;$BkK?5CX5#7io3f?q%EuVOWUjr~=u z^2j-{7u@)nVvQ60)Y`|V|Q4IBIIWi^J4{r0kYn2r5bq6%Q%Z?C8oT*rQU zMYWoY^|9YxQAu~f*l(|@Y&Q1WtE$HoUk~rEUQ;iULqA_rTgjn+uc@rN{rJ$o*VG?m z^lw`2b?PM9{k`)PfB$)1iK#R`*3@}+?blToc6ag{svmm<`AwBi4*9;VO4!KvZMC1r zBhNCmZW^u+dA_4IvXSRIs+x^F-%)Zp#v{*nRU*uJzNeD8jy&H}MQr5xo|-=c^O5HU zb%c#PH>k3iz8>;>U!~sTjr`KY`>K>2^4qAc$@X>R_hju4)b-@t=yjLJGquarP;yRe zqjQn-V)l0ON9slPA##QKh36;S?f35{b%@=>IZbR*IQ66|&Kf&1&6j%tt>yR~y;r$LFe=jedNtIgaX=PQ+QzptY|<+Z<3 z%gCWW+tgQN^yjnM->B^vAFXxQe>kp6{mg#L`KWWfxwKyN5!Js{jo9B({abZ4d%yG7 zwZBvS*l|;1vF*;&$szykYB3x6Z&%C6;r-7Jwc!C=Kl1)wZDu3y@6~=b^8Q}c$;Ei& zy;C)YIqx4-D%X+s4{9A7dHjd)U9DnyF!HWe737fjkLrwvd_Cm-qv}Bp_mdyh z7IMh@M>T4mACJ8MsQr@~OU{kbT|U>;`dLjT=fwItpRE0}dYL_*{EK>@olE{r#U94< z!`E|rR0$& z|5Ux%IPZU|#D#vm`+RA7y*r|k*?7G>qDt6@U7jg%M^!01ZkoSe994;rVSZibq&mk` z3vy1Zx%1GtV`>K1yE>;h&t(sw`Nvf3aX&xo_v0#sjs6^0E6L&Y^n@y7k8$&7ioeu1 z>|F9mb%c%k(J7Vr1lC7CPpjc<^z*dJW}}~{)p9oa`L`;Dxu5^2bzDb3|4}`j#QNyx zKPqi8jDG&B^4aL;ziM!SuZQyy(<{iKzcF1&4(B7L2QTsCLw{p>FB$!9QzuUUL3W=9 z@2)?oj?gDDK6cRga_0_D(fnBL>E23T&AyOqbRIe6AL$}C@{jZ`9*;b0=;EcgKIB6 zS6ly1Mt;5O)Yj)M_w|rpqRt>Azw7GM)dR@65$?zJ^e{H=$My6a_IQ_<74>x8m*73TbsbqlUz zKPKxkHu6i>E1t!ClfI2$mi%c*>;Anr|1*pkY^K}{5+m7@@%39 zkVBqLb>kOMN1mzrLN@YD)xFusGgXgcBhO}fI?Q=C*K@dzJe%vpBCL-*o9iQN&VD&YMmB(5IHx(`?rgA78~#1F4ia5 zkGi~4;x5s#V!vK)^n!DmxI|~O-=lgMeC_4aV=GdMh2V|Dk#-J(nEvZ>FR-=iv%nMh^YFLib(g$D^Nlb<*`fa&ENQUH|Y}o%C>WPHeApew|KwDZAc1 z-d*$>c6)L+y`LQV(OoCJj^~elbl1Jf;XL%viR)3vdALfS!$zK0>2x;oyh@K?BhQ|C zJj{9a(o?vOJbP*N2G&QOz4UH2^6afMOHoIjy>;@N-XXuMbul@dhpV;w$Rbw{`DN(K z$jI;6I@juMaD=U;QH2pLcns#P!wd*yYY?qOWfCwqM`XSJY?#QWw;)^f9$6Rvyp#4T~5x4{p22Rrnp|$dxx$kX0yHf z>xHqOHhdNdp7VW3|2E*=m48>CmW(Z4~uf{p$S()-xx-(Y7|;)IXC$KX2428+|>ThZ}VS1rvndF>Uf0tLTb2WP!d4wKN?&s&k7L!Nnln=ebdAM13VWS^6 z>%rul816@-brBo+-l8Xdg!#z#Ry~W2d~emu*vR)*{T>_n-li*I&UcL7%5~&BMvwj& z>m%PWx_1SPd~eq!Y~*{pp8koihkVEC=g1-7v3d(RTO{Y~*>jPWX)GbDmRm63p)hr|LpB@|>#kHskS-=QMqY zjXbC6($9T8Udzi;cz)Q2#hzdv%1KEcMNMxldZG9L>*sG-K)p2@%7ZbI`$RnczvIx-A7FM=NIAieU@Iqp6dGXW1ZQ$ zh`qphuXDGp82`L;O57Zs!7g=96LWM0IrJ|_?`ETaIlAB1etu32UoYLK$FuSM%KP<$ zYR7*k7A?$59&E=^#4J)7}7_~Gy2bOkx&`GnraMxIaTBW&dPgg$eppZ{YV@_bUK!kp(~-Gb}LbFnUCBhSTp z#SfT|JPUMG4I|G2y@ed|TcW4@=o&&bc|n!otsLG;?uSMC zPB!{ir028IzasrI8~uAxm%-e>)w-PP=-+BR;5V#~{;k#>cf;u4OL_$x{d-A|+2iZs zJQV8^a_DEV-a!uMp;(XE>&J(F7VDE_^z)L$HCpWR_1viM9RKsVwYnxbCpN^ned1c( zi#?HCqKB~WC%>u-$l*M!)1_?mW1T+2iErtR$Ku1`z8{zO-hLw`Qe15WyS*x#S%lGEOyKcDEj|9Yc8BNI32hGh5qSNFN^MT7}SS2Ka{v#_h656e#H4V_Px$2aXa)O_7dkbu|sdP znEyJ}zt@%Quc-dLekMZwu=B~dow|r^AMnp_ryf%S^|PH1$NiuuvO78-b&hKKdN@DT zI*pC{0U-Pbd2{7mtq-p(FR{z)HW=aYZdb>sbd?(Y@IyL1aS&f71#v^E|O=j~Vh z5gX_2SG|jk^Y*K@bub?1?KhnS^Lg8?8*?4!ZMQCFy}FVdem`Nat|Eu?w^w(q=f~sxjgfox268xm`*i2}v>yF_OJU-E-IJUfwM~!3 zM#%#@lYOQ080RyRXuT-qLI3^OgZdnHx^uj9Z}woS|E@FHW2pYS&L)Tc9n#C#=-(k- zMh@RkIjpxd@Q)YXkNu%{vXTEE`ZOE)|Dn%41LKkZpSlIi`5)13xsLpg=yEplKcb7y z#C+s`R3|3G$p5IWB8U6kF`eAd*F)aNbPsa4-yPFi$RY1zdQ>An9{0QTiO2O=vip9m z%jez16M8Z^C-#YRg>ydp0QsbTmR&2)*H7yWt0QnZ(ApUgQ}wm$H#(oaqX4p2GCzI`R~zij6#lDLWhMAx~*i&w-JrH2cY6KPz*B z9QLy^>RdlQh$eUI}P=XOm{_x~^Sa9mB(mA%vXsPotCMQ(gbT)e4f7doejc$3-G&ky}cFcaD6 zPl8!b&WWva<7bLmW-A-_pV}s|8Rp~uQ^%acM!)KqbT;}`$Bba3Ux{Ws%>Alsrf?no zs%unptdD-xHM`m9S3Q$?KI-UKJ(HZ~9rk~HGk_fWQ{N+hTU{+p4>qR3w`1{Qn=0)~h&hgG)u|II*567Kp zcCf#5KI%NF1?IQx=Svh^>`7EV%XGN}^B;1yqOs}4UhEw2JcS(g$Ju5P8~fvIQ%%l^J?F-| z|Ho!du`9{vn&g&#{cyfhOj>L2aK6to?b+Bb=a~U)?3eS*G&c526Ehd){nFIT=Q{RF zQ`5K&*2jKnYGRkd*e|JO3>*6;)wF8s>*0JiGwI}TzMGle~8w>1gu3!UdUuVMF~dOK6f9!2$bW=LnupX1!5 zZhJGDUEti@`4GFr*@_P41p7nhc<0nEetzgzN7J2+eswgx$)R7DnL}MM9{117%|C4P z>vGe$8|vuS<)#Z8{kpujpXp?{st*sJ_}^zX8|UCd;1ZZznTSgc#!u4X1VCzj>h z$GL!gH~C7lnw?ATVLs;h&p4;V^)#Qe*Epw%o+j24*Mslp^fD=Izf^yhuj=)9dy#uV8#sYk@ltb+0#- z7$0lsJT&fl(=db9i`qNSbM?05oLDce=WzWt=S8l*jO$amzK84coKxI-huM!gr-|#$ zCD&s8XD;yd{-!;9-c`Qd-`vH1%8j>TfVqdg#yQ^kxiFvle}h>Q>eT-m%ntSjdi;TA z7yAo({DCH^uYde-J_nh$Z0wIgW*0f^kHKa`CdOlb3^AM8*dIg8em3^U5L2fg#$$gB zHH~53A2*s*u48}PXx6c@KW;Py*JD2R$1oG?4`Y7}GZo};KfTGM4Dj{b*iY{Io~e72 zNxZ>3?2i#9ogB{R2vb20`(uO|I?#{D{@7eM%Zwts_oI*c{V~#vCA;ruJ8yG-fjy9X zvw4$!JNXuKf*kU_%_I-P^GCk7nE~XG?-jIl@N1A}vj*e&^JFHPQZ_zMW}+EA43CHV(z2DW;H(yr!6s*~sf|vlZsNrkWjGM_yCS_~BR|c}+E$BVgn;&6Ki{*EBOH%h$tx zoNm^TpN!_Y{jjg@bn`y@N%Bnd8Tr?^Lg%A(v&}Z1?|r)Nz2+eMCFg88%bdde*c;Aq z^=274(m!74&ur6*9QOBYQ$`N`nQi)x^5fB;diCa*f#lq1lUr|I-5fKV?EYTZxlz3w zlg&OxzTYfh*UtC#2TU#3dV$i_Jzh@>^`G+1T%kjU0>d$gjX8!kpg{lgxGGx5N~& zk>3(Ce;no`zo*O*Hu8JQl#TcGkl#}C8#&~+)SP{XuZR4WngL|w*QeexGmPy1-?_`9 zf4!&8bc~O^>O3^=X;VQC`8;iQvyso!CiPBQpMM_sjM+sF`)j%RgN=Nao5TsY9^|v! zT*^j1D@<3I^I2(na~=7tG*xWmv(l7J#Cpi*S(7>mMn2D){p9feWtBNW4)0%988z9D z5BaS!t;iw2Ri=y_@>^y4-sQ(5ze)89%|LQ)^fl%8oEc8eiT&a{quz5Sn;o~%`vtRr z-H`mEDJF+}Uow?!P zrY+Zz@5`o~jeK7=MN=^!`IeZ(X)y9FF;(P{-zz3-y00U@H1Uc#LJs-8YVv0II`Ye{ z_nOHk>FG@X=0uEnmxU(e}DG6sb=H#>vc10COsa19@Ki1%f{bdtv4m? zo7{R(}!(>agU zqn|%~TJKBKlbjpf>hk)k-dCnCIVU#7`FrQ_>;>en%`A2y`5Uv8=fCfKIPP0h$o|y% zsIz(q*N6T8ok?XQ|L;r|IozMNn*sAM9{KMuqu9uQhnd4h{yWSnHuC@8l)#+-PE*Qt zHxvU>32F{|{!^BfcK?bG6AQhrFxJ5i;^VQm@*yS>VTqyniyc zld+#q*ZbK_B8Tsf?=snJe1CkGx$;pzKYV`UFD8SH`_(U|f*khquVyzJdH!n7&ZozZ z;r{WP>Bz?Z-fdDA`g*wk?=hFKk?$Up!A8D&%mg;_-D|R8&Uc@g%XQ?t&m=vD^^xyB zbApY0_nWN8QAfV}P1+*wknaI=13Bb-z|0|s`^5p1@Pr>9@;zXlAtT?~^$(io$+^)1 zxBt$l|GQa>@v&3RDbAJb29J9mHapoDk^eNO$symPrty<_zR35e8B7lQ^_WRnj5_w~ zadQb9c^)?zY~*>|Okg9=6DAwxJpVFtxsE*lGD!tkA9?;|POy>ZNt3k%b>w-{q&?*w z-mjc8ZOP$&amsWhhkQ?&BV^>eTAVWZOa1(i@871$GFp%B7v1XrV=g4;M!7DptLy)3 z+K_W%OPu>VXR=Glads5@E3&k+dA`5jq{L~P$3E)nX+m4|w12$t{|k&wVB`N67`vY> z7y0?t9%0vYP7~G^J>%zx{zbNejs8XU>g9BOv2)${nWBar&Bp(Ws%dAlub_IoUB<@w zNw8Hbus-@-%l^tnziU~w5_R;umOY=1e%H2bVeWSwo6dFgyN<17qu+IG$+K7w{Z6#W zt6=my(N>eg`KfDD3Vl8Fx30aPjQ*yHx^^u&^tYbhx2l#EhmTjPqO`zjr@}BAvW?$w)J1Y z;~~F>HU;MV8rd|iBfmzrl#Tov*=0qTkNnQE>O~m&onNmDM)_8~f&bGr|_C|iQ>YrmrlimLhf6~pWf3D4DXF5-F-pL;7d^j$}?q<($KI%ND zgdQ&{p!#_>kNpPK&$Ac2g8DXRE1KBW>_432oo{5HOcFSH-B|8YJXcahz~ZoI@_|3&te zb$C9PJ6qAh-oYN|9PhlCJ=yti+{JbUJD=uXY}>t#`DDLSAp|!o9jq}jjPGsXew6>44aUR;(6)>NNOKlO?aUL$U9pA$G zI1iWF#&5$o4{hySHqJv^n^ETL;q{}P9ZU|dAMNaDa(F#%XD5-vd1+^h|5KkrD>m}H!uDq)&vcswbDo{-7_KAFPWA*Fd3LfpHsJA)XJ^~veHeLm zwh0@(!~La;y^I|4>S70wL!MpibaKe6i(N&={bhOmuC|yQ^5|wiWh0Mnb_?e7_fxL4 z<3IRs9^LIsHuC6h3)sk`yM3FDJbKs)nDe;GZs9uexXNagV}0atmF@8%j68bUVm9*V zX{UVT>*4x)*+wlsC)%F0!M{m0QkrH=}J<9&XIZa$++kTA4 z$Lmuc+n@Zw80I{0vRPb5o;TS;Y~*>9-TFD!$9@}b)3?CL zbGTJsc!&Gh2%AU__p=eUF*)Qr!WNQ|?{D=-*xq0I`61ttb{84>{$78S-A~SqX1lzO z*T2~wVL#&hxAQY!`T4ogQsK_pLg2yZ(;QF zPOHB24(DTny^$RHIlID=wMV|k z^&;uz6?q(zJ8Mg8VtdG2B+P2j&@}6l= zlSAJ3*bYDXddTx0JBb|b-}l&Mwg-tC+wX4%r8 z@c6iY&$i#Nk=JaygB>mjfE zZ9W@$-EXJ-f;#e=Yj?1b*IZlptFMQ=9ab=fidi8+kr# z*OGH$E3fzGf4;3`m z$wt2Uwq!rnL%s`b@&Oq6F0|F;kndymjDx=Zcr4pp@8qP%Y$|zSY@zdvq{r+`)E6y?MiZPRI%KB zKRRi#EhFc|_BaoXTWo6_q4lCVE8ORmyLu`)C)UB)*C%lue-E?RX0!44FpF)YqnJP1 zjd!01Xq&L_b#|WzXfxPPQhkXXzY$khw^HJxQ+0WAa<@ODB zDa~JQe`If_`U<;;{S(z!*!suu_{XTe(w@bx`K*8bEA3V6bDZBzde&aczR0=Uc@n#$ zvlXlC40a~XUu6r);eK9d%h@ zdP4c(1oJ*h%D4 zTS^Z5>n&TwMt*PEBu$UcU*ElLcaX#WDzkgp$gj*s2G@uD%IrmKmytt$AK0(R$SYB< z-o@TU-fACUt3qGjX3NPT|0=tSjs0I`Q&WlY20z-qKiR?TXPoCaA7H;h^`Gqt_Lo%u*$!%?{NqIj zsJ_c)v7_hw{9X1a8~gtk8#@c*`R9wam>lx|)qcuG{=eE?=AO<-v{il^ZfYGp98j>jQ(_OaL`tg-PiLj&mQ)7yBp(UZ#oZ+ z``xx{;^({H=XXBo+?D;8b4>hh_me}uhirUPJb&bS$flBWVrM+>-;W=*Q`oq_{9#9@ zVm$6If7;1xm%QzHoZBFe2>{eHu61Y z$Di-(;r+yMJDnWvFURd%a>)C*Eg^@zkK6P#KR@Js+-@c#@7@hg*lpz8XtK+rhyBY| zV|;ABbFTA>3uu1qRq`pDbRoQz{I^ZK$UEfyuWiXj-v8R(wZv0FUiwfAtJ1)v< zf%(W=M0c{0w}|Gmk++CmW+QJImBF01ipsf;yj3*dVyut6Rn+kk7}&g`*p8Yz8>;5QED6SkgtipyVM)`W;U?VPvqRFM^P-cD=v!mvTt(U>)fy{ ztrtyoekid{qE?Gup!5LiL)_UF|UcAl2ieYD5 zh|<{CImbjow3|Ji>b0Un>^!R1ir(yi`GwAh<7!9c>`$DJIyddekMG>1Zk?zFTdwxs zpQ#g-vy+{h)J=>k*=bZyj7DCD`5m1P$JLF-v#)hN>b#jf%Gru~(KhzI&hgH%%l-VY z|LRBQva$c_N2%m+|4fPwrDHtyTZ8ByHuhVCsBtIMvELd*UD()fXG9q=@3%9f0bIv^ zJ2TqF#(q09s_2aMu-}rSR$XB1x8&#qIh^l??jQE~dN|(=qeODpe+{GQK$pB;^7KSA|#qABe4R6i$LK@R;nH+qka{+t_?lS6+}qQoA^2mLuOI){z^ zoEN3D(Vz385p49QNi-hj{xprIa2@?=8mX(WKKj!%+Ra9PQlreCsG~orQF1Tu(4S^e zDmnD0S=0)S-L@tco7kXP)Rnw2mghXJLGx%j*ZucL?sv}nj~{Jte)KWM^Y=&6qOJeq zjNbn7L%-9aq^rF{ztf^>GWz{wgA1bFi*Vjs4I%+Q7zsXdV5`#(roM9fEm3TpFF=I`+e* zQQoy!AN%3bXnbE7`=M>Lm5u$-Hd=O_uZR86E-E62{m?F2M-Jz;T~tjD{c9JE&-C*{ z|Jp_WkkP-l8?=v1KVNt6FI`?AH0Ti3Cg;RtNi6o6a|?De@?}wHc6ag>(J*qzw^NkO zM!ub*QXY@j-_FsT>v6p}Z(X7VY~Z!N3UbJ|d(?KIACG+ZH0U19Cx?7{MIVrn z@1G5NN1tMR^r*}0RD-Ldt?ZYa(Wt2>X2s`>%|J~L|Eb;Kk@MHmDDmDI|N%wL(2 zS&><4xs`j8nOS1FkU=6+Zm48rq?Q}GB$^AZS#D&O=8|aSl2)WxT9_N^@7{CH{ou#` z`*!ZVZ|0nH-+Ro1(beZEHiV4zd5SFryZir+Y#SNt^)w6g#Q9jSPOKRj>(z-Rld)c% z*lT30*E1{)P4#+~Wl|jL^(+hNh3jLzo@JNFSg+2k&kGpGdUa;;FIv0%r7mn3*wv>C z+YZM1)DG>!s`a+xU45Qot-)BI`k~LWc3|^;Hl`lYq1{+Axy}lYr?K(veeC=!7HWQf zJK*ik!pV(|<9*#(0odiY2P-CHetWQM;0(_+Gk&zMCkyKfuZPYzy_lz;wL9Ou!2D#) z?+Yw}jQM?mJx#{^zQ}r^DZjnh0E%ONd$S5M=C?O1>5s?5{PtmO2cR*(eHa^P?eg1~ z-3xa4?aO+DF~9M?zU+Ol%Wprn8jSgE722O|!ttznlFi=$R!sIAo9Cr0?Ik=ue!e)6 zeN4vu4P>jp=KJzZJx2RpVtdKhpM%)QK{y}#GlgZ5F@Gs+J{j|u!nTqze=oDWXv*JU zRzh*i-(Z%Kg6m`c2D9Xs(U`wi*eWvS?-iCd*v4J{hM0c`)Ov;@HEe2 zy?Z^{b&n*+b;RX8b#$ud!tCG|yS%tk7XB^QQ6BjdO4E?9kWQ zesaW0kEby74R)O7KVZBzbT|teQgyto#_>0KPiQI|1a|cw!Ln~L8*1mf>&*z3G|bxd z!w8n~hBfxX(a<;9d*CcqXO+kEd+1wiJ~+eE#JGp|Eq0#b?TpVGSCV@gUof6F9FE6Q zje~q6*+=Bb#?p8zd7<&S&{6C=@;c-HjQ=L@hWVq}Me<3QKbl3Q;`&!0K87_W^VN3! zF|0E=%s9xG#(I+5LOhL)C#OLCZ8n*l3GuhtTJl_ok7Zwx*F$_P`;&aY_*&>Ytb%;T z*jwiv_TdP8eZDm|p3dfyLyWz3(%B<#Vmub&87!Hc2=NT|H~9&OzsoL>2SWT^HuWu> zpAPYHERXy##K*DbBQd@P;+ZUwd=TQ9Y!A7@IN%-6O2|QL?S3E67LUUD^^61FEVhb# zKg7-NA&HjP}f$a*4MO2+fcB)07xoR8<1$!s4P&o7hNIWnGKCbQb@*De#v3G!R~%#8Y=<2`;}?z6xi+8X)Ji0o$vPN zG?ou``*Rv=mTBX-KV#}lXRW|l@O=9B&>8GOaE52YI*%uz&I~q&d0>=YUE`w1(afa_s?XR{XBXw2_yb_wkAH;3Kxo{eMv9;`Em4FtRVeadpcn7{UQ zK4W<}o;|bP_V+wCm)yrV-ZzhhzYpuN*Ni*Xna^U#V~o2PcL2NmEntJln7;*V2-xLs zA?r2~UqANeBK8s)^S6j)k}-da*dj9KuYj#WQ~o|@8!3+Y``Qv2l0(Tf*|eE}u(S^{F=Q`f&*x26p*e!hQu~K8Mv=%1+~W_K(R=kZ&3L zhg@xgJs&J%;W@A#3o#COzhE)s#>Vl!FIZ>tgT^E4EN8vQosGvCFD0iK2l)!wD)J;_ zX?z^)>al{|AY(mNu&`^T(GgeY%ai{$9nVkg-0i*itgqXBFE+ z#`>&grD&?p8g`1}Sf4d4bq21F^;yHZ<)X1ZYuOeu)@Lot{=mlF`J;&Cg5CL}h|LAN zdKIz!5AAqYuOe3Zk+rK=5sS))_2Bn^XVqE98iTV~^Ue12xAm+g`7z^I<2mHs#@9kO zumWdKVY>fYG9OT=?0_3a4()bB-{jcotH?uC} z=Ekwcf07?DKJWdCRgilbUoh@G2iG3~^S7{GRZBAfJT!->}Q%i!gsHtNtmD58h&rzm@eTH#TlqYa1IvZf6{8?EMVK_cT85-Odzw z6wKewULk)7^LMaR@=BP$gYkJd|9hCflZBAa!u*|VI9Y#fk6+Bv$g#$;#^;3F*g5x8_Oh5GB*Ey8*8`#=YIn6?^ptPHN?MTOUU0td^cM~{te>0 z**yz!{xyhy&)Sf~zp?9o&o+=BFb;TsVB5$&ApQeOT4d+D{k(?_Ame`C!@dV+ct)A= zqkVf>8F>!)M^>%C&d=~{2k&DMpAWL5WZeG;StS|w|3MbH z49DaC|A{4_Y5yN$Eh&!s{}9_o#{GYY6?}p7asQXF;N@uC|0S#h?Dqd*b_(qF|6z6x z?Dqd**0j*hcl-Y^>j`%I|1g^l#`E=Ob&jxEIG$bKX7m3un@{H3ZGC=bYz3^xLX6G# zpR!+=iC1H0?rQI@_E-yi1p7@I=I{2pUV$(Y|`Y!4apdz_V` zDZeM!DT-r$Pq5T4aed713D#{D8uR-r+d{_t{>rjf+qlc`NtO$C`8~ zBr60@^Q?|7q&SFizH`nK|zt|9PhNrdhyT+fBp97y`8^}Y! z|FDZRAAi5Df_c7%<1_sIk_tAPJlTw&8g_v#B!6!Ff$=W#cH{i8|JVWYG2;csExy6^ zE*mcoyT}sBVLzDq89%udvjD!Yf=$T;42mGvV(0P#vTnA{!WmFy$(TM)m-J|({o@oQ`^ z`4i*iVb@s+`Ag&V#?5x%@xL|B54*t<$tA`MjC092>uK)fa&N$v~rn*0Fy9f$|>Qu1tw2lK@5as5pY zuf^Mv4??^a&nKUS`0ac?`8vdJ=bj&Me$4~+_0{H#9BsV7cmVl6;~ilkdhM0~lg85ceew;MAI5XZfrIw- zh4FLbhmG^Y>heqE0T8dtyX?jFCqTR&??s*s@p`<7yxQ12Pvu+4`;E=>RDPO#9_EMh z3UcsI_W0qv(~r1*bL0H52D}^jafmnItH}K!9>F(~M?yS;hwa1plOZ0-1LQ>zkK}3O zuOS}bndCnq9^l8xwGP?iNAWUpwDAJtr2V-5y%2B6lgW=kydf_jcZYa1FC-6wcr;fB zaQ+C0$M6vHhY*k9!^rE5&ELQBk>vfx=I>wmXXLZS0dFi{OlBqa{2I#-lcSBVc;omf z^8LmhUmSnoARhl|UoN&@4J(?Bfnz& zdss961bKpSx$#i)JmdVZ=6odiE8_*m2gpAg?+c;V)K6&e}Eie zER6?}?}hl?{8e%{h~LdWB#(jkJ$w%NV~F3wza?)l4tQJgAIbZT<9#i;=LjDE48-r{ zj9l$!8^4#|N3L%i@V4R)k?)6iD?XI`JjCzgZ<0qq{64;bJOkp1d>MH*#1nZb`E%pt zVfXV>W-cLWuca!mc`caGpgs*xgUJ=S#uv zezZOR1B~~di+$~R-M{U8cmLUeCxP+)GokL|JQ?i1pXCYOg-p+1`80C%B-p5_h7nD3`~TQcVRY2KfV z`R>Grp()?b@R1b9d_Tk4Ke#^T`x#zN#(Y1^yZnoB%=fcAyu#Xje%F~l3wHVK%qN50 z{e5S?73}icnO^~8e($f_g`0n3*{qkvmi%hIPq%JY9srx4-;8^ByYg2lj`#0f`A9O} zzjx(f|KaPy=Y!AjL^9_0Ii3o3KMy|7dtJow*uUNQU^3>j8_y)&2{7})i1FP;W=`R&CEz%IYN zc+0DHzRPbfz5|T;?Opc;{sS2QKH=fIFY=#oJp6saAma+M{riMLb^Gw!Dq%g3{riML zb^Gxcu%PXd z59d!e<1f@5#>2tWJWGu$>%PwWP~6UE^ifVR!?2kab z;k;9IYu6v6_!uzuN3(jP`8aSE8*s{=zsB%Mk@h#*S<9OdV{uaaa z?uK|KPbYVPcqVVmF^+$)J)Yl1#=qAd&wG+zG~*wsm&N;&hZsL@oDFvSYXUDI+>aA^jJD(5^S)B8||CPhmf&;AM&Ml*tn}-9$!z!`sMKwGS)ATUnOJxKH@AC=2QJ< z@nAIl`=hh?Tr$>g7SF7M$HV%4%*)AGzmNHovxu3x|8*U6aAFL`)FJKp_$)|dPtGUjs?PexNdSMx3u$9%5lr^uMk)x0$Qx|AG9Pu{6F!9tZJnxu*pjpM41NZ+R22tIsZe zHyP`*iw^+1`h3U7k+DAC@occG&u+f^F1x;~&-eTY8SC>szeL9Re9!COjpMOCKk#@o z)n^ZHL2=xVd-xVI)@Ki&e-F;b`t0SZB^v9qmmdJT`uxa`gI#@o`7B9(#ZMw{g-ptU_2ir*DvA4IG)Z2hxuMI_RC>D zG!fQgZ=SLJa)iH0{@7R=&n0g$?o$6}UO+x*+}rpP`LuCllMXV1b?>;&Oc@RO8sB?B=SY$H;qfduHR4cN;3BQN#5~)c7BFOoVE8) zr})d{SnzK=liUIPJD*F&>;E6TdRsf+?T<2kI~n&!8E-+x{ZYm{lW~9i$@`#bf1Kti z6vzE>nqMO0{y5D`AI9V1{y4*v+M#iOoZ;#bYqvkjc^KI3k8&OZcKun-p9Z^rEa&fl zT|budHDK(=y!vPPW*kq?*Z<X^6Kqzeazp#yo`+btKgj;!#L)z zf`@gmcKN%&W56zd7kCS_=gGg!?>pDOz}teSd0sPKTmL^klH&IKveh{IChw_#k?$mL zG~-Xyzr+vF{NIer>R;xb$L;a){8V8ae3L!lSNNk~SHG*g*Ddbwq@C~Td6lPiw08Bp z%GW*v?+>m=D!h_^1vcO3ecqlwuJN7Zw~VFnd2%+yuk*{~k05@XM?VY4qw~`ZoOPJwtekwShC z;?=}-@?wZr7qiIwAzocB{ylPt=t7P*o@{)E+zR4%hzfE?h~FV5cEkBEK|ECClG7m` zDw=k;ad*E}N8Cfk`>i@+0N7oB!o)Z-o)5!BHrSmH>k8J}uIH{N^+YHc&xiFyOER7h z>xt*dcs{Hz2B7JD7%qlT9M6a0qLPf~!*FrD4;~NChYduBzGyrjHW0!6tljxALWG0e z`7lDngWdTkLgawm`6ohD?{DY3^G}2r3&!h7>+ndC1-{g)hAZOlCeIqB8iOki4}v$Sf4nNil+L+i!_R3ed2{m!S%5|@!}jA>(f|t zdl}niAVsu`ZN)VU{{|eVhh;Sr->NyikD*_>X*tageXM zxK6&)SQ^I<#rcmKUkhy^T9CWK{1##-d7$x$nsL~;9@upZR+iSYYH zJ#ZGgVDgm|)LO)VGdwqpvy4xX@3?B+Ms#}%*7L-H9~50iTD$zV6~oDx-?m~BIK$J{ zj34cLSd^0S{<)o)KMLn#z8?`Q$(Zj)#9lJy`w{Uk8S|YaJfmSg<@-^=(3I~-MIIUR z{isMAgU7>sw-=|#nD6#tX_}3@d_N|Nz%Jj9iEUt)@5jVBu*>&jBJFKE-{t!;;U5d@ zLB4y1cMzdq{C?d5;g5?5Fn+)8P~$da`~A8@!=Dr#$@cqohlW2ThJanZpB9tInD3`W zF^$Lkb`m-7;QPh=J|kw6F~84F-z8)fHJdQtNoD|ekECrkIV>IsJ z?I|u({F?EH;XOr2mK~qrsa1*bzF_yfzo!^N#^?P#Mc4#fzlj;2AJ$6*$PXDWFis

y7sH5v||D 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

V?)K(phtIjtesu!C2 zBSZ}$+x{3CxI;|_V}Fb_&ZD?J-;4}|svp5KA)n=up{j&z^JjgGZ1ZLPJJ{7TRK>h% zUr&{LgYo*X*cYlMfL%SqQ~?<4c|1^872nwXsTDF$^^T5MXCbhs{I^L zUz4$3QR)bccl)`aDnnDf8mdcVTd(nfXjONZeZ5$(iN-Ntyk3tF#HeS$Ga+B)kuj

hKHssA#-KiFmu|9XIZDg#^o$3!V)~A`O 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 +// This code was generated by a tool. +// Runtime Version:2.0.50727.5456 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// +// This source code was auto-generated by wsdl, Version=2.0.50727.42. +// +namespace WebsitePanel.EnterpriseServer { + using System.Xml.Serialization; + using System.Web.Services; + using System.ComponentModel; + using System.Web.Services.Protocols; + using System; + using System.Diagnostics; + + using WebsitePanel.Providers.Common; + using WebsitePanel.Providers.HostedSolution; + using WebsitePanel.Providers.ResultObjects; + + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Web.Services.WebServiceBindingAttribute(Name="esLyncSoap", Namespace="http://tempuri.org/")] + public partial class esLync : Microsoft.Web.Services3.WebServicesClientProtocol { + + private System.Threading.SendOrPostCallback CreateLyncUserOperationCompleted; + + private System.Threading.SendOrPostCallback DeleteLyncUserOperationCompleted; + + private System.Threading.SendOrPostCallback GetLyncUsersPagedOperationCompleted; + + private System.Threading.SendOrPostCallback GetLyncUserCountOperationCompleted; + + private System.Threading.SendOrPostCallback GetLyncUserPlansOperationCompleted; + + private System.Threading.SendOrPostCallback GetLyncUserPlanOperationCompleted; + + private System.Threading.SendOrPostCallback AddLyncUserPlanOperationCompleted; + + private System.Threading.SendOrPostCallback DeleteLyncUserPlanOperationCompleted; + + private System.Threading.SendOrPostCallback SetOrganizationDefaultLyncUserPlanOperationCompleted; + + private System.Threading.SendOrPostCallback GetLyncUserGeneralSettingsOperationCompleted; + + private System.Threading.SendOrPostCallback SetUserLyncPlanOperationCompleted; + + private System.Threading.SendOrPostCallback GetFederationDomainsOperationCompleted; + + private System.Threading.SendOrPostCallback AddFederationDomainOperationCompleted; + + private System.Threading.SendOrPostCallback RemoveFederationDomainOperationCompleted; + + /// + public esLync() { + this.Url = "http://localhost:9005/esLync.asmx"; + } + + /// + public event CreateLyncUserCompletedEventHandler CreateLyncUserCompleted; + + /// + public event DeleteLyncUserCompletedEventHandler DeleteLyncUserCompleted; + + /// + public event GetLyncUsersPagedCompletedEventHandler GetLyncUsersPagedCompleted; + + /// + public event GetLyncUserCountCompletedEventHandler GetLyncUserCountCompleted; + + /// + public event GetLyncUserPlansCompletedEventHandler GetLyncUserPlansCompleted; + + /// + public event GetLyncUserPlanCompletedEventHandler GetLyncUserPlanCompleted; + + /// + public event AddLyncUserPlanCompletedEventHandler AddLyncUserPlanCompleted; + + /// + public event DeleteLyncUserPlanCompletedEventHandler DeleteLyncUserPlanCompleted; + + /// + public event SetOrganizationDefaultLyncUserPlanCompletedEventHandler SetOrganizationDefaultLyncUserPlanCompleted; + + /// + public event GetLyncUserGeneralSettingsCompletedEventHandler GetLyncUserGeneralSettingsCompleted; + + /// + public event SetUserLyncPlanCompletedEventHandler SetUserLyncPlanCompleted; + + /// + public event GetFederationDomainsCompletedEventHandler GetFederationDomainsCompleted; + + /// + public event AddFederationDomainCompletedEventHandler AddFederationDomainCompleted; + + /// + public event RemoveFederationDomainCompletedEventHandler RemoveFederationDomainCompleted; + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/CreateLyncUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUserResult CreateLyncUser(int itemId, int accountId, int lyncUserPlanId) { + object[] results = this.Invoke("CreateLyncUser", new object[] { + itemId, + accountId, + lyncUserPlanId}); + return ((LyncUserResult)(results[0])); + } + + /// + public System.IAsyncResult BeginCreateLyncUser(int itemId, int accountId, int lyncUserPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("CreateLyncUser", new object[] { + itemId, + accountId, + lyncUserPlanId}, callback, asyncState); + } + + /// + public LyncUserResult EndCreateLyncUser(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUserResult)(results[0])); + } + + /// + public void CreateLyncUserAsync(int itemId, int accountId, int lyncUserPlanId) { + this.CreateLyncUserAsync(itemId, accountId, lyncUserPlanId, null); + } + + /// + public void CreateLyncUserAsync(int itemId, int accountId, int lyncUserPlanId, object userState) { + if ((this.CreateLyncUserOperationCompleted == null)) { + this.CreateLyncUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateLyncUserOperationCompleted); + } + this.InvokeAsync("CreateLyncUser", new object[] { + itemId, + accountId, + lyncUserPlanId}, this.CreateLyncUserOperationCompleted, userState); + } + + private void OnCreateLyncUserOperationCompleted(object arg) { + if ((this.CreateLyncUserCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.CreateLyncUserCompleted(this, new CreateLyncUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteLyncUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public ResultObject DeleteLyncUser(int itemId, int accountId) { + object[] results = this.Invoke("DeleteLyncUser", new object[] { + itemId, + accountId}); + return ((ResultObject)(results[0])); + } + + /// + public System.IAsyncResult BeginDeleteLyncUser(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("DeleteLyncUser", new object[] { + itemId, + accountId}, callback, asyncState); + } + + /// + public ResultObject EndDeleteLyncUser(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((ResultObject)(results[0])); + } + + /// + public void DeleteLyncUserAsync(int itemId, int accountId) { + this.DeleteLyncUserAsync(itemId, accountId, null); + } + + /// + public void DeleteLyncUserAsync(int itemId, int accountId, object userState) { + if ((this.DeleteLyncUserOperationCompleted == null)) { + this.DeleteLyncUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteLyncUserOperationCompleted); + } + this.InvokeAsync("DeleteLyncUser", new object[] { + itemId, + accountId}, this.DeleteLyncUserOperationCompleted, userState); + } + + private void OnDeleteLyncUserOperationCompleted(object arg) { + if ((this.DeleteLyncUserCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.DeleteLyncUserCompleted(this, new DeleteLyncUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLyncUsersPaged", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUsersPagedResult GetLyncUsersPaged(int itemId, string sortColumn, string sortDirection, int startRow, int maximumRows) { + object[] results = this.Invoke("GetLyncUsersPaged", new object[] { + itemId, + sortColumn, + sortDirection, + startRow, + maximumRows}); + return ((LyncUsersPagedResult)(results[0])); + } + + /// + public System.IAsyncResult BeginGetLyncUsersPaged(int itemId, string sortColumn, string sortDirection, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetLyncUsersPaged", new object[] { + itemId, + sortColumn, + sortDirection, + startRow, + maximumRows}, callback, asyncState); + } + + /// + public LyncUsersPagedResult EndGetLyncUsersPaged(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUsersPagedResult)(results[0])); + } + + /// + public void GetLyncUsersPagedAsync(int itemId, string sortColumn, string sortDirection, int startRow, int maximumRows) { + this.GetLyncUsersPagedAsync(itemId, sortColumn, sortDirection, startRow, maximumRows, null); + } + + /// + public void GetLyncUsersPagedAsync(int itemId, string sortColumn, string sortDirection, int startRow, int maximumRows, object userState) { + if ((this.GetLyncUsersPagedOperationCompleted == null)) { + this.GetLyncUsersPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUsersPagedOperationCompleted); + } + this.InvokeAsync("GetLyncUsersPaged", new object[] { + itemId, + sortColumn, + sortDirection, + startRow, + maximumRows}, this.GetLyncUsersPagedOperationCompleted, userState); + } + + private void OnGetLyncUsersPagedOperationCompleted(object arg) { + if ((this.GetLyncUsersPagedCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetLyncUsersPagedCompleted(this, new GetLyncUsersPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLyncUserCount", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public IntResult GetLyncUserCount(int itemId) { + object[] results = this.Invoke("GetLyncUserCount", new object[] { + itemId}); + return ((IntResult)(results[0])); + } + + /// + public System.IAsyncResult BeginGetLyncUserCount(int itemId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetLyncUserCount", new object[] { + itemId}, callback, asyncState); + } + + /// + public IntResult EndGetLyncUserCount(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((IntResult)(results[0])); + } + + /// + public void GetLyncUserCountAsync(int itemId) { + this.GetLyncUserCountAsync(itemId, null); + } + + /// + public void GetLyncUserCountAsync(int itemId, object userState) { + if ((this.GetLyncUserCountOperationCompleted == null)) { + this.GetLyncUserCountOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUserCountOperationCompleted); + } + this.InvokeAsync("GetLyncUserCount", new object[] { + itemId}, this.GetLyncUserCountOperationCompleted, userState); + } + + private void OnGetLyncUserCountOperationCompleted(object arg) { + if ((this.GetLyncUserCountCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetLyncUserCountCompleted(this, new GetLyncUserCountCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLyncUserPlans", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUserPlan[] GetLyncUserPlans(int itemId) { + object[] results = this.Invoke("GetLyncUserPlans", new object[] { + itemId}); + return ((LyncUserPlan[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetLyncUserPlans(int itemId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetLyncUserPlans", new object[] { + itemId}, callback, asyncState); + } + + /// + public LyncUserPlan[] EndGetLyncUserPlans(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUserPlan[])(results[0])); + } + + /// + public void GetLyncUserPlansAsync(int itemId) { + this.GetLyncUserPlansAsync(itemId, null); + } + + /// + public void GetLyncUserPlansAsync(int itemId, object userState) { + if ((this.GetLyncUserPlansOperationCompleted == null)) { + this.GetLyncUserPlansOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUserPlansOperationCompleted); + } + this.InvokeAsync("GetLyncUserPlans", new object[] { + itemId}, this.GetLyncUserPlansOperationCompleted, userState); + } + + private void OnGetLyncUserPlansOperationCompleted(object arg) { + if ((this.GetLyncUserPlansCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetLyncUserPlansCompleted(this, new GetLyncUserPlansCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLyncUserPlan", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUserPlan GetLyncUserPlan(int itemId, int lyncUserPlanId) { + object[] results = this.Invoke("GetLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}); + return ((LyncUserPlan)(results[0])); + } + + /// + public System.IAsyncResult BeginGetLyncUserPlan(int itemId, int lyncUserPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}, callback, asyncState); + } + + /// + public LyncUserPlan EndGetLyncUserPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUserPlan)(results[0])); + } + + /// + public void GetLyncUserPlanAsync(int itemId, int lyncUserPlanId) { + this.GetLyncUserPlanAsync(itemId, lyncUserPlanId, null); + } + + /// + public void GetLyncUserPlanAsync(int itemId, int lyncUserPlanId, object userState) { + if ((this.GetLyncUserPlanOperationCompleted == null)) { + this.GetLyncUserPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUserPlanOperationCompleted); + } + this.InvokeAsync("GetLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}, this.GetLyncUserPlanOperationCompleted, userState); + } + + private void OnGetLyncUserPlanOperationCompleted(object arg) { + if ((this.GetLyncUserPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetLyncUserPlanCompleted(this, new GetLyncUserPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddLyncUserPlan", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int AddLyncUserPlan(int itemId, LyncUserPlan lyncUserPlan) { + object[] results = this.Invoke("AddLyncUserPlan", new object[] { + itemId, + lyncUserPlan}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginAddLyncUserPlan(int itemId, LyncUserPlan lyncUserPlan, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("AddLyncUserPlan", new object[] { + itemId, + lyncUserPlan}, callback, asyncState); + } + + /// + public int EndAddLyncUserPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void AddLyncUserPlanAsync(int itemId, LyncUserPlan lyncUserPlan) { + this.AddLyncUserPlanAsync(itemId, lyncUserPlan, null); + } + + /// + public void AddLyncUserPlanAsync(int itemId, LyncUserPlan lyncUserPlan, object userState) { + if ((this.AddLyncUserPlanOperationCompleted == null)) { + this.AddLyncUserPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddLyncUserPlanOperationCompleted); + } + this.InvokeAsync("AddLyncUserPlan", new object[] { + itemId, + lyncUserPlan}, this.AddLyncUserPlanOperationCompleted, userState); + } + + private void OnAddLyncUserPlanOperationCompleted(object arg) { + if ((this.AddLyncUserPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.AddLyncUserPlanCompleted(this, new AddLyncUserPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteLyncUserPlan", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int DeleteLyncUserPlan(int itemId, int lyncUserPlanId) { + object[] results = this.Invoke("DeleteLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginDeleteLyncUserPlan(int itemId, int lyncUserPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("DeleteLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}, callback, asyncState); + } + + /// + public int EndDeleteLyncUserPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void DeleteLyncUserPlanAsync(int itemId, int lyncUserPlanId) { + this.DeleteLyncUserPlanAsync(itemId, lyncUserPlanId, null); + } + + /// + public void DeleteLyncUserPlanAsync(int itemId, int lyncUserPlanId, object userState) { + if ((this.DeleteLyncUserPlanOperationCompleted == null)) { + this.DeleteLyncUserPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteLyncUserPlanOperationCompleted); + } + this.InvokeAsync("DeleteLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}, this.DeleteLyncUserPlanOperationCompleted, userState); + } + + private void OnDeleteLyncUserPlanOperationCompleted(object arg) { + if ((this.DeleteLyncUserPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.DeleteLyncUserPlanCompleted(this, new DeleteLyncUserPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetOrganizationDefaultLyncUserPlan", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public int SetOrganizationDefaultLyncUserPlan(int itemId, int lyncUserPlanId) { + object[] results = this.Invoke("SetOrganizationDefaultLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}); + return ((int)(results[0])); + } + + /// + public System.IAsyncResult BeginSetOrganizationDefaultLyncUserPlan(int itemId, int lyncUserPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetOrganizationDefaultLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}, callback, asyncState); + } + + /// + public int EndSetOrganizationDefaultLyncUserPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((int)(results[0])); + } + + /// + public void SetOrganizationDefaultLyncUserPlanAsync(int itemId, int lyncUserPlanId) { + this.SetOrganizationDefaultLyncUserPlanAsync(itemId, lyncUserPlanId, null); + } + + /// + public void SetOrganizationDefaultLyncUserPlanAsync(int itemId, int lyncUserPlanId, object userState) { + if ((this.SetOrganizationDefaultLyncUserPlanOperationCompleted == null)) { + this.SetOrganizationDefaultLyncUserPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetOrganizationDefaultLyncUserPlanOperationCompleted); + } + this.InvokeAsync("SetOrganizationDefaultLyncUserPlan", new object[] { + itemId, + lyncUserPlanId}, this.SetOrganizationDefaultLyncUserPlanOperationCompleted, userState); + } + + private void OnSetOrganizationDefaultLyncUserPlanOperationCompleted(object arg) { + if ((this.SetOrganizationDefaultLyncUserPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetOrganizationDefaultLyncUserPlanCompleted(this, new SetOrganizationDefaultLyncUserPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLyncUserGeneralSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUser GetLyncUserGeneralSettings(int itemId, int accountId) { + object[] results = this.Invoke("GetLyncUserGeneralSettings", new object[] { + itemId, + accountId}); + return ((LyncUser)(results[0])); + } + + /// + public System.IAsyncResult BeginGetLyncUserGeneralSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetLyncUserGeneralSettings", new object[] { + itemId, + accountId}, callback, asyncState); + } + + /// + public LyncUser EndGetLyncUserGeneralSettings(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUser)(results[0])); + } + + /// + public void GetLyncUserGeneralSettingsAsync(int itemId, int accountId) { + this.GetLyncUserGeneralSettingsAsync(itemId, accountId, null); + } + + /// + public void GetLyncUserGeneralSettingsAsync(int itemId, int accountId, object userState) { + if ((this.GetLyncUserGeneralSettingsOperationCompleted == null)) { + this.GetLyncUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUserGeneralSettingsOperationCompleted); + } + this.InvokeAsync("GetLyncUserGeneralSettings", new object[] { + itemId, + accountId}, this.GetLyncUserGeneralSettingsOperationCompleted, userState); + } + + private void OnGetLyncUserGeneralSettingsOperationCompleted(object arg) { + if ((this.GetLyncUserGeneralSettingsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetLyncUserGeneralSettingsCompleted(this, new GetLyncUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetUserLyncPlan", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUserResult SetUserLyncPlan(int itemId, int accountId, int lyncUserPlanId) { + object[] results = this.Invoke("SetUserLyncPlan", new object[] { + itemId, + accountId, + lyncUserPlanId}); + return ((LyncUserResult)(results[0])); + } + + /// + public System.IAsyncResult BeginSetUserLyncPlan(int itemId, int accountId, int lyncUserPlanId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("SetUserLyncPlan", new object[] { + itemId, + accountId, + lyncUserPlanId}, callback, asyncState); + } + + /// + public LyncUserResult EndSetUserLyncPlan(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUserResult)(results[0])); + } + + /// + public void SetUserLyncPlanAsync(int itemId, int accountId, int lyncUserPlanId) { + this.SetUserLyncPlanAsync(itemId, accountId, lyncUserPlanId, null); + } + + /// + public void SetUserLyncPlanAsync(int itemId, int accountId, int lyncUserPlanId, object userState) { + if ((this.SetUserLyncPlanOperationCompleted == null)) { + this.SetUserLyncPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetUserLyncPlanOperationCompleted); + } + this.InvokeAsync("SetUserLyncPlan", new object[] { + itemId, + accountId, + lyncUserPlanId}, this.SetUserLyncPlanOperationCompleted, userState); + } + + private void OnSetUserLyncPlanOperationCompleted(object arg) { + if ((this.SetUserLyncPlanCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetUserLyncPlanCompleted(this, new SetUserLyncPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetFederationDomains", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncFederationDomain[] GetFederationDomains(int itemId) { + object[] results = this.Invoke("GetFederationDomains", new object[] { + itemId}); + return ((LyncFederationDomain[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetFederationDomains(int itemId, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetFederationDomains", new object[] { + itemId}, callback, asyncState); + } + + /// + public LyncFederationDomain[] EndGetFederationDomains(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncFederationDomain[])(results[0])); + } + + /// + public void GetFederationDomainsAsync(int itemId) { + this.GetFederationDomainsAsync(itemId, null); + } + + /// + public void GetFederationDomainsAsync(int itemId, object userState) { + if ((this.GetFederationDomainsOperationCompleted == null)) { + this.GetFederationDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFederationDomainsOperationCompleted); + } + this.InvokeAsync("GetFederationDomains", new object[] { + itemId}, this.GetFederationDomainsOperationCompleted, userState); + } + + private void OnGetFederationDomainsOperationCompleted(object arg) { + if ((this.GetFederationDomainsCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetFederationDomainsCompleted(this, new GetFederationDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddFederationDomain", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUserResult AddFederationDomain(int itemId, string domainName, string proxyFqdn) { + object[] results = this.Invoke("AddFederationDomain", new object[] { + itemId, + domainName, + proxyFqdn}); + return ((LyncUserResult)(results[0])); + } + + /// + public System.IAsyncResult BeginAddFederationDomain(int itemId, string domainName, string proxyFqdn, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("AddFederationDomain", new object[] { + itemId, + domainName, + proxyFqdn}, callback, asyncState); + } + + /// + public LyncUserResult EndAddFederationDomain(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUserResult)(results[0])); + } + + /// + public void AddFederationDomainAsync(int itemId, string domainName, string proxyFqdn) { + this.AddFederationDomainAsync(itemId, domainName, proxyFqdn, null); + } + + /// + public void AddFederationDomainAsync(int itemId, string domainName, string proxyFqdn, object userState) { + if ((this.AddFederationDomainOperationCompleted == null)) { + this.AddFederationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddFederationDomainOperationCompleted); + } + this.InvokeAsync("AddFederationDomain", new object[] { + itemId, + domainName, + proxyFqdn}, this.AddFederationDomainOperationCompleted, userState); + } + + private void OnAddFederationDomainOperationCompleted(object arg) { + if ((this.AddFederationDomainCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.AddFederationDomainCompleted(this, new AddFederationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/RemoveFederationDomain", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUserResult RemoveFederationDomain(int itemId, string domainName) { + object[] results = this.Invoke("RemoveFederationDomain", new object[] { + itemId, + domainName}); + return ((LyncUserResult)(results[0])); + } + + /// + public System.IAsyncResult BeginRemoveFederationDomain(int itemId, string domainName, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("RemoveFederationDomain", new object[] { + itemId, + domainName}, callback, asyncState); + } + + /// + public LyncUserResult EndRemoveFederationDomain(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUserResult)(results[0])); + } + + /// + public void RemoveFederationDomainAsync(int itemId, string domainName) { + this.RemoveFederationDomainAsync(itemId, domainName, null); + } + + /// + public void RemoveFederationDomainAsync(int itemId, string domainName, object userState) { + if ((this.RemoveFederationDomainOperationCompleted == null)) { + this.RemoveFederationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveFederationDomainOperationCompleted); + } + this.InvokeAsync("RemoveFederationDomain", new object[] { + itemId, + domainName}, this.RemoveFederationDomainOperationCompleted, userState); + } + + private void OnRemoveFederationDomainOperationCompleted(object arg) { + if ((this.RemoveFederationDomainCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.RemoveFederationDomainCompleted(this, new RemoveFederationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + public new void CancelAsync(object userState) { + base.CancelAsync(userState); + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CreateLyncUserCompletedEventHandler(object sender, CreateLyncUserCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreateLyncUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal CreateLyncUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUserResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUserResult)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteLyncUserCompletedEventHandler(object sender, DeleteLyncUserCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteLyncUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeleteLyncUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public ResultObject Result { + get { + this.RaiseExceptionIfNecessary(); + return ((ResultObject)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetLyncUsersPagedCompletedEventHandler(object sender, GetLyncUsersPagedCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetLyncUsersPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetLyncUsersPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUsersPagedResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUsersPagedResult)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetLyncUserCountCompletedEventHandler(object sender, GetLyncUserCountCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetLyncUserCountCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetLyncUserCountCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public IntResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((IntResult)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetLyncUserPlansCompletedEventHandler(object sender, GetLyncUserPlansCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetLyncUserPlansCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetLyncUserPlansCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUserPlan[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUserPlan[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetLyncUserPlanCompletedEventHandler(object sender, GetLyncUserPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetLyncUserPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetLyncUserPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUserPlan Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUserPlan)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void AddLyncUserPlanCompletedEventHandler(object sender, AddLyncUserPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AddLyncUserPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal AddLyncUserPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteLyncUserPlanCompletedEventHandler(object sender, DeleteLyncUserPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteLyncUserPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal DeleteLyncUserPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetOrganizationDefaultLyncUserPlanCompletedEventHandler(object sender, SetOrganizationDefaultLyncUserPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetOrganizationDefaultLyncUserPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetOrganizationDefaultLyncUserPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public int Result { + get { + this.RaiseExceptionIfNecessary(); + return ((int)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetLyncUserGeneralSettingsCompletedEventHandler(object sender, GetLyncUserGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetLyncUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetLyncUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUser Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUser)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetUserLyncPlanCompletedEventHandler(object sender, SetUserLyncPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetUserLyncPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal SetUserLyncPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUserResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUserResult)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetFederationDomainsCompletedEventHandler(object sender, GetFederationDomainsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetFederationDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetFederationDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncFederationDomain[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncFederationDomain[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void AddFederationDomainCompletedEventHandler(object sender, AddFederationDomainCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AddFederationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal AddFederationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUserResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUserResult)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void RemoveFederationDomainCompletedEventHandler(object sender, RemoveFederationDomainCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class RemoveFederationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal RemoveFederationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public LyncUserResult Result { + get { + this.RaiseExceptionIfNecessary(); + return ((LyncUserResult)(this.results[0])); + } + } + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj index dfd4d020..1390dff3 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/WebsitePanel.EnterpriseServer.Client.csproj @@ -87,6 +87,7 @@ code + diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs index 714b0165..92a6c70e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/Data/DataProvider.cs @@ -3140,5 +3140,163 @@ namespace WebsitePanel.EnterpriseServer return Convert.ToBoolean(prmId.Value); } #endregion + + #region Lync + + public static void AddLyncUser(int accountId, int lyncUserPlanId) + { + SqlHelper.ExecuteNonQuery(ConnectionString, + CommandType.StoredProcedure, + "AddLyncUser", + new[] + { + new SqlParameter("@AccountID", accountId), + new SqlParameter("@LyncUserPlanID", lyncUserPlanId) + }); + } + + public static bool CheckLyncUserExists(int accountId) + { + int res = (int)SqlHelper.ExecuteScalar(ConnectionString, CommandType.StoredProcedure, "CheckLyncUserExists", + new SqlParameter("@AccountID", accountId)); + return res > 0; + } + + public static IDataReader GetLyncUsers(int itemId, string sortColumn, string sortDirection, int startRow, int count) + { + SqlParameter[] sqlParams = new SqlParameter[] + { + new SqlParameter("@ItemID", itemId), + new SqlParameter("@SortColumn", sortColumn), + new SqlParameter("@SortDirection", sortDirection), + new SqlParameter("@StartRow", startRow), + new SqlParameter("Count", count) + }; + + + return SqlHelper.ExecuteReader( + ConnectionString, + CommandType.StoredProcedure, + "GetLyncUsers", sqlParams); + } + + public static int GetLyncUsersCount(int itemId) + { + SqlParameter[] sqlParams = new SqlParameter[] + { + new SqlParameter("@ItemID", itemId) + }; + + return + (int) + SqlHelper.ExecuteScalar(ConnectionString, CommandType.StoredProcedure, "GetLyncUsersCount", sqlParams); + } + + public static void DeleteLyncUser(int accountId) + { + SqlHelper.ExecuteNonQuery(ConnectionString, + CommandType.StoredProcedure, + "DeleteLyncUser", + new[] + { + new SqlParameter("@AccountId", accountId) + }); + + } + + public static int AddLyncUserPlan(int itemID, LyncUserPlan lyncUserPlan) + { + SqlParameter outParam = new SqlParameter("@LyncUserPlanId", SqlDbType.Int); + outParam.Direction = ParameterDirection.Output; + + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "AddLyncUserPlan", + outParam, + + new SqlParameter("@ItemID", itemID), + new SqlParameter("@LyncUserPlanName", lyncUserPlan.LyncUserPlanName), + new SqlParameter("@IM", lyncUserPlan.IM), + new SqlParameter("@Mobility", lyncUserPlan.Mobility), + new SqlParameter("@MobilityEnableOutsideVoice", lyncUserPlan.MobilityEnableOutsideVoice), + new SqlParameter("@Federation", lyncUserPlan.Federation), + new SqlParameter("@Conferencing", lyncUserPlan.Conferencing), + new SqlParameter("@EnterpriseVoice", lyncUserPlan.EnterpriseVoice), + new SqlParameter("@VoicePolicy", lyncUserPlan.VoicePolicy), + new SqlParameter("@IsDefault", lyncUserPlan.IsDefault) + ); + + return Convert.ToInt32(outParam.Value); + } + + public static void DeleteLyncUserPlan(int lyncUserPlanId) + { + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "DeleteLyncUserPlan", + new SqlParameter("@LyncUserPlanId", lyncUserPlanId) + ); + } + + public static IDataReader GetLyncUserPlan(int lyncUserPlanId) + { + return SqlHelper.ExecuteReader( + ConnectionString, + CommandType.StoredProcedure, + "GetLyncUserPlan", + new SqlParameter("@LyncUserPlanId", lyncUserPlanId) + ); + } + + + public static IDataReader GetLyncUserPlans(int itemId) + { + return SqlHelper.ExecuteReader( + ConnectionString, + CommandType.StoredProcedure, + "GetLyncUserPlans", + new SqlParameter("@ItemID", itemId) + ); + } + + + public static void SetOrganizationDefaultLyncUserPlan(int itemId, int lyncUserPlanId) + { + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "SetOrganizationDefaultLyncUserPlan", + new SqlParameter("@ItemID", itemId), + new SqlParameter("@LyncUserPlanId", lyncUserPlanId) + ); + } + + public static IDataReader GetLyncUserPlanByAccountId(int AccountId) + { + return SqlHelper.ExecuteReader( + ConnectionString, + CommandType.StoredProcedure, + "GetLyncUserPlanByAccountId", + new SqlParameter("@AccountID", AccountId) + ); + } + + + public static void SetLyncUserLyncUserplan(int accountId, int lyncUserPlanId) + { + SqlHelper.ExecuteNonQuery( + ConnectionString, + CommandType.StoredProcedure, + "SetLyncUserLyncUserplan", + new SqlParameter("@AccountID", accountId), + new SqlParameter("@LyncUserPlanId", (lyncUserPlanId == 0) ? (object)DBNull.Value : (object)lyncUserPlanId) + ); + } + + + #endregion + } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncController.cs new file mode 100644 index 00000000..a91d80f8 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncController.cs @@ -0,0 +1,821 @@ +// 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.Collections.Specialized; +using System.Data; +using System.Xml; +using WebsitePanel.Providers; +using WebsitePanel.Providers.Common; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.ResultObjects; +using WebsitePanel.Providers.Lync; + +namespace WebsitePanel.EnterpriseServer.Code.HostedSolution +{ + public class LyncController + { + + + public static LyncServer GetLyncServer(int lyncServiceId, int organizationServiceId) + { + LyncServer ws = new LyncServer(); + + ServiceProviderProxy.Init(ws, lyncServiceId); + + string[] lyncSettings = ws.ServiceProviderSettingsSoapHeaderValue.Settings; + + List resSettings = new List(lyncSettings); + + ExtendLyncSettings(resSettings, "primarydomaincontroller", GetProviderProperty(organizationServiceId, "primarydomaincontroller")); + ExtendLyncSettings(resSettings, "rootou", GetProviderProperty(organizationServiceId, "rootou")); + ws.ServiceProviderSettingsSoapHeaderValue.Settings = resSettings.ToArray(); + return ws; + } + + private static string GetProviderProperty(int organizationServiceId, string property) + { + + Organizations orgProxy = new Organizations(); + + ServiceProviderProxy.Init(orgProxy, organizationServiceId); + + string[] organizationSettings = orgProxy.ServiceProviderSettingsSoapHeaderValue.Settings; + + string value = string.Empty; + foreach (string str in organizationSettings) + { + string[] props = str.Split('='); + if (props[0].ToLower() == property) + { + value = str; + break; + } + } + + return value; + } + + private static void ExtendLyncSettings(List lyncSettings, string property, string value) + { + bool isAdded = false; + for (int i = 0; i < lyncSettings.Count; i++) + { + string[] props = lyncSettings[i].Split('='); + if (props[0].ToLower() == property) + { + lyncSettings[i] = value; + isAdded = true; + break; + } + } + + if (!isAdded) + { + lyncSettings.Add(value); + } + } + + private static int GetLyncServiceID(int packageId) + { + return PackageController.GetPackageServiceId(packageId, ResourceGroups.Lync); + } + + + private static bool CheckQuota(int itemId) + { + Organization org = OrganizationController.GetOrganization(itemId); + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + + IntResult userCount = GetLyncUsersCount(itemId); + + int allocatedUsers = cntx.Quotas[Quotas.LYNC_USERS].QuotaAllocatedValue; + + return allocatedUsers == -1 || allocatedUsers > userCount.Value; + } + + + public static LyncUserResult CreateLyncUser(int itemId, int accountId, int lyncUserPlanId) + { + LyncUserResult res = TaskManager.StartResultTask("LYNC", "CREATE_LYNC_USER"); + + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.NOT_AUTHORIZED); + return res; + } + + + LyncUser retLyncUser = new LyncUser(); + bool isLyncUser; + + isLyncUser = DataProvider.CheckLyncUserExists(accountId); + if (isLyncUser) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.USER_IS_ALREADY_LYNC_USER); + return res; + } + + OrganizationUser user; + user = OrganizationController.GetAccount(itemId, accountId); + if (user == null) + { + TaskManager.CompleteResultTask(res, ErrorCodes.CANNOT_GET_ACCOUNT); + return res; + } + + user = OrganizationController.GetUserGeneralSettings(itemId, accountId); + if (string.IsNullOrEmpty(user.FirstName)) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.USER_FIRST_NAME_IS_NOT_SPECIFIED); + return res; + } + + if (string.IsNullOrEmpty(user.LastName)) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.USER_LAST_NAME_IS_NOT_SPECIFIED); + return res; + } + + bool quota = CheckQuota(itemId); + if (!quota) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.USER_QUOTA_HAS_BEEN_REACHED); + return res; + } + + + LyncServer lync; + + try + { + + bool bReloadConfiguration = false; + + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + { + throw new ApplicationException( + string.Format("Organization is null. ItemId={0}", itemId)); + } + + int lyncServiceId = GetLyncServiceID(org.PackageId); + lync = GetLyncServer(lyncServiceId, org.ServiceId); + + if (string.IsNullOrEmpty(org.LyncTenantId)) + { + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + + org.LyncTenantId = lync.CreateOrganization(org.OrganizationId, + org.DefaultDomain, + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue), + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_ALLOWVIDEO].QuotaAllocatedValue), + Convert.ToInt32(cntx.Quotas[Quotas.LYNC_MAXPARTICIPANTS].QuotaAllocatedValue), + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue), + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue)); + + if (string.IsNullOrEmpty(org.LyncTenantId)) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ENABLE_ORG); + return res; + } + else + { + PackageController.UpdatePackageItem(org); + + bReloadConfiguration = true; + } + } + + LyncUserPlan plan = GetLyncUserPlan(itemId, lyncUserPlanId); + + if (!lync.CreateUser(org.OrganizationId, user.PrimaryEmailAddress, plan)) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ADD_LYNC_USER); + return res; + } + + if (bReloadConfiguration) + { + LyncControllerAsync userWorker = new LyncControllerAsync(); + userWorker.LyncServiceId = lyncServiceId; + userWorker.OrganizationServiceId = org.ServiceId; + userWorker.Enable_CsComputerAsync(); + } + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ADD_LYNC_USER, ex); + return res; + } + + try + { + DataProvider.AddLyncUser(accountId, lyncUserPlanId); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ADD_LYNC_USER_TO_DATABASE, ex); + return res; + } + + res.IsSuccess = true; + TaskManager.CompleteResultTask(); + return res; + + } + + + private static int[] ParseMultiSetting(int lyncServiceId, string settingName) + { + List retIds = new List(); + StringDictionary settings = ServerController.GetServiceSettings(lyncServiceId); + if (!String.IsNullOrEmpty(settings[settingName])) + { + string[] ids = settings[settingName].Split(','); + + int res; + foreach (string id in ids) + { + if (int.TryParse(id, out res)) + retIds.Add(res); + } + } + + if (retIds.Count == 0) + retIds.Add(lyncServiceId); + + return retIds.ToArray(); + + } + + + public static void GetLyncServices(int lyncServiceId, out int[] lyncServiceIds) + { + lyncServiceIds = ParseMultiSetting(lyncServiceId, "LyncServersServiceID"); + } + + + + public static LyncUser GetLyncUserGeneralSettings(int itemId, int accountId) + { + TaskManager.StartTask("LYNC", "GET_LYNC_USER_GENERAL_SETTINGS"); + + LyncUser user = null; + + try + { + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + { + throw new ApplicationException( + string.Format("Organization is null. ItemId={0}", itemId)); + } + + int lyncServiceId = GetLyncServiceID(org.PackageId); + LyncServer lync = GetLyncServer(lyncServiceId, org.ServiceId); + + OrganizationUser usr; + usr = OrganizationController.GetAccount(itemId, accountId); + + if (usr != null) + user = lync.GetLyncUserGeneralSettings(org.OrganizationId, usr.PrimaryEmailAddress); + + if (user != null) + { + LyncUserPlan plan = ObjectUtils.FillObjectFromDataReader(DataProvider.GetLyncUserPlanByAccountId(accountId)); + + if (plan != null) + { + user.LyncUserPlanId = plan.LyncUserPlanId; + user.LyncUserPlanName = plan.LyncUserPlanName; + } + } + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + + } + TaskManager.CompleteTask(); + return user; + + } + + public static int DeleteOrganization(int itemId) + { + // check account + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // place log record + TaskManager.StartTask("LYNC", "DELETE_ORG"); + TaskManager.ItemId = itemId; + + try + { + // delete organization in Exchange + //System.Threading.Thread.Sleep(5000); + Organization org = (Organization)PackageController.GetPackageItem(itemId); + + int lyncServiceId = GetLyncServiceID(org.PackageId); + LyncServer lync = GetLyncServer(lyncServiceId, org.ServiceId); + + bool successful = lync.DeleteOrganization(org.OrganizationId, org.DefaultDomain); + + return successful ? 0 : BusinessErrorCodes.ERROR_LYNC_DELETE_SOME_PROBLEMS; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + + public static LyncUserResult SetUserLyncPlan(int itemId, int accountId, int lyncUserPlanId) + { + LyncUserResult res = TaskManager.StartResultTask("LYNC", "SET_LYNC_USER_LYNCPLAN"); + + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.NOT_AUTHORIZED); + return res; + } + + try + { + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + { + throw new ApplicationException( + string.Format("Organization is null. ItemId={0}", itemId)); + } + + int lyncServiceId = GetLyncServiceID(org.PackageId); + LyncServer lync = GetLyncServer(lyncServiceId, org.ServiceId); + + LyncUserPlan plan = GetLyncUserPlan(itemId, lyncUserPlanId); + + OrganizationUser user; + user = OrganizationController.GetAccount(itemId, accountId); + + if (!lync.SetLyncUserPlan(org.OrganizationId, user.PrimaryEmailAddress, plan)) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ADD_LYNC_USER); + return res; + } + + try + { + DataProvider.SetLyncUserLyncUserplan(accountId, lyncUserPlanId); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ADD_LYNC_USER_TO_DATABASE, ex); + return res; + } + + res.IsSuccess = true; + TaskManager.CompleteResultTask(); + return res; + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_UPDATE_LYNC_USER, ex); + return res; + } + + } + + public static LyncUsersPagedResult GetLyncUsers(int itemId, string sortColumn, string sortDirection, int startRow, int count) + { + LyncUsersPagedResult res = TaskManager.StartResultTask("LYNC", "GET_LYNC_USERS"); + + try + { + IDataReader reader = + DataProvider.GetLyncUsers(itemId, sortColumn, sortDirection, startRow, count); + List accounts = new List(); + ObjectUtils.FillCollectionFromDataReader(accounts, reader); + res.Value = new LyncUsersPaged { PageUsers = accounts.ToArray() }; + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.GET_LYNC_USERS, ex); + return res; + } + + IntResult intRes = GetLyncUsersCount(itemId); + res.ErrorCodes.AddRange(intRes.ErrorCodes); + if (!intRes.IsSuccess) + { + TaskManager.CompleteResultTask(res); + return res; + } + res.Value.RecordsCount = intRes.Value; + + TaskManager.CompleteResultTask(); + return res; + } + + public static IntResult GetLyncUsersCount(int itemId) + { + IntResult res = TaskManager.StartResultTask("LYNC", "GET_LYNC_USERS_COUNT"); + try + { + res.Value = DataProvider.GetLyncUsersCount(itemId); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.GET_LYNC_USER_COUNT, ex); + return res; + } + + TaskManager.CompleteResultTask(); + return res; + } + + public static LyncUserResult DeleteLyncUser(int itemId, int accountId) + { + LyncUserResult res = TaskManager.StartResultTask("LYNC", "DELETE_LYNC_USER"); + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + + if (accountCheck < 0) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.NOT_AUTHORIZED); + return res; + } + + LyncServer lync; + + try + { + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + { + throw new ApplicationException( + string.Format("Organization is null. ItemId={0}", itemId)); + } + + int lyncServiceId = GetLyncServiceID(org.PackageId); + lync = GetLyncServer(lyncServiceId, org.ServiceId); + + OrganizationUser user; + user = OrganizationController.GetAccount(itemId, accountId); + + if (user != null) + lync.DeleteUser(user.PrimaryEmailAddress); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_DELETE_LYNC_USER, ex); + return res; + } + + try + { + DataProvider.DeleteLyncUser(accountId); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_DELETE_LYNC_USER_FROM_METADATA, ex); + return res; + } + + TaskManager.CompleteResultTask(); + return res; + } + + + public static Organization GetOrganization(int itemId) + { + return (Organization)PackageController.GetPackageItem(itemId); + } + + + #region Lync Plans + public static List GetLyncUserPlans(int itemId) + { + // place log record + TaskManager.StartTask("LYNC", "GET_LYNC_LYNCUSERPLANS"); + TaskManager.ItemId = itemId; + + try + { + return ObjectUtils.CreateListFromDataReader( + DataProvider.GetLyncUserPlans(itemId)); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static LyncUserPlan GetLyncUserPlan(int itemID, int lyncUserPlanId) + { + + // place log record + TaskManager.StartTask("LYNC", "GET_LYNC_LYNCUSERPLAN"); + TaskManager.ItemId = lyncUserPlanId; + + try + { + return ObjectUtils.FillObjectFromDataReader( + DataProvider.GetLyncUserPlan(lyncUserPlanId)); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + } + + public static int AddLyncUserPlan(int itemID, LyncUserPlan lyncUserPlan) + { + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + // place log record + TaskManager.StartTask("LYNC", "ADD_LYNC_LYNCUSERPLAN"); + TaskManager.ItemId = itemID; + + try + { + Organization org = GetOrganization(itemID); + if (org == null) + return -1; + + // load package context + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + + lyncUserPlan.Conferencing = lyncUserPlan.Conferencing & Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue); + lyncUserPlan.EnterpriseVoice = lyncUserPlan.EnterpriseVoice & Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_ENTERPRISEVOICE].QuotaAllocatedValue); + if (!lyncUserPlan.EnterpriseVoice) + lyncUserPlan.VoicePolicy = LyncVoicePolicyType.None; + lyncUserPlan.IM = true; + + return DataProvider.AddLyncUserPlan(itemID, lyncUserPlan); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + } + + public static int DeleteLyncUserPlan(int itemID, int lyncUserPlanId) + { + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + TaskManager.StartTask("LYNC", "DELETE_LYNC_LYNCPLAN"); + TaskManager.ItemId = itemID; + + try + { + DataProvider.DeleteLyncUserPlan(lyncUserPlanId); + + return 0; + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + } + + public static int SetOrganizationDefaultLyncUserPlan(int itemId, int lyncUserPlanId) + { + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + if (accountCheck < 0) return accountCheck; + + TaskManager.StartTask("LYNC", "SET_LYNC_LYNCUSERPLAN"); + TaskManager.ItemId = itemId; + + try + { + DataProvider.SetOrganizationDefaultLyncUserPlan(itemId, lyncUserPlanId); + + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + return 1; + + } + + #endregion + + #region Federation Domains + public static LyncFederationDomain[] GetFederationDomains(int itemId) + { + // place log record + TaskManager.StartTask("LYNC", "GET_LYNC_FEDERATIONDOMAINS"); + TaskManager.ItemId = itemId; + + LyncFederationDomain[] lyncFederationDomains = null; + + try + { + Organization org = (Organization)PackageController.GetPackageItem(itemId); + + int lyncServiceId = GetLyncServiceID(org.PackageId); + LyncServer lync = GetLyncServer(lyncServiceId, org.ServiceId); + + lyncFederationDomains = lync.GetFederationDomains(org.OrganizationId); + } + catch (Exception ex) + { + throw TaskManager.WriteError(ex); + } + finally + { + TaskManager.CompleteTask(); + } + + return lyncFederationDomains; + } + + public static LyncUserResult AddFederationDomain(int itemId, string domainName, string proxyFqdn) + { + LyncUserResult res = TaskManager.StartResultTask("LYNC", "ADD_LYNC_FEDERATIONDOMAIN"); + TaskManager.ItemId = itemId; + TaskManager.TaskParameters["domainName"] = domainName; + TaskManager.TaskParameters["proxyFqdn"] = proxyFqdn; + + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + + if (accountCheck < 0) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.NOT_AUTHORIZED); + return res; + } + + + try + { + + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + { + throw new ApplicationException( + string.Format("Organization is null. ItemId={0}", itemId)); + } + + int lyncServiceId = GetLyncServiceID(org.PackageId); + LyncServer lync = GetLyncServer(lyncServiceId, org.ServiceId); + + if (string.IsNullOrEmpty(org.LyncTenantId)) + { + PackageContext cntx = PackageController.GetPackageContext(org.PackageId); + + org.LyncTenantId = lync.CreateOrganization(org.OrganizationId, + org.DefaultDomain, + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue), + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_ALLOWVIDEO].QuotaAllocatedValue), + Convert.ToInt32(cntx.Quotas[Quotas.LYNC_MAXPARTICIPANTS].QuotaAllocatedValue), + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue), + Convert.ToBoolean(cntx.Quotas[Quotas.LYNC_CONFERENCING].QuotaAllocatedValue)); + + if (string.IsNullOrEmpty(org.LyncTenantId)) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ENABLE_ORG); + return res; + } + else + PackageController.UpdatePackageItem(org); + } + + lync = GetLyncServer(lyncServiceId, org.ServiceId); + + lync.AddFederationDomain(org.OrganizationId, domainName, proxyFqdn); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_ADD_LYNC_FEDERATIONDOMAIN, ex); + return res; + } + + TaskManager.CompleteResultTask(); + return res; + } + + public static LyncUserResult RemoveFederationDomain(int itemId, string domainName) + { + LyncUserResult res = TaskManager.StartResultTask("LYNC", "REMOVE_LYNC_FEDERATIONDOMAIN"); + TaskManager.ItemId = itemId; + TaskManager.TaskParameters["domainName"] = domainName; + + int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo | DemandAccount.IsActive); + + if (accountCheck < 0) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.NOT_AUTHORIZED); + return res; + } + + try + { + Organization org = (Organization)PackageController.GetPackageItem(itemId); + if (org == null) + { + throw new ApplicationException( + string.Format("Organization is null. ItemId={0}", itemId)); + } + + int lyncServiceId = GetLyncServiceID(org.PackageId); + LyncServer lync = GetLyncServer(lyncServiceId, org.ServiceId); + + if (org.OrganizationId.ToLower() == domainName.ToLower()) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_REMOVE_LYNC_FEDERATIONDOMAIN); + return res; + } + + lync.RemoveFederationDomain(org.OrganizationId, domainName); + } + catch (Exception ex) + { + TaskManager.CompleteResultTask(res, LyncErrorCodes.CANNOT_REMOVE_LYNC_FEDERATIONDOMAIN, ex); + return res; + } + + TaskManager.CompleteResultTask(); + return res; + } + + + #endregion + + + #region Private methods + public static UInt64 ConvertPhoneNumberToLong(string ip) + { + return Convert.ToUInt64(ip); + } + + public static string ConvertLongToPhoneNumber(UInt64 ip) + { + if (ip == 0) + return ""; + + return ip.ToString(); + } + #endregion + + + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncControllerAsync.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncControllerAsync.cs new file mode 100644 index 00000000..f30dc4f6 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/LyncControllerAsync.cs @@ -0,0 +1,97 @@ +// 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.Threading; +using System.Collections.Generic; +using System.Text; +using WebsitePanel.Providers; +using WebsitePanel.Providers.Common; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.ResultObjects; +using WebsitePanel.Providers.Lync; +using WebsitePanel.EnterpriseServer.Code.HostedSolution; + + +namespace WebsitePanel.EnterpriseServer.Code.HostedSolution +{ + public class LyncControllerAsync + { + private int lyncServiceId; + private int organizationServiceId; + + public int LyncServiceId + { + get { return this.lyncServiceId; } + set { this.lyncServiceId = value; } + } + + public int OrganizationServiceId + { + get { return this.organizationServiceId; } + set { this.organizationServiceId = value; } + } + + + public void Enable_CsComputerAsync() + { + // start asynchronously + Thread t = new Thread(new ThreadStart(Enable_CsComputer)); + t.Start(); + } + + private void Enable_CsComputer() + { + int[] lyncServiceIds; + + LyncController.GetLyncServices(lyncServiceId, out lyncServiceIds); + + foreach (int id in lyncServiceIds) + { + LyncServer lync = null; + try + { + lync = LyncController.GetLyncServer(id, organizationServiceId); + if (lync != null) + { + lync.ReloadConfiguration(); + } + } + catch (Exception exe) + { + TaskManager.WriteError(exe); + continue; + } + } + + + } + + + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs index 07672218..b3856eba 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/HostedSolution/OrganizationController.cs @@ -482,6 +482,66 @@ namespace WebsitePanel.EnterpriseServer } } + + private static bool DeleteLyncUsers(int itemId) + { + bool successful = false; + + try + { + LyncUsersPagedResult res = LyncController.GetLyncUsers(itemId, string.Empty, string.Empty, 0, int.MaxValue); + + if (res.IsSuccess) + { + successful = true; + foreach (LyncUser user in res.Value.PageUsers) + { + try + { + ResultObject delUserResult = LyncController.DeleteLyncUser(itemId, user.AccountID); + if (!delUserResult.IsSuccess) + { + StringBuilder sb = new StringBuilder(); + foreach (string str in delUserResult.ErrorCodes) + { + sb.Append(str); + sb.Append('\n'); + } + + throw new ApplicationException(sb.ToString()); + } + } + catch (Exception ex) + { + successful = false; + TaskManager.WriteError(ex); + } + } + + return successful; + } + else + { + StringBuilder sb = new StringBuilder(); + foreach (string str in res.ErrorCodes) + { + sb.Append(str); + sb.Append('\n'); + } + + throw new ApplicationException(sb.ToString()); + } + } + catch (Exception ex) + { + successful = false; + TaskManager.WriteError(ex); + } + + return successful; + } + + public static int DeleteOrganization(int itemId) { // check account @@ -570,7 +630,22 @@ namespace WebsitePanel.EnterpriseServer successful = false; TaskManager.WriteError(ex); } - + + //Cleanup Lync + try + { + if (!string.IsNullOrEmpty(org.LyncTenantId)) + if (DeleteLyncUsers(itemId)) + LyncController.DeleteOrganization(itemId); + } + catch (Exception ex) + { + successful = false; + TaskManager.WriteError(ex); + } + + + //Cleanup Exchange try { if (!string.IsNullOrEmpty(org.GlobalAddressList)) @@ -791,6 +866,11 @@ namespace WebsitePanel.EnterpriseServer stats.AllocatedOCSUsers = cntx.Quotas[Quotas.OCS_USERS].QuotaAllocatedValue; } + if (cntx.Groups.ContainsKey(ResourceGroups.Lync)) + { + stats.CreatedLyncUsers = LyncController.GetLyncUsersCount(org.Id).Value; + stats.AllocatedLyncUsers = cntx.Quotas[Quotas.LYNC_USERS].QuotaAllocatedValue; + } return stats; } @@ -1371,7 +1451,7 @@ namespace WebsitePanel.EnterpriseServer retUser.AccountType = account.AccountType; retUser.CrmUserId = CRMController.GetCrmUserId(accountId); retUser.IsOCSUser = DataProvider.CheckOCSUserExists(accountId); - //retUser.IsLyncUser = DataProvider.CheckLyncUserExists(accountId); + retUser.IsLyncUser = DataProvider.CheckLyncUserExists(accountId); retUser.IsBlackBerryUser = BlackBerryController.CheckBlackBerryUserExists(accountId); retUser.SubscriberNumber = account.SubscriberNumber; diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj index a2556f80..cb74773e 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/WebsitePanel.EnterpriseServer.csproj @@ -78,6 +78,7 @@ + @@ -130,6 +131,8 @@ + + @@ -235,6 +238,10 @@ + + esLync.asmx + Component + esVirtualizationServerForPrivateCloud.asmx Component diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx new file mode 100644 index 00000000..a481f74b --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx @@ -0,0 +1 @@ +<%@ WebService Language="C#" CodeBehind="esLync.asmx.cs" Class="WebsitePanel.EnterpriseServer.esLync" %> diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx.cs new file mode 100644 index 00000000..56ba913b --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esLync.asmx.cs @@ -0,0 +1,135 @@ +// 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.Web.Services; +using WebsitePanel.EnterpriseServer.Code.HostedSolution; +using WebsitePanel.Providers.Common; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.ResultObjects; +using System.Collections.Generic; + +namespace WebsitePanel.EnterpriseServer +{ + ///

+ /// Summary description for esLync + /// + [WebService(Namespace = "http://tempuri.org/")] + [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] + [System.ComponentModel.ToolboxItem(false)] + public class esLync : WebService + { + + [WebMethod] + public LyncUserResult CreateLyncUser(int itemId, int accountId, int lyncUserPlanId) + { + return LyncController.CreateLyncUser(itemId, accountId, lyncUserPlanId); + } + + [WebMethod] + public ResultObject DeleteLyncUser(int itemId, int accountId) + { + return LyncController.DeleteLyncUser(itemId, accountId); + } + + [WebMethod] + public LyncUsersPagedResult GetLyncUsersPaged(int itemId, string sortColumn, string sortDirection, int startRow, int maximumRows) + { + return LyncController.GetLyncUsers(itemId, sortColumn, sortDirection, startRow, maximumRows); + } + + [WebMethod] + public IntResult GetLyncUserCount(int itemId) + { + return LyncController.GetLyncUsersCount(itemId); + } + + + #region Lync User Plans + [WebMethod] + public List GetLyncUserPlans(int itemId) + { + return LyncController.GetLyncUserPlans(itemId); + } + + [WebMethod] + public LyncUserPlan GetLyncUserPlan(int itemId, int lyncUserPlanId) + { + return LyncController.GetLyncUserPlan(itemId, lyncUserPlanId); + } + + [WebMethod] + public int AddLyncUserPlan(int itemId, LyncUserPlan lyncUserPlan) + { + return LyncController.AddLyncUserPlan(itemId, lyncUserPlan); + } + + [WebMethod] + public int DeleteLyncUserPlan(int itemId, int lyncUserPlanId) + { + return LyncController.DeleteLyncUserPlan(itemId, lyncUserPlanId); + } + + [WebMethod] + public int SetOrganizationDefaultLyncUserPlan(int itemId, int lyncUserPlanId) + { + return LyncController.SetOrganizationDefaultLyncUserPlan(itemId, lyncUserPlanId); + } + + [WebMethod] + public LyncUser GetLyncUserGeneralSettings(int itemId, int accountId) + { + return LyncController.GetLyncUserGeneralSettings(itemId, accountId); + } + + [WebMethod] + public LyncUserResult SetUserLyncPlan(int itemId, int accountId, int lyncUserPlanId) + { + return LyncController.SetUserLyncPlan(itemId, accountId, lyncUserPlanId); + } + + [WebMethod] + public LyncFederationDomain[] GetFederationDomains(int itemId) + { + return LyncController.GetFederationDomains(itemId); + } + + [WebMethod] + public LyncUserResult AddFederationDomain(int itemId, string domainName, string proxyFqdn) + { + return LyncController.AddFederationDomain(itemId, domainName, proxyFqdn); + } + + [WebMethod] + public LyncUserResult RemoveFederationDomain(int itemId, string domainName) + { + return LyncController.RemoveFederationDomain(itemId, domainName); + } + + #endregion + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ILyncServer.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ILyncServer.cs new file mode 100644 index 00000000..ef1047a0 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/ILyncServer.cs @@ -0,0 +1,51 @@ +// 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 interface ILyncServer + { + string CreateOrganization(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice); + bool DeleteOrganization(string organizationId, string sipDomain); + + bool CreateUser(string organizationId, string userUpn, LyncUserPlan plan); + LyncUser GetLyncUserGeneralSettings(string organizationId, string userUpn); + bool SetLyncUserPlan(string organizationId, string userUpn, LyncUserPlan plan); + bool DeleteUser(string userUpn); + + LyncFederationDomain[] GetFederationDomains(string organizationId); + bool AddFederationDomain(string organizationId, string domainName, string proxyFqdn); + bool RemoveFederationDomain(string organizationId, string domainName); + + void ReloadConfiguration(); + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncConstants.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncConstants.cs new file mode 100644 index 00000000..4da82007 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncConstants.cs @@ -0,0 +1,36 @@ +// 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. + +namespace WebsitePanel.Providers.HostedSolution + { + public class LyncConstants + { + public const string PoolFQDN = "PoolFQDN"; + public const string SimpleUrlRoot = "SimpleUrlRoot"; + } + } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncErrorCodes.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncErrorCodes.cs new file mode 100644 index 00000000..15cfbae8 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncErrorCodes.cs @@ -0,0 +1,74 @@ +// 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. + +namespace WebsitePanel.Providers.HostedSolution + { + public class LyncErrorCodes + { + public const string CANNOT_CHECK_IF_LYNC_USER_EXISTS = "CANNOT_CHECK_IF_LYNC_USER_EXISTS"; + + public const string USER_IS_ALREADY_LYNC_USER = "USER_IS_ALREADY_LYNC_USER"; + + public const string USER_FIRST_NAME_IS_NOT_SPECIFIED = "USER_FIRST_NAME_IS_NOT_SPECIFIED"; + + public const string USER_LAST_NAME_IS_NOT_SPECIFIED = "USER_LAST_NAME_IS_NOT_SPECIFIED"; + + public const string CANNOT_GET_USER_GENERAL_SETTINGS = "CANNOT_GET_USER_GENERAL_SETTINGS"; + + public const string CANNOT_ADD_LYNC_USER_TO_DATABASE = "CANNOT_ADD_LYNC_USER_TO_DATABASE"; + + public const string GET_LYNC_USER_COUNT = "GET_LYNC_USER_COUNT"; + + public const string GET_LYNC_USERS = "GET_LYNC_USERS"; + + public const string CANNOT_DELETE_LYNC_USER_FROM_METADATA = "CANNOT_DELETE_LYNC_USER_FROM_METADATA"; + + public const string CANNOT_DELETE_LYNC_USER = "CANNOT_DELETE_LYNC_USER"; + + public const string CANNOT_GET_LYNC_PROXY = "CANNOT_GET_LYNC_PROXY"; + + public const string USER_QUOTA_HAS_BEEN_REACHED = "USER_QUOTA_HAS_BEEN_REACHED"; + + public const string CANNOT_CHECK_QUOTA = "CANNOT_CHECK_QUOTA"; + + public const string CANNOT_SET_DEFAULT_SETTINGS = "CANNOT_SET_DEFAULT_SETTINGS"; + + public const string CANNOT_ADD_LYNC_USER = "CANNOT_ADD_LYNC_USER"; + + public const string CANNOT_UPDATE_LYNC_USER = "CANNOT_UPDATE_LYNC_USER"; + + public const string CANNOT_ENABLE_ORG = "CANNOT_ENABLE_ORG"; + + public const string NOT_AUTHORIZED = "NOT_AUTHORIZED"; + + public const string CANNOT_ADD_LYNC_FEDERATIONDOMAIN = "CANNOT_ADD_LYNC_FEDERATIONDOMAIN"; + + public const string CANNOT_REMOVE_LYNC_FEDERATIONDOMAIN = "CANNOT_REMOVE_LYNC_FEDERATIONDOMAIN"; + + } + } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncFederationDomain.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncFederationDomain.cs new file mode 100644 index 00000000..f5ac4498 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncFederationDomain.cs @@ -0,0 +1,66 @@ +// 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 LyncFederationDomain + { + string domainName; + string comment; + bool markForMonitoring; + string proxyFqdn; + + public string DomainName + { + get { return this.domainName; } + set { this.domainName = value; } + } + + public string Comment + { + get { return this.comment; } + set { this.comment = value; } + } + + public bool MarkForMonitoring + { + get { return this.markForMonitoring; } + set { this.markForMonitoring = value; } + } + + public string ProxyFqdn + { + get { return this.proxyFqdn; } + set { this.proxyFqdn = value; } + } + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUser.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUser.cs new file mode 100644 index 00000000..1a4dd851 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUser.cs @@ -0,0 +1,45 @@ +// 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 LyncUser + { + public string PrimaryUri { get; set; } + public string PrimaryEmailAddress { get; set; } + public string DisplayName { get; set; } + public string LineUri { get; set; } + public int AccountID { get; set; } + public int LyncUserPlanId { get; set; } + public string LyncUserPlanName { get; set; } + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUserPlan.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUserPlan.cs new file mode 100644 index 00000000..27b236ec --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUserPlan.cs @@ -0,0 +1,112 @@ +// 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 LyncUserPlan + { + int lyncUserPlanId; + string lyncUserPlanName; + + bool im; + bool federation; + bool conferencing; + bool enterpriseVoice; + bool mobility; + bool mobilityEnableOutsideVoice; + LyncVoicePolicyType voicePolicy; + + bool isDefault; + + public int LyncUserPlanId + { + get { return this.lyncUserPlanId; } + set { this.lyncUserPlanId = value; } + } + + public string LyncUserPlanName + { + get { return this.lyncUserPlanName; } + set { this.lyncUserPlanName = value; } + } + + public bool IM + { + get { return this.im; } + set { this.im = value; } + } + + public bool IsDefault + { + get { return this.isDefault; } + set { this.isDefault = value; } + } + + public bool Federation + { + get { return this.federation; } + set { this.federation = value; } + } + + public bool Conferencing + { + get { return this.conferencing; } + set { this.conferencing = value; } + } + + public bool EnterpriseVoice + { + get { return this.enterpriseVoice; } + set { this.enterpriseVoice = value; } + } + + public bool Mobility + { + get { return this.mobility; } + set { this.mobility = value; } + } + + public bool MobilityEnableOutsideVoice + { + get { return this.mobilityEnableOutsideVoice; } + set { this.mobilityEnableOutsideVoice = value; } + } + + public LyncVoicePolicyType VoicePolicy + { + get { return this.voicePolicy; } + set { this.voicePolicy = value; } + } + + + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUsersPaged.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUsersPaged.cs new file mode 100644 index 00000000..6df0867c --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncUsersPaged.cs @@ -0,0 +1,50 @@ +// 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. + + + +namespace WebsitePanel.Providers.HostedSolution +{ + public class LyncUsersPaged + { + int recordsCount; + LyncUser[] pageUsers; + + public int RecordsCount + { + get { return recordsCount; } + set { recordsCount = value; } + } + + public LyncUser[] PageUsers + { + get { return pageUsers; } + set { pageUsers = value; } + } + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncVoicePolicyType.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncVoicePolicyType.cs new file mode 100644 index 00000000..fc203a67 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/LyncVoicePolicyType.cs @@ -0,0 +1,39 @@ +// 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. + +namespace WebsitePanel.Providers.HostedSolution +{ + public enum LyncVoicePolicyType + { + None = 0, + Emergency = 1, + National = 2, + Mobile = 3, + International = 4 + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatistics.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatistics.cs index bc322dd4..50981d9e 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatistics.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/HostedSolution/OrganizationStatistics.cs @@ -173,6 +173,8 @@ namespace WebsitePanel.Providers.HostedSolution public int CreatedOCSUsers { get; set; } public int AllocatedOCSUsers { get; set; } + public int CreatedLyncUsers { get; set; } + public int AllocatedLyncUsers { get; set; } } } diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUserResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUserResult.cs new file mode 100644 index 00000000..bf5e64fd --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUserResult.cs @@ -0,0 +1,36 @@ +// 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 WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Providers.ResultObjects +{ + public class LyncUserResult : ValueResultObject + { + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUsersPagedResult.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUsersPagedResult.cs new file mode 100644 index 00000000..169b13cd --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/ResultObjects/LyncUsersPagedResult.cs @@ -0,0 +1,36 @@ +// 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 WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Providers.ResultObjects +{ + public class LyncUsersPagedResult : ValueResultObject + { + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj index a74bff15..d5f41672 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/WebsitePanel.Providers.Base.csproj @@ -80,6 +80,14 @@ + + + + + + + + @@ -118,6 +126,8 @@ + + diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Lync2010.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Lync2010.cs new file mode 100644 index 00000000..21887292 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Lync2010.cs @@ -0,0 +1,1248 @@ +// 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.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Text; +using System.Reflection; +using System.Globalization; +using System.DirectoryServices; + +using Microsoft.Win32; + +using WebsitePanel.Providers; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.Utils; +using WebsitePanel.Server.Utils; + +using System.Management; +using System.Management.Automation; +using System.Management.Automation.Runspaces; + +using Microsoft.Rtc.Management.Hosted; +using Microsoft.Rtc.Management.WritableConfig.Settings.Edge; +using Microsoft.Rtc.Management.WritableConfig.Settings.SimpleUrl; + + +namespace WebsitePanel.Providers.HostedSolution +{ + public class Lync2010 : HostingServiceProviderBase, ILyncServer + { + + #region Static constructor + static Lync2010() + { + LyncRegistryPath = "SOFTWARE\\Microsoft\\Real-Time Communications"; + } + + internal static string LyncRegistryPath + { + get; + set; + } + + #endregion + + + #region Properties + + /// + /// Pool FQDN + /// + private string PoolFQDN + { + get { return ProviderSettings[LyncConstants.PoolFQDN]; } + } + + private string SimpleUrlRoot + { + get { return ProviderSettings[LyncConstants.SimpleUrlRoot]; } + } + + internal string PrimaryDomainController + { + get { return ProviderSettings["PrimaryDomainController"]; } + } + + private string RootOU + { + get { return ProviderSettings["RootOU"]; } + } + + private string RootDomain + { + get { return ServerSettings.ADRootDomain; } + } + + + #endregion + + #region ILyncServer implementation + + public string CreateOrganization(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice) + { + return CreateOrganizationInternal(organizationId, sipDomain, enableConferencing, enableConferencingVideo, maxConferenceSize, enabledFederation, enabledEnterpriseVoice); + } + + public bool DeleteOrganization(string organizationId, string sipDomain) + { + return DeleteOrganizationInternal(organizationId, sipDomain); + } + + public bool CreateUser(string organizationId, string userUpn, LyncUserPlan plan) + { + return CreateUserInternal(organizationId, userUpn, plan); + } + + public LyncUser GetLyncUserGeneralSettings(string organizationId, string userUpn) + { + return GetLyncUserGeneralSettingsInternal(organizationId, userUpn); + } + + public bool SetLyncUserPlan(string organizationId, string userUpn, LyncUserPlan plan) + { + return SetLyncUserPlanInternal(organizationId, userUpn, plan, null); + } + + public bool DeleteUser(string userUpn) + { + return DeleteUserInternal(userUpn); + } + + public LyncFederationDomain[] GetFederationDomains(string organizationId) + { + return GetFederationDomainsInternal(organizationId); + } + + public bool AddFederationDomain(string organizationId, string domainName, string proxyFqdn) + { + return AddFederationDomainInternal(organizationId, domainName, proxyFqdn); + } + + public bool RemoveFederationDomain(string organizationId, string domainName) + { + return RemoveFederationDomainInternal(organizationId, domainName); + } + + public void ReloadConfiguration() + { + ReloadConfigurationInternal(); + } + + #endregion + + #region organization + private string CreateOrganizationInternal(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice) + { + HostedSolutionLog.LogStart("CreateOrganizationInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("sipDomain: {0}", sipDomain); + + string TenantId = string.Empty; + + LyncTransaction transaction = StartTransaction(); + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + // create sip domain + Command cmd = new Command("New-CsSipDomain"); + cmd.Parameters.Add("Identity", sipDomain); + ExecuteShellCommand(runSpace, cmd, false); + + transaction.RegisterNewSipDomain(sipDomain); + + //set the msRTCSIP-Domains, TenantID, ObjectID + Guid id = Guid.NewGuid(); + + string path = AddADPrefix(GetOrganizationPath(organizationId)); + DirectoryEntry ou = ActiveDirectoryUtils.GetADObject(path); + ActiveDirectoryUtils.SetADObjectPropertyValue(ou, "msRTCSIP-Domains", sipDomain); + ActiveDirectoryUtils.SetADObjectPropertyValue(ou, "msRTCSIP-TenantId", id); + ActiveDirectoryUtils.SetADObjectPropertyValue(ou, "msRTCSIP-ObjectId", id); + ou.CommitChanges(); + + //Create simpleurls + CreateSimpleUrl(runSpace, sipDomain, id); + transaction.RegisterNewSimpleUrl(sipDomain, id.ToString()); + + //create conferencing policy + cmd = new Command("New-CsConferencingPolicy"); + cmd.Parameters.Add("Identity", organizationId); + cmd.Parameters.Add("MaxMeetingSize", maxConferenceSize); + cmd.Parameters.Add("AllowIPVideo", enableConferencingVideo); + ExecuteShellCommand(runSpace, cmd, false); + transaction.RegisterNewConferencingPolicy(organizationId); + + //create external access policy + cmd = new Command("New-CsExternalAccessPolicy"); + cmd.Parameters.Add("Identity", organizationId); + cmd.Parameters.Add("EnableFederationAccess", true); + cmd.Parameters.Add("EnableOutsideAccess", true); + cmd.Parameters.Add("EnablePublicCloudAccess", false); + cmd.Parameters.Add("EnablePublicCloudAudioVideoAccess", false); + ExecuteShellCommand(runSpace, cmd, false); + transaction.RegisterNewCsExternalAccessPolicy(organizationId); + + //Enable for federation + AllowList allowList = new AllowList(); + DomainPattern domain = new DomainPattern(sipDomain); + allowList.AllowedDomain.Add(domain); + + cmd = new Command("Set-CsTenantFederationConfiguration"); + cmd.Parameters.Add("Tenant", id); + cmd.Parameters.Add("AllowFederatedUsers", true); + cmd.Parameters.Add("AllowedDomains", allowList); + ExecuteShellCommand(runSpace, cmd, false); + + //create mobility policy + cmd = new Command("New-CsMobilityPolicy"); + cmd.Parameters.Add("Identity", organizationId + " EnableOutSideVoice"); + cmd.Parameters.Add("EnableMobility", true); + cmd.Parameters.Add("EnableOutsideVoice", true); + ExecuteShellCommand(runSpace, cmd, false); + transaction.RegisterNewCsMobilityPolicy(organizationId + " EnableOutSideVoice"); + + cmd = new Command("New-CsMobilityPolicy"); + cmd.Parameters.Add("Identity", organizationId + " DisableOutSideVoice"); + cmd.Parameters.Add("EnableMobility", true); + cmd.Parameters.Add("EnableOutsideVoice", false); + ExecuteShellCommand(runSpace, cmd, false); + transaction.RegisterNewCsMobilityPolicy(organizationId + " DisableOutSideVoice"); + + cmd = new Command("Invoke-CsManagementStoreReplication"); + ExecuteShellCommand(runSpace, cmd, false); + + + TenantId = id.ToString(); + } + catch (Exception ex) + { + HostedSolutionLog.LogError("CreateOrganizationInternal", ex); + RollbackTransaction(transaction); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + + HostedSolutionLog.LogEnd("CreateOrganizationInternal"); + + return TenantId; + } + + + + private bool DeleteOrganizationInternal(string organizationId, string sipDomain) + { + HostedSolutionLog.LogStart("DeleteOrganizationInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("sipDomain: {0}", sipDomain); + + bool ret = true; + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Command cmd = new Command("Get-CsTenant"); + cmd.Parameters.Add("Identity", GetOrganizationPath(organizationId)); + Collection result = ExecuteShellCommand(runSpace, cmd, false); + if ((result != null) && (result.Count > 0)) + { + Guid tenantId = (Guid)GetPSObjectProperty(result[0], "TenantId"); + + // create sip domain + DeleteSipDomain(runSpace, sipDomain); + + //clear the msRTCSIP-Domains, TenantID, ObjectID + string path = AddADPrefix(GetOrganizationPath(organizationId)); + DirectoryEntry ou = ActiveDirectoryUtils.GetADObject(path); + ActiveDirectoryUtils.ClearADObjectPropertyValue(ou, "msRTCSIP-Domains"); + ActiveDirectoryUtils.ClearADObjectPropertyValue(ou, "msRTCSIP-TenantId"); + ActiveDirectoryUtils.ClearADObjectPropertyValue(ou, "msRTCSIP-ObjectId"); + ou.CommitChanges(); + + try + { + DeleteConferencingPolicy(runSpace, organizationId); + } + catch (Exception) + { + } + + try + { + DeleteExternalAccessPolicy(runSpace, organizationId); + } + catch (Exception) + { + } + + try + { + DeleteMobilityPolicy(runSpace, organizationId + " EnableOutSideVoice"); + } + catch (Exception) + { + } + + try + { + DeleteMobilityPolicy(runSpace, organizationId + " DisableOutSideVoice"); + } + catch (Exception) + { + } + + try + { + DeleteSimpleUrl(runSpace, sipDomain, tenantId); + } + catch (Exception) + { + } + } + + cmd = new Command("Invoke-CsManagementStoreReplication"); + ExecuteShellCommand(runSpace, cmd, false); + + } + catch (Exception ex) + { + ret = false; + HostedSolutionLog.LogError("DeleteOrganizationInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("DeleteOrganizationInternal"); + return ret; + } + #endregion + + #region Users + private bool CreateUserInternal(string organizationId, string userUpn, LyncUserPlan plan) + { + HostedSolutionLog.LogStart("CreateUserInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("userUpn: {0}", userUpn); + + bool ret = true; + Guid tenantId = Guid.Empty; + + LyncTransaction transaction = StartTransaction(); + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Command cmd = new Command("Get-CsTenant"); + cmd.Parameters.Add("Identity", GetOrganizationPath(organizationId)); + Collection result = ExecuteShellCommand(runSpace, cmd, false); + if ((result != null) && (result.Count > 0)) + { + tenantId = (Guid)GetPSObjectProperty(result[0], "TenantId"); + + //enable for lync + cmd = new Command("Enable-CsUser"); + cmd.Parameters.Add("Identity", userUpn); + cmd.Parameters.Add("RegistrarPool", PoolFQDN); + cmd.Parameters.Add("SipAddressType", "UserPrincipalName"); + ExecuteShellCommand(runSpace, cmd); + + transaction.RegisterNewCsUser(userUpn); + + //set groupingID and tenantID + cmd = new Command("Get-CsAdUser"); + cmd.Parameters.Add("Identity", userUpn); + result = ExecuteShellCommand(runSpace, cmd); + + + string path = AddADPrefix(GetResultObjectDN(result)); + DirectoryEntry user = ActiveDirectoryUtils.GetADObject(path); + ActiveDirectoryUtils.SetADObjectPropertyValue(user, "msRTCSIP-GroupingID", tenantId); + ActiveDirectoryUtils.SetADObjectPropertyValue(user, "msRTCSIP-TenantId", tenantId); + + string[] tmp = userUpn.Split('@'); + if (tmp.Length > 0) + { + string Url = SimpleUrlRoot + tmp[1]; + ActiveDirectoryUtils.SetADObjectPropertyValue(user, "msRTCSIP-BaseSimpleUrl", Url); + } + user.CommitChanges(); + + //set-plan + SetLyncUserPlanInternal(organizationId, userUpn, plan, runSpace); + + //initiate addressbook generation + cmd = new Command("Update-CsAddressBook"); + ExecuteShellCommand(runSpace, cmd, false); + + //initiate user database replication + cmd = new Command("Update-CsUserDatabase"); + ExecuteShellCommand(runSpace, cmd, false); + } + else + { + ret = false; + HostedSolutionLog.LogError("Failed to retrieve tenantID", null); + } + } + catch (Exception ex) + { + ret = false; + HostedSolutionLog.LogError("CreateUserInternal", ex); + RollbackTransaction(transaction); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("CreateUserInternal"); + return ret; + } + + private LyncUser GetLyncUserGeneralSettingsInternal(string organizationId, string userUpn) + { + HostedSolutionLog.LogStart("GetLyncUserGeneralSettingsInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("userUpn: {0}", userUpn); + + LyncUser lyncUser = new LyncUser(); + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Command cmd = new Command("Get-CsUser"); + cmd.Parameters.Add("Identity", userUpn); + Collection result = ExecuteShellCommand(runSpace, cmd); + PSObject user = result[0]; + + lyncUser.DisplayName = (string)GetPSObjectProperty(user, "DisplayName"); + lyncUser.PrimaryUri = (string)GetPSObjectProperty(user, "SipAddress"); + lyncUser.LineUri = (string)GetPSObjectProperty(user, "LineURI"); + } + catch (Exception ex) + { + HostedSolutionLog.LogError("GetLyncUserGeneralSettingsInternal", ex); + throw; + } + finally + { + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("GetLyncUserGeneralSettingsInternal"); + return lyncUser; + } + + + private bool SetLyncUserPlanInternal(string organizationId, string userUpn, LyncUserPlan plan, Runspace runSpace) + { + HostedSolutionLog.LogStart("SetLyncUserPlanInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("userUpn: {0}", userUpn); + bool ret = true; + bool bCloseRunSpace = false; + + try + { + if (runSpace == null) + { + runSpace = OpenRunspace(); + bCloseRunSpace = true; + } + + //CsExternalAccessPolicy + Command cmd = new Command("Grant-CsExternalAccessPolicy"); + cmd.Parameters.Add("Identity", userUpn); + cmd.Parameters.Add("PolicyName", plan.Federation ? organizationId : null); + ExecuteShellCommand(runSpace, cmd); + + //CsConferencingPolicy + cmd = new Command("Grant-CsConferencingPolicy"); + cmd.Parameters.Add("Identity", userUpn); + cmd.Parameters.Add("PolicyName", plan.Federation ? organizationId : null); + ExecuteShellCommand(runSpace, cmd); + + //CsMobilityPolicy + cmd = new Command("Grant-CsMobilityPolicy"); + cmd.Parameters.Add("Identity", userUpn); + if (plan.Mobility) + cmd.Parameters.Add("PolicyName", plan.MobilityEnableOutsideVoice ? organizationId + " EnableOutSideVoice" : organizationId + " DisableOutSideVoice"); + else + cmd.Parameters.Add("PolicyName", null); + ExecuteShellCommand(runSpace, cmd); + + //initiate user database replication + cmd = new Command("Update-CsUserDatabase"); + ExecuteShellCommand(runSpace, cmd, false); + } + catch (Exception ex) + { + ret = false; + HostedSolutionLog.LogError("SetLyncUserPlanInternal", ex); + throw; + } + finally + { + + if (bCloseRunSpace) CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("SetLyncUserPlanInternal"); + return ret; + } + + + private bool DeleteUserInternal(string userUpn) + { + HostedSolutionLog.LogStart("DeleteUserInternal"); + HostedSolutionLog.DebugInfo("userUpn: {0}", userUpn); + + bool ret = true; + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + //Delete User + DeleteUser(runSpace, userUpn); + + //Clear groupingID and tenantID + Command cmd = new Command("Get-CsAdUser"); + cmd.Parameters.Add("Identity", userUpn); + Collection result = ExecuteShellCommand(runSpace, cmd); + + string path = AddADPrefix(GetResultObjectDN(result)); + DirectoryEntry user = ActiveDirectoryUtils.GetADObject(path); + ActiveDirectoryUtils.ClearADObjectPropertyValue(user, "msRTCSIP-GroupingID"); + ActiveDirectoryUtils.ClearADObjectPropertyValue(user, "msRTCSIP-TenantId"); + ActiveDirectoryUtils.ClearADObjectPropertyValue(user, "msRTCSIP-BaseSimpleUrl"); + user.CommitChanges(); + + //initiate addressbook generation + cmd = new Command("Update-CsAddressBook"); + ExecuteShellCommand(runSpace, cmd, false); + + //initiate user database replication + cmd = new Command("Update-CsUserDatabase"); + ExecuteShellCommand(runSpace, cmd, false); + } + catch (Exception ex) + { + ret = false; + HostedSolutionLog.LogError("DeleteUserInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("DeleteUserInternal"); + return ret; + } + + internal void DeleteUser(Runspace runSpace, string userUpn) + { + HostedSolutionLog.LogStart("DeleteUser"); + HostedSolutionLog.DebugInfo("userUpn : {0}", userUpn); + Command cmd = new Command("Disable-CsUser"); + cmd.Parameters.Add("Identity", userUpn); + cmd.Parameters.Add("Confirm", false); + ExecuteShellCommand(runSpace, cmd, false); + HostedSolutionLog.LogEnd("DeleteUser"); + } + + #endregion + + #region SipDomains + internal void DeleteSipDomain(Runspace runSpace, string id) + { + HostedSolutionLog.LogStart("DeleteSipDomain"); + HostedSolutionLog.DebugInfo("SipDomain : {0}", id); + Command cmd = new Command("Remove-CsSipDomain"); + cmd.Parameters.Add("Identity", id); + cmd.Parameters.Add("Confirm", false); + cmd.Parameters.Add("Force", true); + ExecuteShellCommand(runSpace, cmd, false); + HostedSolutionLog.LogEnd("DeleteSipDomain"); + } + + private void CreateSimpleUrl(Runspace runSpace, string sipDomain, Guid id) + { + //Create the simpleUrlEntry + Command cmd = new Command("Get-CsSipDomain"); + Collection sipDomains = ExecuteShellCommand(runSpace, cmd, false); + + IList SimpleUrls = new List(); + + + foreach (PSObject domain in sipDomains) + { + string d = (string)GetPSObjectProperty(domain, "Name"); + string Url = SimpleUrlRoot + d; + + + //Create the simpleUrlEntry + cmd = new Command("New-CsSimpleUrlEntry"); + cmd.Parameters.Add("Url", Url); + Collection simpleUrlEntry = ExecuteShellCommand(runSpace, cmd, false); + + //Create the simpleUrl + cmd = new Command("New-CsSimpleUrl"); + cmd.Parameters.Add("Component", "meet"); + cmd.Parameters.Add("Domain", d); + cmd.Parameters.Add("SimpleUrl", simpleUrlEntry[0]); + cmd.Parameters.Add("ActiveUrl", Url); + Collection simpleUrl = ExecuteShellCommand(runSpace, cmd, false); + + SimpleUrls.Add(simpleUrl[0]); + } + + Hashtable properties = new Hashtable(); + properties.Add("Add", SimpleUrls); + + //PSListModifier + cmd = new Command("Set-CsSimpleUrlConfiguration"); + cmd.Parameters.Add("Identity", "Global"); + cmd.Parameters.Add("Tenant", id); + cmd.Parameters.Add("SimpleUrl", SimpleUrls); + ExecuteShellCommand(runSpace, cmd, false); + } + + + internal void DeleteSimpleUrl(Runspace runSpace, string sipDomain, Guid id) + { + /* + //build the url + string Url = SimpleUrlRoot + sipDomain; + + //Create the simpleUrlEntry + Command cmd = new Command("New-CsSimpleUrlEntry"); + cmd.Parameters.Add("Url", Url); + Collection simpleUrlEntry = ExecuteShellCommand(runSpace, cmd, false); + + //Create the simpleUrl + cmd = new Command("New-CsSimpleUrl"); + cmd.Parameters.Add("Component", "meet"); + cmd.Parameters.Add("Domain", sipDomain); + cmd.Parameters.Add("SimpleUrl", simpleUrlEntry[0]); + cmd.Parameters.Add("ActiveUrl", Url); + Collection simpleUrl = ExecuteShellCommand(runSpace, cmd, false); + + //PSListModifier + + Hashtable properties = new Hashtable(); + properties.Add("Remove", simpleUrl[0]); + + cmd = new Command("Set-CsSimpleUrlConfiguration"); + cmd.Parameters.Add("Identity", "Global"); + cmd.Parameters.Add("Tenant", id); + cmd.Parameters.Add("SimpleUrl", properties); + ExecuteShellCommand(runSpace, cmd, false); + */ + } + + + #endregion + + #region Policies + + internal void DeleteConferencingPolicy(Runspace runSpace, string policyName) + { + HostedSolutionLog.LogStart("DeleteConferencingPolicy"); + HostedSolutionLog.DebugInfo("policyName : {0}", policyName); + Command cmd = new Command("Remove-CsConferencingPolicy"); + cmd.Parameters.Add("Identity", policyName); + cmd.Parameters.Add("Confirm", false); + cmd.Parameters.Add("Force", true); + ExecuteShellCommand(runSpace, cmd, false); + HostedSolutionLog.LogEnd("DeleteConferencingPolicy"); + } + + internal void DeleteExternalAccessPolicy(Runspace runSpace, string policyName) + { + HostedSolutionLog.LogStart("DeleteExternalAccessPolicy"); + HostedSolutionLog.DebugInfo("policyName : {0}", policyName); + Command cmd = new Command("Remove-CsExternalAccessPolicy"); + cmd.Parameters.Add("Identity", policyName); + cmd.Parameters.Add("Confirm", false); + cmd.Parameters.Add("Force", true); + ExecuteShellCommand(runSpace, cmd, false); + HostedSolutionLog.LogEnd("DeleteExternalAccessPolicy"); + } + + internal void DeleteMobilityPolicy(Runspace runSpace, string policyName) + { + HostedSolutionLog.LogStart("DeleteMobilityPolicy"); + HostedSolutionLog.DebugInfo("policyName : {0}", policyName); + Command cmd = new Command("Remove-CsMobilityPolicy"); + cmd.Parameters.Add("Identity", policyName); + cmd.Parameters.Add("Confirm", false); + cmd.Parameters.Add("Force", true); + ExecuteShellCommand(runSpace, cmd, false); + HostedSolutionLog.LogEnd("DeleteMobilityPolicy"); + } + + #endregion + + #region Sytsem Related Methods + private void ReloadConfigurationInternal() + { + HostedSolutionLog.LogStart("ReloadConfigurationInternal"); + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Command cmd = new Command("Enable-CsComputer"); + ExecuteShellCommand(runSpace, cmd, false); + } + catch (Exception ex) + { + HostedSolutionLog.LogError("ReloadConfigurationInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("ReloadConfigurationInternal"); + } + + + #endregion + + #region Federation Domains + private LyncFederationDomain[] GetFederationDomainsInternal(string organizationId) + { + + HostedSolutionLog.LogStart("GetFederationDomainsInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + + + LyncFederationDomain[] domains = null; + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Guid tenantId = Guid.Empty; + + domains = GetFederationDomainsInternal(runSpace, organizationId, ref tenantId); + + } + catch (Exception ex) + { + HostedSolutionLog.LogError("GetFederationDomainsInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("GetFederationDomainsInternal"); + + return domains; + } + + private LyncFederationDomain[] GetFederationDomainsInternal(Runspace runSpace, string organizationId, ref Guid tenantId) + { + //Get TenantID + List domains = null; + Command cmd = new Command("Get-CsTenant"); + cmd.Parameters.Add("Identity", GetOrganizationPath(organizationId)); + Collection result = ExecuteShellCommand(runSpace, cmd, false); + if ((result != null) && (result.Count > 0)) + { + tenantId = (Guid)GetPSObjectProperty(result[0], "TenantId"); + + //Get-CSTenantFederationConfiguration (AllowedDomains) + cmd = new Command("Get-CsTenantFederationConfiguration"); + cmd.Parameters.Add("Tenant", tenantId); + result = ExecuteShellCommand(runSpace, cmd, false); + + if ((result != null) && (result.Count > 0)) + { + domains = new List(); + + if (GetPSObjectProperty(result[0], "AllowedDomains").GetType().ToString() == "Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowList") + { + AllowList allowList = (AllowList)GetPSObjectProperty(result[0], "AllowedDomains"); + + foreach (DomainPattern d in allowList.AllowedDomain) + { + LyncFederationDomain domain = new LyncFederationDomain(); + domain.DomainName = d.Domain.ToString(); + domains.Add(domain); + } + } + } + } + + if (domains != null) + return domains.ToArray(); + else + return null; + } + + + private bool AddFederationDomainInternal(string organizationId, string domainName, string proxyFqdn) + { + HostedSolutionLog.LogStart("AddFederationDomainInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("domainName: {0}", domainName); + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Guid tenantId = Guid.Empty; + Command cmd = new Command("Get-CsTenant"); + cmd.Parameters.Add("Identity", GetOrganizationPath(organizationId)); + Collection result = ExecuteShellCommand(runSpace, cmd, false); + if ((result != null) && (result.Count > 0)) + { + tenantId = (Guid)GetPSObjectProperty(result[0], "TenantId"); + + //Get-CSTenantFederationConfiguration (AllowedDomains) + cmd = new Command("Get-CsTenantFederationConfiguration"); + cmd.Parameters.Add("Tenant", tenantId); + result = ExecuteShellCommand(runSpace, cmd, false); + + if ((result != null) && (result.Count > 0)) + { + AllowList allowList = null; + + if (GetPSObjectProperty(result[0], "AllowedDomains").GetType().ToString() == "Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowList") + { + allowList = (AllowList)GetPSObjectProperty(result[0], "AllowedDomains"); + DomainPattern domain = new DomainPattern(domainName); + allowList.AllowedDomain.Add(domain); + } + else + { + allowList = new AllowList(); + DomainPattern domain = new DomainPattern(domainName); + allowList.AllowedDomain.Add(domain); + } + + cmd = new Command("Set-CsTenantFederationConfiguration"); + cmd.Parameters.Add("Tenant", tenantId); + cmd.Parameters.Add("AllowedDomains", allowList); + ExecuteShellCommand(runSpace, cmd, false); + } + } + } + catch (Exception ex) + { + HostedSolutionLog.LogError("AddFederationDomainInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("AddFederationDomainInternal"); + + return true; + } + + private bool RemoveFederationDomainInternal(string organizationId, string domainName) + { + HostedSolutionLog.LogStart("RemoveFederationDomainInternal"); + HostedSolutionLog.DebugInfo("organizationId: {0}", organizationId); + HostedSolutionLog.DebugInfo("domainName: {0}", domainName); + + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + Guid tenantId = Guid.Empty; + Command cmd = new Command("Get-CsTenant"); + cmd.Parameters.Add("Identity", GetOrganizationPath(organizationId)); + Collection result = ExecuteShellCommand(runSpace, cmd, false); + if ((result != null) && (result.Count > 0)) + { + tenantId = (Guid)GetPSObjectProperty(result[0], "TenantId"); + + //Get-CSTenantFederationConfiguration (AllowedDomains) + cmd = new Command("Get-CsTenantFederationConfiguration"); + cmd.Parameters.Add("Tenant", tenantId); + result = ExecuteShellCommand(runSpace, cmd, false); + + if ((result != null) && (result.Count > 0)) + { + AllowList allowList = null; + + if (GetPSObjectProperty(result[0], "AllowedDomains").GetType().ToString() == "Microsoft.Rtc.Management.WritableConfig.Settings.Edge.AllowList") + { + allowList = (AllowList)GetPSObjectProperty(result[0], "AllowedDomains"); + DomainPattern domain = new DomainPattern(domainName); + allowList.AllowedDomain.Remove(domain); + } + + cmd = new Command("Set-CsTenantFederationConfiguration"); + cmd.Parameters.Add("Tenant", tenantId); + cmd.Parameters.Add("AllowedDomains", allowList); + ExecuteShellCommand(runSpace, cmd, false); + } + } + } + catch (Exception ex) + { + HostedSolutionLog.LogError("RemoveFederationDomainInternal", ex); + throw; + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("RemoveFederationDomainInternal"); + + return true; + } + + + + + #endregion + + #region PowerShell integration + private static InitialSessionState session = null; + + internal virtual Runspace OpenRunspace() + { + HostedSolutionLog.LogStart("OpenRunspace"); + + if (session == null) + { + session = InitialSessionState.CreateDefault(); + session.ImportPSModule(new string[] { "ActiveDirectory", "Lync", "LyncOnline" }); + } + Runspace runSpace = RunspaceFactory.CreateRunspace(session); + // + runSpace.Open(); + // + runSpace.SessionStateProxy.SetVariable("ConfirmPreference", "none"); + HostedSolutionLog.LogEnd("OpenRunspace"); + return runSpace; + } + + internal void CloseRunspace(Runspace runspace) + { + try + { + if (runspace != null && runspace.RunspaceStateInfo.State == RunspaceState.Opened) + { + runspace.Close(); + } + } + catch (Exception ex) + { + HostedSolutionLog.LogError("Runspace error", ex); + } + } + + internal Collection ExecuteShellCommand(Runspace runSpace, Command cmd) + { + return ExecuteShellCommand(runSpace, cmd, true); + } + + internal Collection ExecuteShellCommand(Runspace runSpace, Command cmd, bool useDomainController) + { + object[] errors; + return ExecuteShellCommand(runSpace, cmd, useDomainController, out errors); + } + + internal Collection ExecuteShellCommand(Runspace runSpace, Command cmd, out object[] errors) + { + return ExecuteShellCommand(runSpace, cmd, true, out errors); + } + + internal Collection ExecuteShellCommand(Runspace runSpace, Command cmd, bool useDomainController, out object[] errors) + { + HostedSolutionLog.LogStart("ExecuteShellCommand"); + List errorList = new List(); + + if (useDomainController) + { + CommandParameter dc = new CommandParameter("DomainController", PrimaryDomainController); + if (!cmd.Parameters.Contains(dc)) + { + cmd.Parameters.Add(dc); + } + } + + HostedSolutionLog.DebugCommand(cmd); + Collection results = null; + // Create a pipeline + Pipeline pipeLine = runSpace.CreatePipeline(); + using (pipeLine) + { + // Add the command + pipeLine.Commands.Add(cmd); + // Execute the pipeline and save the objects returned. + results = pipeLine.Invoke(); + + // Log out any errors in the pipeline execution + // NOTE: These errors are NOT thrown as exceptions! + // Be sure to check this to ensure that no errors + // happened while executing the command. + if (pipeLine.Error != null && pipeLine.Error.Count > 0) + { + foreach (object item in pipeLine.Error.ReadToEnd()) + { + errorList.Add(item); + string errorMessage = string.Format("Invoke error: {0}", item); + HostedSolutionLog.LogWarning(errorMessage); + } + } + } + pipeLine = null; + errors = errorList.ToArray(); + HostedSolutionLog.LogEnd("ExecuteShellCommand"); + return results; + } + + internal object GetPSObjectProperty(PSObject obj, string name) + { + return obj.Members[name].Value; + } + + /// + /// Returns the identity of the object from the shell execution result + /// + /// + /// + internal string GetResultObjectIdentity(Collection result) + { + HostedSolutionLog.LogStart("GetResultObjectIdentity"); + if (result == null) + throw new ArgumentNullException("result", "Execution result is not specified"); + + if (result.Count < 1) + throw new ArgumentException("Execution result is empty", "result"); + + if (result.Count > 1) + throw new ArgumentException("Execution result contains more than one object", "result"); + + PSMemberInfo info = result[0].Members["Identity"]; + if (info == null) + throw new ArgumentException("Execution result does not contain Identity property", "result"); + + string ret = info.Value.ToString(); + HostedSolutionLog.LogEnd("GetResultObjectIdentity"); + return ret; + } + + internal string GetResultObjectDN(Collection result) + { + HostedSolutionLog.LogStart("GetResultObjectDN"); + if (result == null) + throw new ArgumentNullException("result", "Execution result is not specified"); + + if (result.Count < 1) + throw new ArgumentException("Execution result does not contain any object"); + + if (result.Count > 1) + throw new ArgumentException("Execution result contains more than one object"); + + PSMemberInfo info = result[0].Members["DistinguishedName"]; + if (info == null) + throw new ArgumentException("Execution result does not contain DistinguishedName property", "result"); + + string ret = info.Value.ToString(); + HostedSolutionLog.LogEnd("GetResultObjectDN"); + return ret; + } + + + #endregion + + #region Transactions + + internal LyncTransaction StartTransaction() + { + return new LyncTransaction(); + } + + internal void RollbackTransaction(LyncTransaction transaction) + { + HostedSolutionLog.LogStart("RollbackTransaction"); + Runspace runSpace = null; + try + { + runSpace = OpenRunspace(); + + + for (int i = transaction.Actions.Count - 1; i > -1; i--) + { + //reverse order + try + { + RollbackAction(transaction.Actions[i], runSpace); + } + catch (Exception ex) + { + HostedSolutionLog.LogError("Rollback error", ex); + } + } + } + catch (Exception ex) + { + HostedSolutionLog.LogError("Rollback error", ex); + } + finally + { + + CloseRunspace(runSpace); + } + HostedSolutionLog.LogEnd("RollbackTransaction"); + } + + private void RollbackAction(TransactionAction action, Runspace runspace) + { + HostedSolutionLog.LogInfo("Rollback action: {0}", action.ActionType); + switch (action.ActionType) + { + case TransactionAction.TransactionActionTypes.LyncNewSipDomain: + DeleteSipDomain(runspace, action.Id); + break; + //case TransactionAction.TransactionActionTypes.LyncNewSimpleUrl: + //DeleteSimpleUrl(runspace, action.Id); + //break; + case TransactionAction.TransactionActionTypes.LyncNewUser: + DeleteUser(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.LyncNewConferencingPolicy: + DeleteConferencingPolicy(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.LyncNewExternalAccessPolicy: + DeleteExternalAccessPolicy(runspace, action.Id); + break; + case TransactionAction.TransactionActionTypes.LyncNewMobilityPolicy: + DeleteMobilityPolicy(runspace, action.Id); + break; + } + } + + #endregion + + #region helpers + private string GetOrganizationPath(string organizationId) + { + StringBuilder sb = new StringBuilder(); + // append provider + AppendOUPath(sb, organizationId); + AppendOUPath(sb, RootOU); + AppendDomainPath(sb, RootDomain); + + return sb.ToString(); + } + + private static void AppendOUPath(StringBuilder sb, string ou) + { + if (string.IsNullOrEmpty(ou)) + return; + + string path = ou.Replace("/", "\\"); + string[] parts = path.Split('\\'); + for (int i = parts.Length - 1; i != -1; i--) + sb.Append("OU=").Append(parts[i]).Append(","); + } + + private static void AppendDomainPath(StringBuilder sb, string domain) + { + if (string.IsNullOrEmpty(domain)) + return; + + string[] parts = domain.Split('.'); + for (int i = 0; i < parts.Length; i++) + { + sb.Append("DC=").Append(parts[i]); + + if (i < (parts.Length - 1)) + sb.Append(","); + } + } + + internal string AddADPrefix(string path) + { + string dn = path; + if (!dn.ToUpper().StartsWith("LDAP://")) + { + dn = string.Format("LDAP://{0}/{1}", PrimaryDomainController, dn); + } + return dn; + } + + #endregion + + public override bool IsInstalled() + { + string value = ""; + bool bResult = false; + RegistryKey root = Registry.LocalMachine; + RegistryKey rk = root.OpenSubKey(LyncRegistryPath); + if (rk != null) + { + value = (string)rk.GetValue("ProductVersion", null); + if (value == "4.0.7577.0") + bResult = true; + + rk.Close(); + } + return bResult; + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/LyncTransaction.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/LyncTransaction.cs new file mode 100644 index 00000000..811a93ec --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/LyncTransaction.cs @@ -0,0 +1,97 @@ +// 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.Collections.Generic; + +namespace WebsitePanel.Providers.HostedSolution +{ + internal class LyncTransaction + { + List actions = null; + + public LyncTransaction() + { + actions = new List(); + } + + internal List Actions + { + get { return actions; } + } + + internal void RegisterNewSipDomain(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.LyncNewSipDomain; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterNewSimpleUrl(string sipDomain, string tenantID) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.LyncNewSimpleUrl; + action.Id = sipDomain; + action.Account = tenantID; + Actions.Add(action); + } + + + internal void RegisterNewConferencingPolicy(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.LyncNewConferencingPolicy; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterNewCsExternalAccessPolicy(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.LyncNewExternalAccessPolicy; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterNewCsMobilityPolicy(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.LyncNewMobilityPolicy; + action.Id = id; + Actions.Add(action); + } + + internal void RegisterNewCsUser(string id) + { + TransactionAction action = new TransactionAction(); + action.ActionType = TransactionAction.TransactionActionTypes.LyncNewUser; + action.Id = id; + Actions.Add(action); + } + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj index a1441425..20a414bf 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj @@ -106,6 +106,15 @@ False ..\..\Lib\References\Microsoft\Microsoft.Exchange.Net.dll + + ..\..\Lib\References\Microsoft\Microsoft.Rtc.Management.Core.dll + + + ..\..\Lib\References\Microsoft\Microsoft.Rtc.Management.Hosted.dll + + + ..\..\Lib\References\Microsoft\Microsoft.Rtc.Management.WritableConfig.dll + ..\..\Lib\References\Microsoft\Microsoft.SharePoint.dll False @@ -133,6 +142,8 @@ + + diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/LyncServerProxy.cs b/WebsitePanel/Sources/WebsitePanel.Server.Client/LyncServerProxy.cs new file mode 100644 index 00000000..49a11f35 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/LyncServerProxy.cs @@ -0,0 +1,912 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.5456 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// +// This source code was auto-generated by wsdl, Version=2.0.50727.42. +// +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Providers.Lync +{ + using System.Xml.Serialization; + using System.Web.Services; + using System.ComponentModel; + using System.Web.Services.Protocols; + using System; + using System.Diagnostics; + + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Web.Services.WebServiceBindingAttribute(Name = "LyncServerSoap", Namespace = "http://smbsaas/websitepanel/server/")] + public partial class LyncServer : Microsoft.Web.Services3.WebServicesClientProtocol + { + + public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue; + + private System.Threading.SendOrPostCallback CreateOrganizationOperationCompleted; + + private System.Threading.SendOrPostCallback DeleteOrganizationOperationCompleted; + + private System.Threading.SendOrPostCallback CreateUserOperationCompleted; + + private System.Threading.SendOrPostCallback GetLyncUserGeneralSettingsOperationCompleted; + + private System.Threading.SendOrPostCallback SetLyncUserPlanOperationCompleted; + + private System.Threading.SendOrPostCallback DeleteUserOperationCompleted; + + private System.Threading.SendOrPostCallback GetFederationDomainsOperationCompleted; + + private System.Threading.SendOrPostCallback AddFederationDomainOperationCompleted; + + private System.Threading.SendOrPostCallback RemoveFederationDomainOperationCompleted; + + private System.Threading.SendOrPostCallback ReloadConfigurationOperationCompleted; + + /// + public LyncServer() + { + this.Url = "http://localhost:9003/LyncServer.asmx"; + } + + /// + public event CreateOrganizationCompletedEventHandler CreateOrganizationCompleted; + + /// + public event DeleteOrganizationCompletedEventHandler DeleteOrganizationCompleted; + + /// + public event CreateUserCompletedEventHandler CreateUserCompleted; + + /// + public event GetLyncUserGeneralSettingsCompletedEventHandler GetLyncUserGeneralSettingsCompleted; + + /// + public event SetLyncUserPlanCompletedEventHandler SetLyncUserPlanCompleted; + + /// + public event DeleteUserCompletedEventHandler DeleteUserCompleted; + + /// + public event GetFederationDomainsCompletedEventHandler GetFederationDomainsCompleted; + + /// + public event AddFederationDomainCompletedEventHandler AddFederationDomainCompleted; + + /// + public event RemoveFederationDomainCompletedEventHandler RemoveFederationDomainCompleted; + + /// + public event ReloadConfigurationCompletedEventHandler ReloadConfigurationCompleted; + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateOrganization", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public string CreateOrganization(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice) + { + object[] results = this.Invoke("CreateOrganization", new object[] { + organizationId, + sipDomain, + enableConferencing, + enableConferencingVideo, + maxConferenceSize, + enabledFederation, + enabledEnterpriseVoice}); + return ((string)(results[0])); + } + + /// + public System.IAsyncResult BeginCreateOrganization(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("CreateOrganization", new object[] { + organizationId, + sipDomain, + enableConferencing, + enableConferencingVideo, + maxConferenceSize, + enabledFederation, + enabledEnterpriseVoice}, callback, asyncState); + } + + /// + public string EndCreateOrganization(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((string)(results[0])); + } + + /// + public void CreateOrganizationAsync(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice) + { + this.CreateOrganizationAsync(organizationId, sipDomain, enableConferencing, enableConferencingVideo, maxConferenceSize, enabledFederation, enabledEnterpriseVoice, null); + } + + /// + public void CreateOrganizationAsync(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice, object userState) + { + if ((this.CreateOrganizationOperationCompleted == null)) + { + this.CreateOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrganizationOperationCompleted); + } + this.InvokeAsync("CreateOrganization", new object[] { + organizationId, + sipDomain, + enableConferencing, + enableConferencingVideo, + maxConferenceSize, + enabledFederation, + enabledEnterpriseVoice}, this.CreateOrganizationOperationCompleted, userState); + } + + private void OnCreateOrganizationOperationCompleted(object arg) + { + if ((this.CreateOrganizationCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.CreateOrganizationCompleted(this, new CreateOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteOrganization", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public bool DeleteOrganization(string organizationId, string sipDomain) + { + object[] results = this.Invoke("DeleteOrganization", new object[] { + organizationId, + sipDomain}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginDeleteOrganization(string organizationId, string sipDomain, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("DeleteOrganization", new object[] { + organizationId, + sipDomain}, callback, asyncState); + } + + /// + public bool EndDeleteOrganization(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void DeleteOrganizationAsync(string organizationId, string sipDomain) + { + this.DeleteOrganizationAsync(organizationId, sipDomain, null); + } + + /// + public void DeleteOrganizationAsync(string organizationId, string sipDomain, object userState) + { + if ((this.DeleteOrganizationOperationCompleted == null)) + { + this.DeleteOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationOperationCompleted); + } + this.InvokeAsync("DeleteOrganization", new object[] { + organizationId, + sipDomain}, this.DeleteOrganizationOperationCompleted, userState); + } + + private void OnDeleteOrganizationOperationCompleted(object arg) + { + if ((this.DeleteOrganizationCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.DeleteOrganizationCompleted(this, new DeleteOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/CreateUser", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public bool CreateUser(string organizationId, string userUpn, LyncUserPlan plan) + { + object[] results = this.Invoke("CreateUser", new object[] { + organizationId, + userUpn, + plan}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginCreateUser(string organizationId, string userUpn, LyncUserPlan plan, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("CreateUser", new object[] { + organizationId, + userUpn, + plan}, callback, asyncState); + } + + /// + public bool EndCreateUser(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void CreateUserAsync(string organizationId, string userUpn, LyncUserPlan plan) + { + this.CreateUserAsync(organizationId, userUpn, plan, null); + } + + /// + public void CreateUserAsync(string organizationId, string userUpn, LyncUserPlan plan, object userState) + { + if ((this.CreateUserOperationCompleted == null)) + { + this.CreateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateUserOperationCompleted); + } + this.InvokeAsync("CreateUser", new object[] { + organizationId, + userUpn, + plan}, this.CreateUserOperationCompleted, userState); + } + + 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 CreateUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetLyncUserGeneralSettings", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncUser GetLyncUserGeneralSettings(string organizationId, string userUpn) + { + object[] results = this.Invoke("GetLyncUserGeneralSettings", new object[] { + organizationId, + userUpn}); + return ((LyncUser)(results[0])); + } + + /// + public System.IAsyncResult BeginGetLyncUserGeneralSettings(string organizationId, string userUpn, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("GetLyncUserGeneralSettings", new object[] { + organizationId, + userUpn}, callback, asyncState); + } + + /// + public LyncUser EndGetLyncUserGeneralSettings(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((LyncUser)(results[0])); + } + + /// + public void GetLyncUserGeneralSettingsAsync(string organizationId, string userUpn) + { + this.GetLyncUserGeneralSettingsAsync(organizationId, userUpn, null); + } + + /// + public void GetLyncUserGeneralSettingsAsync(string organizationId, string userUpn, object userState) + { + if ((this.GetLyncUserGeneralSettingsOperationCompleted == null)) + { + this.GetLyncUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLyncUserGeneralSettingsOperationCompleted); + } + this.InvokeAsync("GetLyncUserGeneralSettings", new object[] { + organizationId, + userUpn}, this.GetLyncUserGeneralSettingsOperationCompleted, userState); + } + + private void OnGetLyncUserGeneralSettingsOperationCompleted(object arg) + { + if ((this.GetLyncUserGeneralSettingsCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetLyncUserGeneralSettingsCompleted(this, new GetLyncUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/SetLyncUserPlan", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public bool SetLyncUserPlan(string organizationId, string userUpn, LyncUserPlan plan) + { + object[] results = this.Invoke("SetLyncUserPlan", new object[] { + organizationId, + userUpn, + plan}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginSetLyncUserPlan(string organizationId, string userUpn, LyncUserPlan plan, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("SetLyncUserPlan", new object[] { + organizationId, + userUpn, + plan}, callback, asyncState); + } + + /// + public bool EndSetLyncUserPlan(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void SetLyncUserPlanAsync(string organizationId, string userUpn, LyncUserPlan plan) + { + this.SetLyncUserPlanAsync(organizationId, userUpn, plan, null); + } + + /// + public void SetLyncUserPlanAsync(string organizationId, string userUpn, LyncUserPlan plan, object userState) + { + if ((this.SetLyncUserPlanOperationCompleted == null)) + { + this.SetLyncUserPlanOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetLyncUserPlanOperationCompleted); + } + this.InvokeAsync("SetLyncUserPlan", new object[] { + organizationId, + userUpn, + plan}, this.SetLyncUserPlanOperationCompleted, userState); + } + + private void OnSetLyncUserPlanOperationCompleted(object arg) + { + if ((this.SetLyncUserPlanCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.SetLyncUserPlanCompleted(this, new SetLyncUserPlanCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/DeleteUser", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public bool DeleteUser(string userUpn) + { + object[] results = this.Invoke("DeleteUser", new object[] { + userUpn}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginDeleteUser(string userUpn, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("DeleteUser", new object[] { + userUpn}, callback, asyncState); + } + + /// + public bool EndDeleteUser(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void DeleteUserAsync(string userUpn) + { + this.DeleteUserAsync(userUpn, null); + } + + /// + public void DeleteUserAsync(string userUpn, object userState) + { + if ((this.DeleteUserOperationCompleted == null)) + { + this.DeleteUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteUserOperationCompleted); + } + this.InvokeAsync("DeleteUser", new object[] { + userUpn}, this.DeleteUserOperationCompleted, userState); + } + + private void OnDeleteUserOperationCompleted(object arg) + { + if ((this.DeleteUserCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.DeleteUserCompleted(this, new DeleteUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/GetFederationDomains", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public LyncFederationDomain[] GetFederationDomains(string organizationId) + { + object[] results = this.Invoke("GetFederationDomains", new object[] { + organizationId}); + return ((LyncFederationDomain[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetFederationDomains(string organizationId, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("GetFederationDomains", new object[] { + organizationId}, callback, asyncState); + } + + /// + public LyncFederationDomain[] EndGetFederationDomains(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((LyncFederationDomain[])(results[0])); + } + + /// + public void GetFederationDomainsAsync(string organizationId) + { + this.GetFederationDomainsAsync(organizationId, null); + } + + /// + public void GetFederationDomainsAsync(string organizationId, object userState) + { + if ((this.GetFederationDomainsOperationCompleted == null)) + { + this.GetFederationDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFederationDomainsOperationCompleted); + } + this.InvokeAsync("GetFederationDomains", new object[] { + organizationId}, this.GetFederationDomainsOperationCompleted, userState); + } + + private void OnGetFederationDomainsOperationCompleted(object arg) + { + if ((this.GetFederationDomainsCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetFederationDomainsCompleted(this, new GetFederationDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/AddFederationDomain", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public bool AddFederationDomain(string organizationId, string domainName, string proxyFqdn) + { + object[] results = this.Invoke("AddFederationDomain", new object[] { + organizationId, + domainName, + proxyFqdn}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginAddFederationDomain(string organizationId, string domainName, string proxyFqdn, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("AddFederationDomain", new object[] { + organizationId, + domainName, + proxyFqdn}, callback, asyncState); + } + + /// + public bool EndAddFederationDomain(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void AddFederationDomainAsync(string organizationId, string domainName, string proxyFqdn) + { + this.AddFederationDomainAsync(organizationId, domainName, proxyFqdn, null); + } + + /// + public void AddFederationDomainAsync(string organizationId, string domainName, string proxyFqdn, object userState) + { + if ((this.AddFederationDomainOperationCompleted == null)) + { + this.AddFederationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddFederationDomainOperationCompleted); + } + this.InvokeAsync("AddFederationDomain", new object[] { + organizationId, + domainName, + proxyFqdn}, this.AddFederationDomainOperationCompleted, userState); + } + + private void OnAddFederationDomainOperationCompleted(object arg) + { + if ((this.AddFederationDomainCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.AddFederationDomainCompleted(this, new AddFederationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/RemoveFederationDomain", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public bool RemoveFederationDomain(string organizationId, string domainName) + { + object[] results = this.Invoke("RemoveFederationDomain", new object[] { + organizationId, + domainName}); + return ((bool)(results[0])); + } + + /// + public System.IAsyncResult BeginRemoveFederationDomain(string organizationId, string domainName, System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("RemoveFederationDomain", new object[] { + organizationId, + domainName}, callback, asyncState); + } + + /// + public bool EndRemoveFederationDomain(System.IAsyncResult asyncResult) + { + object[] results = this.EndInvoke(asyncResult); + return ((bool)(results[0])); + } + + /// + public void RemoveFederationDomainAsync(string organizationId, string domainName) + { + this.RemoveFederationDomainAsync(organizationId, domainName, null); + } + + /// + public void RemoveFederationDomainAsync(string organizationId, string domainName, object userState) + { + if ((this.RemoveFederationDomainOperationCompleted == null)) + { + this.RemoveFederationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveFederationDomainOperationCompleted); + } + this.InvokeAsync("RemoveFederationDomain", new object[] { + organizationId, + domainName}, this.RemoveFederationDomainOperationCompleted, userState); + } + + private void OnRemoveFederationDomainOperationCompleted(object arg) + { + if ((this.RemoveFederationDomainCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.RemoveFederationDomainCompleted(this, new RemoveFederationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")] + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/server/ReloadConfiguration", RequestNamespace = "http://smbsaas/websitepanel/server/", ResponseNamespace = "http://smbsaas/websitepanel/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public void ReloadConfiguration() + { + this.Invoke("ReloadConfiguration", new object[0]); + } + + /// + public System.IAsyncResult BeginReloadConfiguration(System.AsyncCallback callback, object asyncState) + { + return this.BeginInvoke("ReloadConfiguration", new object[0], callback, asyncState); + } + + /// + public void EndReloadConfiguration(System.IAsyncResult asyncResult) + { + this.EndInvoke(asyncResult); + } + + /// + public void ReloadConfigurationAsync() + { + this.ReloadConfigurationAsync(null); + } + + /// + public void ReloadConfigurationAsync(object userState) + { + if ((this.ReloadConfigurationOperationCompleted == null)) + { + this.ReloadConfigurationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnReloadConfigurationOperationCompleted); + } + this.InvokeAsync("ReloadConfiguration", new object[0], this.ReloadConfigurationOperationCompleted, userState); + } + + private void OnReloadConfigurationOperationCompleted(object arg) + { + if ((this.ReloadConfigurationCompleted != null)) + { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.ReloadConfigurationCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + + /// + public new void CancelAsync(object userState) + { + base.CancelAsync(userState); + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CreateOrganizationCompletedEventHandler(object sender, CreateOrganizationCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CreateOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal CreateOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public string Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((string)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal DeleteOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public bool Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void CreateUserCompletedEventHandler(object sender, CreateUserCompletedEventArgs e); + + /// + [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; + } + + /// + public bool Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetLyncUserGeneralSettingsCompletedEventHandler(object sender, GetLyncUserGeneralSettingsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetLyncUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal GetLyncUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public LyncUser Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((LyncUser)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void SetLyncUserPlanCompletedEventHandler(object sender, SetLyncUserPlanCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class SetLyncUserPlanCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal SetLyncUserPlanCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public bool Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void DeleteUserCompletedEventHandler(object sender, DeleteUserCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeleteUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal DeleteUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public bool Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetFederationDomainsCompletedEventHandler(object sender, GetFederationDomainsCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetFederationDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal GetFederationDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public LyncFederationDomain[] Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((LyncFederationDomain[])(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void AddFederationDomainCompletedEventHandler(object sender, AddFederationDomainCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class AddFederationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal AddFederationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public bool Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void RemoveFederationDomainCompletedEventHandler(object sender, RemoveFederationDomainCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class RemoveFederationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs + { + + private object[] results; + + internal RemoveFederationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) + { + this.results = results; + } + + /// + public bool Result + { + get + { + this.RaiseExceptionIfNecessary(); + return ((bool)(this.results[0])); + } + } + } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void ReloadConfigurationCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e); +} diff --git a/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj b/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj index 0ac386bf..44b375f0 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Server.Client/WebsitePanel.Server.Client.csproj @@ -81,6 +81,7 @@ + diff --git a/WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx b/WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx new file mode 100644 index 00000000..8233e3df --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx @@ -0,0 +1 @@ +<%@ WebService Language="C#" CodeBehind="LyncServer.asmx.cs" Class="WebsitePanel.Server.LyncServer" %> diff --git a/WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx.cs b/WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx.cs new file mode 100644 index 00000000..8f04045d --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.Server/LyncServer.asmx.cs @@ -0,0 +1,236 @@ +// 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.ComponentModel; +using System.Web.Services; +using System.Web.Services.Protocols; +using WebsitePanel.Providers; +using WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Server.Utils; +using Microsoft.Web.Services3; + +namespace WebsitePanel.Server +{ + /// + /// OCS Web Service + /// + [WebService(Namespace = "http://smbsaas/websitepanel/server/")] + [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] + [Policy("ServerPolicy")] + [ToolboxItem(false)] + public class LyncServer : HostingServiceProviderWebService + { + private ILyncServer Lync + { + get { return (ILyncServer)Provider; } + } + + + #region Organization + [WebMethod, SoapHeader("settings")] + public string CreateOrganization(string organizationId, string sipDomain, bool enableConferencing, bool enableConferencingVideo, int maxConferenceSize, bool enabledFederation, bool enabledEnterpriseVoice) + { + try + { + Log.WriteStart("{0}.CreateOrganization", ProviderSettings.ProviderName); + string ret = Lync.CreateOrganization(organizationId, sipDomain, enableConferencing, enableConferencingVideo, maxConferenceSize, enabledFederation, enabledEnterpriseVoice); + Log.WriteEnd("{0}.CreateOrganization", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.CreateOrganization", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public bool DeleteOrganization(string organizationId, string sipDomain) + { + try + { + Log.WriteStart("{0}.DeleteOrganization", ProviderSettings.ProviderName); + bool ret = Lync.DeleteOrganization(organizationId, sipDomain); + Log.WriteEnd("{0}.DeleteOrganization", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.DeleteOrganization", ProviderSettings.ProviderName), ex); + throw; + } + } + #endregion + + #region Users + + [WebMethod, SoapHeader("settings")] + public bool CreateUser(string organizationId, string userUpn, LyncUserPlan plan) + { + try + { + Log.WriteStart("{0}.CreateUser", ProviderSettings.ProviderName); + bool ret = Lync.CreateUser(organizationId, userUpn, plan); + Log.WriteEnd("{0}.CreateUser", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.CreateUser", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public LyncUser GetLyncUserGeneralSettings(string organizationId, string userUpn) + { + try + { + Log.WriteStart("{0}.GetLyncUserGeneralSettings", ProviderSettings.ProviderName); + LyncUser ret = Lync.GetLyncUserGeneralSettings(organizationId, userUpn); + Log.WriteEnd("{0}.GetLyncUserGeneralSettings", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.GetLyncUserGeneralSettings", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public bool SetLyncUserPlan(string organizationId, string userUpn, LyncUserPlan plan) + { + try + { + Log.WriteStart("{0}.SetLyncUserPlan", ProviderSettings.ProviderName); + bool ret = Lync.SetLyncUserPlan(organizationId, userUpn, plan); + Log.WriteEnd("{0}.SetLyncUserPlan", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.SetLyncUserPlan", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public bool DeleteUser(string userUpn) + { + try + { + Log.WriteStart("{0}.DeleteUser", ProviderSettings.ProviderName); + bool ret = Lync.DeleteUser(userUpn); + Log.WriteEnd("{0}.DeleteUser", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.DeleteUser", ProviderSettings.ProviderName), ex); + throw; + } + } + + #endregion + + #region Federation + [WebMethod, SoapHeader("settings")] + public LyncFederationDomain[] GetFederationDomains(string organizationId) + { + try + { + Log.WriteStart("{0}.GetFederationDomains", ProviderSettings.ProviderName); + LyncFederationDomain[] ret = Lync.GetFederationDomains(organizationId); + Log.WriteEnd("{0}.GetFederationDomains", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.GetFederationDomains", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public bool AddFederationDomain(string organizationId, string domainName, string proxyFqdn) + { + try + { + Log.WriteStart("{0}.AddFederationDomain", ProviderSettings.ProviderName); + bool ret = Lync.AddFederationDomain(organizationId, domainName, proxyFqdn); + Log.WriteEnd("{0}.AddFederationDomain", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.AddFederationDomain", ProviderSettings.ProviderName), ex); + throw; + } + } + + [WebMethod, SoapHeader("settings")] + public bool RemoveFederationDomain(string organizationId, string domainName) + { + try + { + Log.WriteStart("{0}.RemoveFederationDomain", ProviderSettings.ProviderName); + bool ret = Lync.RemoveFederationDomain(organizationId, domainName); + Log.WriteEnd("{0}.RemoveFederationDomain", ProviderSettings.ProviderName); + return ret; + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.RemoveFederationDomain", ProviderSettings.ProviderName), ex); + throw; + } + } + #endregion + + [WebMethod, SoapHeader("settings")] + public void ReloadConfiguration() + { + try + { + Log.WriteStart("{0}.ReloadConfiguration", ProviderSettings.ProviderName); + Lync.ReloadConfiguration(); + Log.WriteEnd("{0}.ReloadConfiguration", ProviderSettings.ProviderName); + } + catch (Exception ex) + { + Log.WriteError(String.Format("Error: {0}.ReloadConfiguration", ProviderSettings.ProviderName), ex); + throw; + } + } + + + + + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj b/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj index affbf40f..4ae2bf2d 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj +++ b/WebsitePanel/Sources/WebsitePanel.Server/WebsitePanel.Server.csproj @@ -68,6 +68,7 @@ + @@ -108,6 +109,10 @@ + + LyncServer.asmx + Component + OCSEdgeServer.asmx Component diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config index 76798152..e15f3f0a 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Data/WebsitePanel_Modules.config @@ -511,7 +511,15 @@ - + + + + + + + + + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx index c04ed97a..d0195f36 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_GlobalResources/WebsitePanel_SharedResources.ascx.resx @@ -5005,4 +5005,133 @@ Consumer Organization Support + + Error deleting organization domain name. See audit log for more details. + + + Lync successfully enabled for this user + + + Cannot enable Lync User. The following errors have been occured: + + + Lync successfully added the federation domain + + + Cannot add federation domain. The following errors have been occured: + + + Lync successfully disabled for this user + + + Cannot delete Lync User, the following errors have been occured: + + + General Lync User settings have been successfully updated. + + + Error updating general Lync User settings. + + + Unable to add Lync user. + + + Unable to add Lync User to database. + + + Unable to check quota + + + Unable to delete Lync User. + + + Unable to delete Lync User from metadata. + + + Unable to get Lync proxy. + + + Unable to get user general settings. + + + Unable to set default settings. + + + Unable to get Lync Users. + + + Unable to get Lync Users count. + + + User first name is not specified. + + + Current user account is already enabled for Office Communications Server. + + + User last name is not specified. + + + Lync users quota has been reached. + + + Federation Allowed + + + Lync Users per Organization + + + Conferencing Allowed + + + Maximum participants per conference + + + Conference Video Allowed + + + Enterprise Voice Allowed + + + Enterprise Voice users + + + National Calls Allowed + + + Mobile Calls Allowed + + + International Calls Allowed + + + Lync Server + + + General Lync User settings have been successfully updated. + + + Lync User has been successfully created but the following errors have been occured: + + + Lync federation domain has been successfully created but the following errors have been occured: + + + Lync User has been successfully deleted but the following errors have been occured: + + + Error setting default organization lync user plan. See audit log for more details. + + + Add organization lync user plan + + + Delete plan + + + Unable to delete plan. Make sure the plan is not assigned to any user + + + Error creating organization plan. See audit log for more details. + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons.skin b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons.skin index 63089f09..5f9f29c4 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons.skin +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Icons.skin @@ -66,6 +66,13 @@ Default skin template. The following skins are provided as examples only. +<%-- Lync Icons --%> + + + + + + <%-- BlackBerry Icons --%> <%-- VPS Icons --%> diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/lync16.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/Exchange/lync16.png new file mode 100644 index 0000000000000000000000000000000000000000..e068fcbfa35c8f0dcebc83b026948cce91c510f5 GIT binary patch literal 602 zcmV-g0;TPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0q;pfK~y+TjZ!^p zR8bI}`>}bh#x1r>C&D&bSfmT-{U8t!D}RQFU?HT?1ws5F0U@0TRu-bIg+D0RSHrm6iowx2^LgeubC+|MEC6kI zQ~>Ya^_@gty*Qvz<8MS%?NXVi44c`>6`^=c0|dbvj8{cqF0soXLMV*TSxPwDl#qZa zS%P^=S+y5gVs`BnEfNss;Del=XT4=^dXQ4!v1$_Oi!4iVe|mS(D=B!l6``J$63Ygm z01XH#0CC+)=POU{qBh+nZj(W+DMigj3Cl$fStJz&AJo71=$$$n|Id%lZ+-d}>pDTl zV^UQR*paOX+Ee)pnIMrcoerF;$8D1*`qZl&Jb2LI3~&07*qoM6N<$g6lpCa{vGU literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lync16.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lync16.png new file mode 100644 index 0000000000000000000000000000000000000000..e068fcbfa35c8f0dcebc83b026948cce91c510f5 GIT binary patch literal 602 zcmV-g0;TPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0q;pfK~y+TjZ!^p zR8bI}`>}bh#x1r>C&D&bSfmT-{U8t!D}RQFU?HT?1ws5F0U@0TRu-bIg+D0RSHrm6iowx2^LgeubC+|MEC6kI zQ~>Ya^_@gty*Qvz<8MS%?NXVi44c`>6`^=c0|dbvj8{cqF0soXLMV*TSxPwDl#qZa zS%P^=S+y5gVs`BnEfNss;Del=XT4=^dXQ4!v1$_Oi!4iVe|mS(D=B!l6``J$63Ygm z01XH#0CC+)=POU{qBh+nZj(W+DMigj3Cl$fStJz&AJo71=$$$n|Id%lZ+-d}>pDTl zV^UQR*paOX+Ee)pnIMrcoerF;$8D1*`qZl&Jb2LI3~&07*qoM6N<$g6lpCa{vGU literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lync48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lync48.png new file mode 100644 index 0000000000000000000000000000000000000000..3e31fe511f6a3b90ff9b0e71ef3ef48251b377ea GIT binary patch literal 6089 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 P00000NkvXXu0mjf9fGZY literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncfederationdomains48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncfederationdomains48.png new file mode 100644 index 0000000000000000000000000000000000000000..6eb49bc58de8c3a6c4a171fec96c1deb0cbcf416 GIT binary patch literal 7772 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 literal 0 HcmV?d00001 diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncuserplanadd48.png b/WebsitePanel/Sources/WebsitePanel.WebPortal/App_Themes/Default/Images/lyncuserplanadd48.png new file mode 100644 index 0000000000000000000000000000000000000000..5e1af53e3c665d4cf98c8cda2181e2bf6243bd72 GIT binary patch literal 6037 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 Number of VM: + + BlackBerry Users: + + + Databases: + + + OCS Users: + + + Sharepoint Sites: + + + User Accounts: + + + Lync Users: + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs index 845c52e4..aae6f6d5 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Framework/ES.cs @@ -82,7 +82,14 @@ namespace WebsitePanel.Portal { get { return GetCachedProxy(); } } - + + + public esLync Lync + { + get { return GetCachedProxy(); } + } + + public esOrganizations Organizations { get diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/LyncHelper.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/LyncHelper.cs new file mode 100644 index 00000000..2724433e --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Code/Helpers/LyncHelper.cs @@ -0,0 +1,85 @@ +// 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 WebsitePanel.Providers.HostedSolution; +using WebsitePanel.Providers.ResultObjects; + +namespace WebsitePanel.Portal +{ + public class LyncHelper + { + + public LyncUser[] GetLyncUsersPaged(int itemId, + string filterColumn, string filterValue, + int maximumRows, int startRowIndex, string sortColumn) + { + if (!String.IsNullOrEmpty(filterValue)) + filterValue = filterValue + "%"; + if (maximumRows == 0) + { + maximumRows = Int32.MaxValue; + } + + string name = string.Empty; + string email = string.Empty; + + if (filterColumn == "DisplayName") + name = filterValue; + else + email = filterValue; + + + string[] data = sortColumn.Split(' '); + string direction = data.Length > 1 ? "DESC" : "ASC"; + LyncUsersPagedResult res = + ES.Services.Lync.GetLyncUsersPaged(itemId, data[0], direction, startRowIndex, maximumRows); + + return res.Value.PageUsers; + } + + + public int GetLyncUsersPagedCount(int itemId, string filterColumn, string filterValue) + { + string name = string.Empty; + string email = string.Empty; + + if (!string.IsNullOrEmpty(filterValue)) + filterValue = filterValue + "%"; + + if (filterColumn == "DisplayName") + name = filterValue; + else + email = filterValue; + + IntResult res = ES.Services.Lync.GetLyncUserCount(itemId); + return res.Value; + } + + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs index 544d78cf..4334509c 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/OrganizationHome.ascx.cs @@ -143,14 +143,13 @@ namespace WebsitePanel.Portal.ExchangeServer } else besStatsPanel.Visible = false; -/* + if (cntx.Groups.ContainsKey(ResourceGroups.Lync)) { lyncStatsPanel.Visible = true; BindLyncStats(); } else - */ lyncStatsPanel.Visible = false; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/Menu.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/Menu.ascx.resx index 91cf60e9..ea488c1d 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/Menu.ascx.resx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/App_LocalResources/Menu.ascx.resx @@ -183,4 +183,16 @@ Mailbox Plans + + Lync + + + Lync User Plans + + + Lync Users + + + Lync Federation Domains + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs index baa30d3a..dcb79f7e 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ExchangeServer/UserControls/Menu.ascx.cs @@ -202,6 +202,21 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls groups.Add(ocsGroup); } + private void PrepareLyncMenu(PackageContext cntx, List groups, string imagePath) + { + MenuGroup lyncGroup = + new MenuGroup(GetLocalizedString("Text.LyncGroup"), imagePath + "lync16.png"); + lyncGroup.MenuItems.Add(CreateMenuItem("LyncUsers", "lync_users")); + + lyncGroup.MenuItems.Add(CreateMenuItem("LyncUserPlans", "lync_userplans")); + + + if (CheckQouta(Quotas.LYNC_FEDERATION, cntx)) + lyncGroup.MenuItems.Add(CreateMenuItem("LyncFederationDomains", "lync_federationdomains")); + + groups.Add(lyncGroup); + } + private List PrepareMenu() { PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId); @@ -238,6 +253,9 @@ namespace WebsitePanel.Portal.ExchangeServer.UserControls if (cntx.Groups.ContainsKey(ResourceGroups.OCS)) PrepareOCSMenu(cntx, groups, imagePath); + //Lync Menu + if (cntx.Groups.ContainsKey(ResourceGroups.Lync)) + PrepareLyncMenu(cntx, groups, imagePath); return groups; } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddFederationDomain.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddFederationDomain.ascx.resx new file mode 100644 index 00000000..e777f6ab --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddFederationDomain.ascx.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add Domain + + + Cancel + + + Please, enter correct domain name, for example "mydomain.com" or "sub.mydomain.com". + + + * + + + Please enter domain name + + + * + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddLyncUserPlan.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddLyncUserPlan.ascx.resx new file mode 100644 index 00000000..daee76c2 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncAddLyncUserPlan.ascx.resx @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + <p> A plan is a template that defines the characteristics of a lync users </p> <p>The plan name needs to be unique. A plan cannot be modified. In case a user needs a plan with another characteristics, a new plan needs to be created and assigned to the user. A plan can only be deleted when the plan is not assigned to any users. </p> + + + Add Lync User Plan + + + Lync User Plan + + + Please enter correct plan + + + * + + + Instant Messaging + + + Conferencing + + + Enterprise Voice + + + Emergency Calls + + + National Calls + + + Plan Features + + + Lync User Plan + + + Federation + + + Conferencing Settings + + + Add New Plan + + + International Calls + + + Mobile Calls + + + None + + + Maximum Conference Size + + + Enterprise Voice Policy + + + Mobile Access + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncCreateUser.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncCreateUser.ascx.resx new file mode 100644 index 00000000..fd626cd7 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncCreateUser.ascx.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Create Lync User + + + Create + + + Select an existing Organization user and click the “Create” button to enable an individual user account for Microsoft Lync Server. + + + Display name* : + + + Create Lync User + + + Plan Name* : + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncEditUser.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncEditUser.ascx.resx new file mode 100644 index 00000000..bad6c174 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncEditUser.ascx.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Edit Lync User + + + Save changes + + + <p> A plan is a template that defines the capabilities of a lync user. In order to change the plan assigned to this user, select a plan and click the Save Changes button </p> + + + Display name: + + + Edit Lync User + + + Plan Name : + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncFederationDomains.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncFederationDomains.ascx.resx new file mode 100644 index 00000000..e60864dd --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncFederationDomains.ascx.resx @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add New Domain + + + if(!confirm('Are you sure you want to delete selected federation domain?')) return false; else ShowProgressDialog('Deleting Federation Domain...'); + + + Delete + + + Delete Federation DOmain + + + No domains have been added yet. To add a new domain click "Add New Domain" button. + + + Domain Name + + + <p>By adding a federation domain you allow your users, that are enabled for federation, to interact through Lync with users from the specified domain. Your users as well as the users from the federated domain will see eachother status. </p> + +<p>Federation is a mutual agreement between you and your federation partner (owner of the domain you want to federate with). Once you have added the federation domain to your list, your partner will need to do the same from his side</p> + + + + + Lync Federation Domains + + + Lync Federation Domains + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUserPlans.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUserPlans.ascx.resx new file mode 100644 index 00000000..536a1d01 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUserPlans.ascx.resx @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add New Plan + + + Set Default Plan + + + if(!confirm('Are you sure you want to delete selected plan?')) return false; else ShowProgressDialog('Deleting plan...'); + + + Delete + + + Delete Plan + + + No plans have been added yet. To add a new plan click "Add New Plan" button. + + + Default Plan + + + Plan + + + <p> A plan is a template that defines the capabilities of a lync users </p> <p>The plan name needs to be unique. A plan cannot be modified. In case a lync user needs a plan with another characteristics, a new plan needs to be created and assigned to the lync user. A plan can only be deleted when the plan is not assigned to any lync users. </p> + + + Lync User Plans + + + Lync User Plans + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUsers.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUsers.ascx.resx new file mode 100644 index 00000000..9114e730 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/App_LocalResources/LyncUsers.ascx.resx @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Lync Users + + + Create Lync User + + + Display name + + + Sign-in name + + + <p>Microsoft Lync Server delivers unified communications to the users, including software-powered VoIP, Web and audio/video conferencing, and enterprise instant messaging.</p> +<p>Click the “Create Lync User” button to enable a user account for Microsoft Lync Server. </p> +<p>If you delete an account in Microsoft Lync Server, the account is no longer available for use with Microsoft Lync Server unless you enable the account again. When you delete an account, all Lync Server settings for the account are lost, so you must configure the account again after enabling.</p> + + + Display name + + + Sign-in name + + + Lync Users + + + return confirm('Are you sure you want to delete Lync User?'); + + + Lync User Plan + + + No users have been Lync enabled. To enable a user for Lync click "Create Lync User" button. + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx new file mode 100644 index 00000000..759710c9 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx @@ -0,0 +1,64 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncAddFederationDomain.ascx.cs" Inherits="WebsitePanel.Portal.LyncAddFederationDomain" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> + + + +
+
+
+ +
+
+ +
+
+
+
+ + +
+
+ + + + + + + + + + +
+ + + + + +
+ + + + +
+
+
+ + + +
+
+
+
+ +
+
+
+
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.cs new file mode 100644 index 00000000..642cf496 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.cs @@ -0,0 +1,82 @@ +// 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.Providers.ResultObjects; +using WebsitePanel.EnterpriseServer; + +namespace WebsitePanel.Portal +{ + public partial class LyncAddFederationDomain : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + ProxyFQDN.Visible = ProxyFQDN.Enabled = false; + locProxyFQDN.Visible = false; + } + + private void AddDomain() + { + if (!Page.IsValid) + return; + + + // get domain name + string domainName = DomainName.Text.Trim(); + string proxyFQDN = ProxyFQDN.Text.Trim(); + + + LyncUserResult res = ES.Services.Lync.AddFederationDomain(PanelRequest.ItemID, domainName, proxyFQDN); + if (!(res.IsSuccess && res.ErrorCodes.Count == 0)) + { + messageBox.ShowMessage(res, "ADD_LYNC_FEDERATIONDOMAIN", "LYNC"); + } + + + // return + RedirectBack(); + } + + private void RedirectBack() + { + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "lync_federationdomains", + "SpaceID=" + PanelSecurity.PackageId)); + + } + + protected void btnCancel_Click(object sender, EventArgs e) + { + // return + RedirectBack(); + } + protected void btnAdd_Click(object sender, EventArgs e) + { + AddDomain(); + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.designer.cs new file mode 100644 index 00000000..f244efeb --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddFederationDomain.ascx.designer.cs @@ -0,0 +1,177 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal { + + + public partial class LyncAddFederationDomain { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// AddFederationDomain control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTable AddFederationDomain; + + /// + /// locDomainName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locDomainName; + + /// + /// DomainName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox DomainName; + + /// + /// DomainRequiredValidator control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator DomainRequiredValidator; + + /// + /// DomainFormatValidator control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator DomainFormatValidator; + + /// + /// locProxyFQDN control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locProxyFQDN; + + /// + /// ProxyFQDN control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox ProxyFQDN; + + /// + /// ProxyFqdnFormatValidator control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RegularExpressionValidator ProxyFqdnFormatValidator; + + /// + /// btnAdd control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAdd; + + /// + /// btnCancel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnCancel; + + /// + /// ValidationSummary1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary1; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx new file mode 100644 index 00000000..d8c55723 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx @@ -0,0 +1,132 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncAddLyncUserPlan.ascx.cs" Inherits="WebsitePanel.Portal.Lync.LyncAddLyncUserPlan" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/SizeBox.ascx" TagName="SizeBox" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/DaysBox.ascx" TagName="DaysBox" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> + + + +
+
+
+ +
+
+ +
+
+
+
+ + +
+
+ + + + + + + + + + +
+ + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ +
+ +
+
+
+ + +
+
+ + +
+
+
+
+ +
+
+
+
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.cs new file mode 100644 index 00000000..64b99076 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.cs @@ -0,0 +1,157 @@ +// 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.Lync +{ + public partial class LyncAddLyncUserPlan : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + + if (!IsPostBack) + { + if (PanelRequest.GetInt("LyncUserPlanId") != 0) + { + Providers.HostedSolution.LyncUserPlan plan = ES.Services.Lync.GetLyncUserPlan(PanelRequest.ItemID, PanelRequest.GetInt("LyncUserPlanId")); + + txtPlan.Text = plan.LyncUserPlanName; + chkIM.Checked = plan.IM; + chkIM.Enabled = false; + chkFederation.Checked = plan.Federation; + chkConferencing.Checked = plan.Conferencing; + chkMobility.Checked = plan.Mobility; + chkEnterpriseVoice.Checked = plan.EnterpriseVoice; + switch (plan.VoicePolicy) + { + case LyncVoicePolicyType.None: + break; + case LyncVoicePolicyType.Emergency: + chkEmergency.Checked = true; + break; + case LyncVoicePolicyType.National: + chkNational.Checked = true; + break; + case LyncVoicePolicyType.Mobile: + chkMobile.Checked = true; + break; + case LyncVoicePolicyType.International: + chkInternational.Checked = true; + break; + default: + chkNone.Checked = true; + break; + } + + locTitle.Text = plan.LyncUserPlanName; + this.DisableControls = true; + + } + else + { + chkIM.Checked = true; + chkIM.Enabled = false; + chkNone.Checked = true; + PackageContext cntx = ES.Services.Packages.GetPackageContext(PanelSecurity.PackageId); + if (cntx != null) + { + foreach (QuotaValueInfo quota in cntx.QuotasArray) + { + switch (quota.QuotaId) + { + case 371: + chkFederation.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue); + chkFederation.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue); + break; + case 372: + chkConferencing.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue); + chkConferencing.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue); + break; + case 375: + chkEnterpriseVoice.Checked = Convert.ToBoolean(quota.QuotaAllocatedValue); + chkEnterpriseVoice.Enabled = Convert.ToBoolean(quota.QuotaAllocatedValue); + break; + } + } + } + else + this.DisableControls = true; + } + } + + } + + protected void btnAdd_Click(object sender, EventArgs e) + { + AddPlan(); + } + + private void AddPlan() + { + try + { + Providers.HostedSolution.LyncUserPlan plan = new Providers.HostedSolution.LyncUserPlan(); + plan.LyncUserPlanName = txtPlan.Text; + plan.IsDefault = false; + + plan.IM = true; + plan.Mobility = chkMobility.Checked; + plan.Federation = chkFederation.Checked; + plan.Conferencing = chkConferencing.Checked; + + + plan.EnterpriseVoice = chkEnterpriseVoice.Checked; + if (!plan.EnterpriseVoice) + { + plan.VoicePolicy = LyncVoicePolicyType.None; + } + + int result = ES.Services.Lync.AddLyncUserPlan( PanelRequest.ItemID, + plan); + + + if (result < 0) + { + messageBox.ShowResultMessage(result); + return; + } + + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "lync_userplans", + "SpaceID=" + PanelSecurity.PackageId)); + } + catch (Exception ex) + { + messageBox.ShowErrorMessage("LYNC_ADD_PLAN", ex); + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.designer.cs new file mode 100644 index 00000000..6ad8557f --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncAddLyncUserPlan.ascx.designer.cs @@ -0,0 +1,258 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync { + + + public partial class LyncAddLyncUserPlan { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// secPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secPlan; + + /// + /// Plan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel Plan; + + /// + /// txtPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtPlan; + + /// + /// valRequirePlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequirePlan; + + /// + /// secPlanFeatures control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secPlanFeatures; + + /// + /// PlanFeatures control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel PlanFeatures; + + /// + /// chkIM control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkIM; + + /// + /// chkMobility control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkMobility; + + /// + /// chkFederation control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkFederation; + + /// + /// chkConferencing control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkConferencing; + + /// + /// chkEnterpriseVoice control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.CheckBox chkEnterpriseVoice; + + /// + /// secEnterpriseVoice control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.CollapsiblePanel secEnterpriseVoice; + + /// + /// EnterpriseVoice control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel EnterpriseVoice; + + /// + /// chkNone control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RadioButton chkNone; + + /// + /// chkEmergency control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RadioButton chkEmergency; + + /// + /// chkNational control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RadioButton chkNational; + + /// + /// chkMobile control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RadioButton chkMobile; + + /// + /// chkInternational control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RadioButton chkInternational; + + /// + /// btnAdd control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAdd; + + /// + /// ValidationSummary1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary1; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx new file mode 100644 index 00000000..93d2389d --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx @@ -0,0 +1,62 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncCreateUser.ascx.cs" Inherits="WebsitePanel.Portal.Lync.CreateLyncUser" %> +<%@ Register Src="../ExchangeServer/UserControls/UserSelector.ascx" TagName="UserSelector" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> +<%@ Register Src="UserControls/LyncUserPlanSelector.ascx" TagName="LyncUserPlanSelector" TagPrefix="wsp" %> + + +
+
+
+ +
+
+ +
+
+
+
+ + +
+
+ + + + + + + +
+ +
+ + + + + + +
+ + + +
+ + +
+ +
+
+
+
+ +
+
+
+
+ diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.cs new file mode 100644 index 00000000..eabe3e15 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.cs @@ -0,0 +1,66 @@ +// 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.Providers.ResultObjects; +using WebsitePanel.EnterpriseServer; + +namespace WebsitePanel.Portal.Lync +{ + public partial class CreateLyncUser : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + WebsitePanel.Providers.HostedSolution.LyncUserPlan[] plans = ES.Services.Lync.GetLyncUserPlans(PanelRequest.ItemID); + + if (plans.Length == 0) + btnCreate.Enabled = false; + } + + + } + + protected void btnCreate_Click(object sender, EventArgs e) + { + int accountId = userSelector.GetAccountId(); + LyncUserResult res = ES.Services.Lync.CreateLyncUser(PanelRequest.ItemID, accountId, Convert.ToInt32(planSelector.planId)); + if (res.IsSuccess && res.ErrorCodes.Count == 0) + { + Response.Redirect(EditUrl("AccountID", accountId.ToString(), "edit_lync_user", + "SpaceID=" + PanelSecurity.PackageId, + "ItemID=" + PanelRequest.ItemID)); + } + else + { + messageBox.ShowMessage(res, "CREATE_LYNC_USER", "LYNC"); + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.designer.cs new file mode 100644 index 00000000..4b7232df --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncCreateUser.ascx.designer.cs @@ -0,0 +1,132 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync { + + + public partial class CreateLyncUser { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// ExistingUserTable control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTable ExistingUserTable; + + /// + /// Localize1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize Localize1; + + /// + /// userSelector control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.UserSelector userSelector; + + /// + /// locPlanName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locPlanName; + + /// + /// planSelector control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Lync.UserControls.LyncUserPlanSelector planSelector; + + /// + /// btnCreate control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnCreate; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx new file mode 100644 index 00000000..b1017e85 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx @@ -0,0 +1,54 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncEditUser.ascx.cs" Inherits="WebsitePanel.Portal.Lync.EditLyncUser" %> +<%@ Register Src="../ExchangeServer/UserControls/UserSelector.ascx" TagName="UserSelector" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> +<%@ Register src="../ExchangeServer/UserControls/MailboxSelector.ascx" tagname="MailboxSelector" tagprefix="uc1" %> +<%@ Register Src="UserControls/LyncUserPlanSelector.ascx" TagName="LyncUserPlanSelector" TagPrefix="wsp" %> + + +
+
+
+ +
+
+ +
+
+
+
+ + + - + +
+
+ + + + + + + + +
+ + + +
+ +
+ +
+
+
+
+ +
+
+
+
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.cs new file mode 100644 index 00000000..aa3b96fa --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.cs @@ -0,0 +1,76 @@ +// 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.ResultObjects; +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Portal.Lync +{ + public partial class EditLyncUser : WebsitePanelModuleBase + { + + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + BindItems(); + + } + + private void BindItems() + { + // get settings + LyncUser lyncUser = ES.Services.Lync.GetLyncUserGeneralSettings(PanelRequest.ItemID, PanelRequest.AccountID); + + // title + litDisplayName.Text = lyncUser.DisplayName; + + planSelector.planId = lyncUser.LyncUserPlanId.ToString(); + } + + protected void btnSave_Click(object sender, EventArgs e) + { + if (!Page.IsValid) + return; + try + { + LyncUserResult res = ES.Services.Lync.SetUserLyncPlan(PanelRequest.ItemID, PanelRequest.AccountID, Convert.ToInt32(planSelector.planId)); + if (res.IsSuccess && res.ErrorCodes.Count == 0) + { + messageBox.ShowSuccessMessage("UPDATE_LYNC_USER"); + return; + } + } + catch(Exception ex) + { + messageBox.ShowErrorMessage("UPDATE_LYNC_USER", ex); + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.designer.cs new file mode 100644 index 00000000..4d44e037 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncEditUser.ascx.designer.cs @@ -0,0 +1,114 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync { + + + public partial class EditLyncUser { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// litDisplayName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Literal litDisplayName; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// locPlanName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locPlanName; + + /// + /// planSelector control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Lync.UserControls.LyncUserPlanSelector planSelector; + + /// + /// btnSave control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnSave; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx new file mode 100644 index 00000000..df871012 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx @@ -0,0 +1,63 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncFederationDomains.ascx.cs" Inherits="WebsitePanel.Portal.Lync.LyncFederationDomains" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> + + + +
+
+
+ +
+
+ +
+
+
+
+ + +
+
+ + +
+ +
+ + + + + + + + <%# Eval("DomainName") %> + + + + + +   + + + + +
+ +
+ +
+
+
+ +
+
+
+
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.cs new file mode 100644 index 00000000..9a74216a --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.cs @@ -0,0 +1,87 @@ +// 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 System.Web.UI.WebControls; +using WebsitePanel.EnterpriseServer; +using WebsitePanel.Providers.ResultObjects; +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Portal.Lync +{ + public partial class LyncFederationDomains : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + // bind domain names + BindDomainNames(); + } + + } + + private void BindDomainNames() + { + LyncFederationDomain[] list = ES.Services.Lync.GetFederationDomains(PanelRequest.ItemID); + + gvDomains.DataSource = list; + gvDomains.DataBind(); + + } + + protected void btnAddDomain_Click(object sender, EventArgs e) + { + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "add_lyncfederation_domain", + "SpaceID=" + PanelSecurity.PackageId)); + } + + protected void gvDomains_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "DeleteItem") + { + try + { + LyncUserResult res = ES.Services.Lync.RemoveFederationDomain(PanelRequest.ItemID, e.CommandArgument.ToString()); + if (!(res.IsSuccess && res.ErrorCodes.Count == 0)) + { + messageBox.ShowMessage(res, "DELETE_LYNC_FEDERATIONDOMAIN", "LYNC"); + return; + } + + // rebind domains + BindDomainNames(); + } + catch (Exception ex) + { + ShowErrorMessage("LYNC_DELETE_DOMAIN", ex); + } + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.designer.cs new file mode 100644 index 00000000..8492606b --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncFederationDomains.ascx.designer.cs @@ -0,0 +1,96 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync { + + + public partial class LyncFederationDomains { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// btnAddDomain control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAddDomain; + + /// + /// gvDomains control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvDomains; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx new file mode 100644 index 00000000..e91be256 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx @@ -0,0 +1,73 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncUserPlans.ascx.cs" Inherits="WebsitePanel.Portal.Lync.LyncUserPlans" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> + + + +
+
+
+ +
+
+ +
+
+
+
+ + +
+
+ + +
+ +
+ + + + + + + + <%# Eval("LyncUserPlanName")%> + + + + + +
+ /> +
+
+
+ + +   + + +
+
+
+
+ +
+ +
+
+
+ +
+
+
+
\ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.cs new file mode 100644 index 00000000..3137598d --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.cs @@ -0,0 +1,125 @@ +// 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 System.Web.UI.WebControls; +using WebsitePanel.EnterpriseServer; +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Portal.Lync +{ + public partial class LyncUserPlans : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + BindPlans(); + } + + } + + public string GetPlanDisplayUrl(string LyncUserPlanId) + { + return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "add_lyncuserplan", + "LyncUserPlanId=" + LyncUserPlanId, + "ItemID=" + PanelRequest.ItemID); + } + + + private void BindPlans() + { + LyncUserPlan[] list = ES.Services.Lync.GetLyncUserPlans(PanelRequest.ItemID); + + gvPlans.DataSource = list; + gvPlans.DataBind(); + + //check if organization has only one default domain + if (gvPlans.Rows.Count == 1) + { + btnSetDefaultPlan.Enabled = false; + } + } + + public string IsChecked(bool val) + { + return val ? "checked" : ""; + } + + protected void btnAddPlan_Click(object sender, EventArgs e) + { + btnSetDefaultPlan.Enabled = true; + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "add_lyncuserplan", + "SpaceID=" + PanelSecurity.PackageId)); + } + + protected void gvPlan_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "DeleteItem") + { + int planId = Utils.ParseInt(e.CommandArgument.ToString(), 0); + + try + { + int result = ES.Services.Lync.DeleteLyncUserPlan(PanelRequest.ItemID, planId); + + if (result < 0) + { + messageBox.ShowResultMessage(result); + return; + } + + } + catch (Exception) + { + messageBox.ShowErrorMessage("LYNC_DELETE_PLAN"); + } + + BindPlans(); + } + } + + protected void btnSetDefaultPlan_Click(object sender, EventArgs e) + { + // get domain + int planId = Utils.ParseInt(Request.Form["DefaultPlan"], 0); + + try + { + ES.Services.Lync.SetOrganizationDefaultLyncUserPlan(PanelRequest.ItemID, planId); + + // rebind domains + BindPlans(); + } + catch (Exception ex) + { + ShowErrorMessage("LYNC_SET_DEFAULT_PLAN", ex); + } + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.designer.cs new file mode 100644 index 00000000..7cde581a --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUserPlans.ascx.designer.cs @@ -0,0 +1,105 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync { + + + public partial class LyncUserPlans { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// btnAddPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAddPlan; + + /// + /// gvPlans control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvPlans; + + /// + /// btnSetDefaultPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnSetDefaultPlan; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx new file mode 100644 index 00000000..0fe66529 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx @@ -0,0 +1,91 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncUsers.ascx.cs" Inherits="WebsitePanel.Portal.Lync.LyncUsers" %> +<%@ Register Src="../ExchangeServer/UserControls/UserSelector.ascx" TagName="UserSelector" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Menu.ascx" TagName="Menu" TagPrefix="wsp" %> +<%@ Register Src="../ExchangeServer/UserControls/Breadcrumb.ascx" TagName="Breadcrumb" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %> +<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %> + + +
+
+
+ +
+
+ +
+
+
+
+ + +
+
+ + +
+
+ +
+
+ + + DisplayName + Email + + + +
+
+ + + + + + + + + <%# Eval("DisplayName") %> + + + + + + + + + + + + + + + + + + + +
+ +     + +
+
+
+ +
+
+
+
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.cs new file mode 100644 index 00000000..cefe0967 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.cs @@ -0,0 +1,100 @@ +// 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.Providers.Common; +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Portal.Lync +{ + public partial class LyncUsers : WebsitePanelModuleBase + { + protected void Page_Load(object sender, EventArgs e) + { + BindStats(); + } + + private void BindStats() + { + OrganizationStatistics stats = ES.Services.Organizations.GetOrganizationStatistics(PanelRequest.ItemID); + int allocatedLyncUsers = stats.AllocatedLyncUsers; + int usedUsers = stats.CreatedLyncUsers; + usersQuota.QuotaUsedValue = usedUsers; + usersQuota.QuotaValue = allocatedLyncUsers; + } + + protected void btnCreateUser_Click(object sender, EventArgs e) + { + Response.Redirect(EditUrl("ItemID", PanelRequest.ItemID.ToString(), "create_new_lync_user", + "SpaceID=" + PanelSecurity.PackageId)); + } + + public string GetAccountImage() + { + + return GetThemedImage("Exchange/admin_16.png"); + } + + public string GetUserEditUrl(string accountId) + { + return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "edit_lync_user", + "AccountID=" + accountId, + "ItemID=" + PanelRequest.ItemID); + } + + + + protected void odsAccountsPaged_Selected(object sender, System.Web.UI.WebControls.ObjectDataSourceStatusEventArgs e) + { + + } + + protected void gvUsers_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e) + { + if (e.CommandName == "DeleteItem") + { + try + { + ResultObject res = ES.Services.Lync.DeleteLyncUser(PanelRequest.ItemID, Convert.ToInt32(e.CommandArgument)); + + messageBox.ShowMessage(res, "DELETE_LYNC_USER", "LYNC"); + + // rebind grid + gvUsers.DataBind(); + BindStats(); + + } + catch (Exception ex) + { + messageBox.ShowErrorMessage("DELETE_LYNC_USERS", ex); + } + } + } + + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.designer.cs new file mode 100644 index 00000000..dea6472f --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/LyncUsers.ascx.designer.cs @@ -0,0 +1,159 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync { + + + public partial class LyncUsers { + + /// + /// asyncTasks control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks; + + /// + /// breadcrumb control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Breadcrumb breadcrumb; + + /// + /// menu control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.ExchangeServer.UserControls.Menu menu; + + /// + /// Image1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Image Image1; + + /// + /// locTitle control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locTitle; + + /// + /// messageBox control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox; + + /// + /// btnCreateUser control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnCreateUser; + + /// + /// SearchPanel control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel SearchPanel; + + /// + /// ddlSearchColumn control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.DropDownList ddlSearchColumn; + + /// + /// txtSearchValue control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSearchValue; + + /// + /// cmdSearch control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ImageButton cmdSearch; + + /// + /// gvUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvUsers; + + /// + /// odsAccountsPaged control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ObjectDataSource odsAccountsPaged; + + /// + /// locQuota control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locQuota; + + /// + /// usersQuota control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.QuotaViewer usersQuota; + + /// + /// FormComments control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize FormComments; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx new file mode 100644 index 00000000..c6d336f8 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx @@ -0,0 +1,2 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LyncUserPlanSelector.ascx.cs" Inherits="WebsitePanel.Portal.Lync.UserControls.LyncUserPlanSelector" %> + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.cs new file mode 100644 index 00000000..31ba7eef --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.cs @@ -0,0 +1,100 @@ +// 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 System.Web.UI.WebControls; + +namespace WebsitePanel.Portal.Lync.UserControls +{ + public partial class LyncUserPlanSelector : WebsitePanelControlBase + { + + private string planToSelect; + + public string planId + { + + get { return ddlPlan.SelectedItem.Value; } + set + { + planToSelect = value; + foreach(ListItem li in ddlPlan.Items) + { + if (li.Value == value) + { + ddlPlan.ClearSelection(); + li.Selected = true; + break; + } + } + } + } + + public int plansCount + { + get + { + return this.ddlPlan.Items.Count; + } + } + + + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + BindPlans(); + } + } + + private void BindPlans() + { + WebsitePanel.Providers.HostedSolution.LyncUserPlan[] plans = ES.Services.Lync.GetLyncUserPlans(PanelRequest.ItemID); + + foreach (WebsitePanel.Providers.HostedSolution.LyncUserPlan plan in plans) + { + ListItem li = new ListItem(); + li.Text = plan.LyncUserPlanName; + li.Value = plan.LyncUserPlanId.ToString(); + li.Selected = plan.IsDefault; + ddlPlan.Items.Add(li); + } + + foreach (ListItem li in ddlPlan.Items) + { + if (li.Value == planToSelect) + { + ddlPlan.ClearSelection(); + li.Selected = true; + break; + } + } + + } + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.designer.cs new file mode 100644 index 00000000..db7df3f3 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/Lync/UserControls/LyncUserPlanSelector.ascx.designer.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.Lync.UserControls { + + + public partial class LyncUserPlanSelector { + + /// + /// ddlPlan control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.DropDownList ddlPlan; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Lync_Settings.ascx.resx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Lync_Settings.ascx.resx new file mode 100644 index 00000000..79fdeff7 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/App_LocalResources/Lync_Settings.ascx.resx @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add + + + Located on the same server + + + Lync Servers + + + Root OU: + + + Lync Frontend and Director Servers + + + Enterprise pool or <br/>Standard Edition Server name: + + + Simple Url Base: + + + <Located on the same server> + + \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx new file mode 100644 index 00000000..0d569521 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx @@ -0,0 +1,54 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Lync_Settings.ascx.cs" Inherits="WebsitePanel.Portal.ProviderControls.Lync_Settings" %> + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + + + + + + + + + + + + +
diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.cs new file mode 100644 index 00000000..0d7110ef --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.cs @@ -0,0 +1,181 @@ +// 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 System.Collections.Generic; +using System.Data; +using System.Web.UI.WebControls; +using WebsitePanel.EnterpriseServer; +using WebsitePanel.Providers.HostedSolution; + +namespace WebsitePanel.Portal.ProviderControls +{ + public partial class Lync_Settings : WebsitePanelControlBase, IHostingServiceProviderSettings + { + + public const string LyncServersData = "LyncServersData"; + + protected void Page_Load(object sender, EventArgs e) + { + + } + + + + public void BindSettings(System.Collections.Specialized.StringDictionary settings) + { + txtServerName.Text = settings[LyncConstants.PoolFQDN]; + txtSimpleUrlBase.Text = settings[LyncConstants.SimpleUrlRoot]; + + + LyncServers = settings["LyncServersServiceID"]; + + BindLyncServices(ddlLyncServers); + + Utils.SelectListItem(ddlLyncServers, settings["LyncServersServiceID"]); + + UpdateLyncServersGrid(); + } + + public void SaveSettings(System.Collections.Specialized.StringDictionary settings) + { + settings[LyncConstants.PoolFQDN] = txtServerName.Text.Trim(); + settings[LyncConstants.SimpleUrlRoot] = txtSimpleUrlBase.Text.Trim(); + + settings["LyncServersServiceID"] = LyncServers; + } + + + public string LyncServers + { + get + { + return ViewState[LyncServersData] != null ? ViewState[LyncServersData].ToString() : string.Empty; + } + set + { + ViewState[LyncServersData] = value; + } + } + + + protected void btnAddLyncServer_Click(object sender, EventArgs e) + { + if (!string.IsNullOrEmpty(LyncServers)) + LyncServers += ","; + + LyncServers += ddlLyncServers.SelectedItem.Value; + + UpdateLyncServersGrid(); + BindLyncServices(ddlLyncServers); + + } + + public List GetServices(string data) + { + if (string.IsNullOrEmpty(data)) + return null; + List list = new List(); + string[] servicesIds = data.Split(','); + foreach (string current in servicesIds) + { + ServiceInfo serviceInfo = ES.Services.Servers.GetServiceInfo(Utils.ParseInt(current)); + list.Add(serviceInfo); + } + + + return list; + } + + private void UpdateLyncServersGrid() + { + gvLyncServers.DataSource = GetServices(LyncServers); + gvLyncServers.DataBind(); + } + + + public void BindLyncServices(DropDownList ddl) + { + ddl.Items.Clear(); + + ServiceInfo serviceInfo = ES.Services.Servers.GetServiceInfo(PanelRequest.ServiceId); + DataView dvServices = ES.Services.Servers.GetRawServicesByGroupName(ResourceGroups.Lync).Tables[0].DefaultView; + + foreach (DataRowView dr in dvServices) + { + int serviceId = (int)dr["ServiceID"]; + ServiceInfo currentServiceInfo = ES.Services.Servers.GetServiceInfo(serviceId); + + if (currentServiceInfo == null || currentServiceInfo.ProviderId != serviceInfo.ProviderId) + continue; + + List services = GetServices(LyncServers); + bool exists = false; + if (services != null) + foreach (ServiceInfo current in services) + { + if (current != null && current.ServiceId == serviceId) + { + exists = true; + break; + } + } + + if (!exists) + ddl.Items.Add(new ListItem(dr["FullServiceName"].ToString(), serviceId.ToString())); + + } + + ddl.Visible = ddl.Items.Count != 0; + btnAddLyncServer.Visible = ddl.Items.Count != 0; + + } + + protected void gvLyncServers_RowCommand(object sender, GridViewCommandEventArgs e) + { + if (e.CommandName == "RemoveServer") + { + string str = string.Empty; + List services = GetServices(LyncServers); + foreach (ServiceInfo current in services) + { + if (current.ServiceId == Utils.ParseInt(e.CommandArgument.ToString())) + continue; + + + str += current.ServiceId + ","; + } + + LyncServers = str.TrimEnd(','); + UpdateLyncServersGrid(); + BindLyncServices(ddlLyncServers); + } + } + + } +} \ No newline at end of file diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.designer.cs new file mode 100644 index 00000000..78c838e3 --- /dev/null +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/Lync_Settings.ascx.designer.cs @@ -0,0 +1,105 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WebsitePanel.Portal.ProviderControls { + + + public partial class Lync_Settings { + + /// + /// locServerName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locServerName; + + /// + /// txtServerName control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtServerName; + + /// + /// RequiredFieldValidator2 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2; + + /// + /// locSimpleUrlBase control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locSimpleUrlBase; + + /// + /// txtSimpleUrlBase control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtSimpleUrlBase; + + /// + /// RequiredFieldValidator1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1; + + /// + /// locLynServers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Localize locLynServers; + + /// + /// ddlLyncServers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.DropDownList ddlLyncServers; + + /// + /// btnAddLyncServer control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnAddLyncServer; + + /// + /// gvLyncServers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView gvLyncServers; + } +} diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx index 6ef28dbf..66a65218 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx @@ -26,6 +26,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -34,9 +59,9 @@ - - - + + + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.cs index 211953ad..173489f7 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.cs @@ -54,13 +54,18 @@ namespace WebsitePanel.Portal { // QUOTA CONTROL ID <=> TABLE ROW CONTROL ID { "quotaDiskspace", "pnlDiskspace" }, - { "quotaBandwidth", "pnlBandwidth" }, - { "quotaFtpAccounts", "pnlFtpAccounts" }, + { "quotaBandwidth", "pnlBandwidth" }, { "quotaDomains", "pnlDomains" }, { "quotaSubDomains", "pnlSubDomains" }, { "quotaDomainPointers", "pnlDomainPointers" }, - { "quotaMailAccounts", "pnlMailAccounts" }, + { "quotaUserAccounts", "pnlUserAccounts" }, + { "quotaMailAccounts", "pnlMailboxes" }, + { "quotaOCSUsers", "pnlOCSUsers" }, + { "quotaLyncUsers", "pnlLyncUsers" }, + { "quotaBlackBerryUsers", "pnlBlackBerryUsers" }, + { "quotaSharepointSites", "pnlSharepointSites" }, { "quotaWebSites", "pnlWebSites" }, + { "quotaDatabases", "pnlDatabases" }, { "quotaNumberOfVm", "pnlHyperVForPC" } }; diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.designer.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.designer.cs index 3f4f3b9c..f6478bd6 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.designer.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/SpaceQuotas.ascx.designer.cs @@ -147,6 +147,168 @@ namespace WebsitePanel.Portal { ///
protected global::WebsitePanel.Portal.Quota quotaDomainPointers; + /// + /// pnlUserAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlUserAccounts; + + /// + /// lblUserAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblUserAccounts; + + /// + /// quotaUserAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Quota quotaUserAccounts; + + /// + /// pnlMailAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlMailAccounts; + + /// + /// lblMailAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblMailAccounts; + + /// + /// quotaMailAccounts control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Quota quotaMailAccounts; + + /// + /// pnlOCSUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlOCSUsers; + + /// + /// lblOCSUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblOCSUsers; + + /// + /// quotaOCSUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Quota quotaOCSUsers; + + /// + /// pnlLyncUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlLyncUsers; + + /// + /// lblLyncUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblLyncUsers; + + /// + /// quotaLyncUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Quota quotaLyncUsers; + + /// + /// pnlBlackBerryUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlBlackBerryUsers; + + /// + /// lblBlackBerryUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblBlackBerryUsers; + + /// + /// quotaBlackBerryUsers control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Quota quotaBlackBerryUsers; + + /// + /// pnlSharepointSites control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlSharepointSites; + + /// + /// lblSharepointSites control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblSharepointSites; + + /// + /// quotaSharepointSites control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::WebsitePanel.Portal.Quota quotaSharepointSites; + /// /// pnlWebSites control. /// @@ -202,31 +364,31 @@ namespace WebsitePanel.Portal { protected global::WebsitePanel.Portal.Quota quotaFtpAccounts; /// - /// pnlMailAccounts control. + /// pnlDatabases control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlMailAccounts; + protected global::System.Web.UI.HtmlControls.HtmlTableRow pnlDatabases; /// - /// lblMailAccounts control. + /// lblDatabases control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.Label lblMailAccounts; + protected global::System.Web.UI.WebControls.Label lblDatabases; /// - /// quotaMailAccounts control. + /// quotaDatabases control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::WebsitePanel.Portal.Quota quotaMailAccounts; + protected global::WebsitePanel.Portal.Quota quotaDatabases; /// /// pnlHyperVForPC control. diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj index 6c2fe5c9..1e873ce9 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/WebsitePanel.Portal.Modules.csproj @@ -161,6 +161,7 @@ + @@ -224,6 +225,62 @@ MailboxPlanSelector.ascx + + LyncAddFederationDomain.ascx + ASPXCodeBehind + + + LyncAddFederationDomain.ascx + + + LyncAddLyncUserPlan.ascx + ASPXCodeBehind + + + LyncAddLyncUserPlan.ascx + + + LyncCreateUser.ascx + ASPXCodeBehind + + + LyncCreateUser.ascx + + + LyncEditUser.ascx + ASPXCodeBehind + + + LyncEditUser.ascx + + + LyncFederationDomains.ascx + ASPXCodeBehind + + + LyncFederationDomains.ascx + + + LyncUserPlans.ascx + ASPXCodeBehind + + + LyncUserPlans.ascx + + + LyncUsers.ascx + ASPXCodeBehind + + + LyncUsers.ascx + + + LyncUserPlanSelector.ascx + ASPXCodeBehind + + + LyncUserPlanSelector.ascx + hMailServer5_EditAccount.ascx ASPXCodeBehind @@ -269,6 +326,13 @@ hMailServer5_Settings.ascx + + Lync_Settings.ascx + ASPXCodeBehind + + + Lync_Settings.ascx + NotifyOverusedDatabases.ascx ASPXCodeBehind @@ -3690,12 +3754,21 @@ + + + + + + + + + @@ -4813,6 +4886,14 @@ + + + + + + + + Designer @@ -5766,7 +5847,9 @@ Designer - + + +