Lync Server 2010 Multitenant Core Unified Communications Support Added
Enterprise voice support to follow soon
This commit is contained in:
parent
3732b2143c
commit
a240fcebc6
94 changed files with 11276 additions and 39 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue