You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3433 lines
82 KiB
3433 lines
82 KiB
-- Script: uddi.v2.businessEntity.sql
|
|
-- Description: Stored procedures associated with a businessEntity object.
|
|
-- Note: This file is best viewed and edited with a tab width of 2.
|
|
|
|
-- =============================================
|
|
-- Section: Get stored procedures
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_get' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_get
|
|
@businessKey uniqueidentifier,
|
|
@operatorName nvarchar(450) OUTPUT,
|
|
@authorizedName nvarchar(4000) OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000)
|
|
|
|
SELECT
|
|
@operatorName = dbo.publisherOperatorName([publisherID]),
|
|
@authorizedName = ISNULL([authorizedName],dbo.publisherName([publisherID]))
|
|
FROM
|
|
[UDC_businessEntities]
|
|
WHERE
|
|
[businessKey] = @businessKey
|
|
|
|
IF @@ROWCOUNT = 0
|
|
BEGIN
|
|
SET @error = 60210
|
|
SET @context = 'businessKey = ' + dbo.UUIDSTR(@businessKey)
|
|
GOTO errorLabel
|
|
END
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_businessEntity_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_get_batch
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_get_batch' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_get_batch
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_get_batch
|
|
@businessKey uniqueidentifier,
|
|
@operatorName nvarchar(450) OUTPUT,
|
|
@authorizedName nvarchar(4000) OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000)
|
|
|
|
SELECT
|
|
@operatorName = dbo.publisherOperatorName([publisherID]),
|
|
@authorizedName = ISNULL([authorizedName],dbo.publisherName([publisherID]))
|
|
FROM
|
|
[UDC_businessEntities]
|
|
WHERE
|
|
[businessKey] = @businessKey
|
|
|
|
IF @@ROWCOUNT = 0
|
|
BEGIN
|
|
SET @error = 60210
|
|
SET @context = 'businessKey = ' + dbo.UUIDSTR(@businessKey)
|
|
GOTO errorLabel
|
|
END
|
|
|
|
-- Retrieve the contained objects
|
|
EXEC net_businessEntity_descriptions_get @businessKey
|
|
EXEC net_businessEntity_names_get @businessKey
|
|
EXEC net_businessEntity_discoveryURLs_get @businessKey
|
|
EXEC net_businessEntity_contacts_get @businessKey
|
|
EXEC net_businessEntity_IdentifierBag_get @businessKey
|
|
EXEC net_businessEntity_CategoryBag_get @businessKey
|
|
EXEC net_businessEntity_BusinessServices_get @businessKey
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_businessEntity_get_batch
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessInfo_get_batch
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessInfo_get_batch' and type = 'P')
|
|
DROP PROCEDURE net_businessInfo_get_batch
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessInfo_get_batch
|
|
@businessKey uniqueidentifier,
|
|
@getServiceInfos bit
|
|
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
-- Retrieve the contained objects needed for a BusinessInfo
|
|
EXEC net_businessEntity_descriptions_get @businessKey
|
|
EXEC net_businessEntity_names_get @businessKey
|
|
|
|
IF @getServiceInfos = 1
|
|
BEGIN
|
|
EXEC net_businessEntity_BusinessServices_get @businessKey
|
|
END
|
|
|
|
RETURN 0
|
|
|
|
END -- net_businessEntity_get_batch
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_names_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_names_get' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_names_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_names_get
|
|
@businessKey uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
[isoLangCode],
|
|
[name]
|
|
FROM
|
|
[UDC_names_BE]
|
|
WHERE
|
|
[businessID] = dbo.businessID(@businessKey)
|
|
|
|
RETURN 0
|
|
END -- net_businessEntity_names_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_descriptions_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_descriptions_get' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_descriptions_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_descriptions_get
|
|
@businessKey uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
[isoLangCode],
|
|
[description]
|
|
FROM
|
|
[UDC_businessDesc]
|
|
WHERE
|
|
[businessID] = dbo.businessID(@businessKey)
|
|
|
|
RETURN 0
|
|
END -- net_businessEntity_descriptions_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_discoveryURLs_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_discoveryURLs_get' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_discoveryURLs_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_discoveryURLs_get
|
|
@businessKey uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
[useType],
|
|
[discoveryURL]
|
|
FROM
|
|
[UDC_discoveryURLs]
|
|
WHERE
|
|
[businessID] = dbo.businessID(@businessKey)
|
|
|
|
RETURN 0
|
|
END -- net_businessEntity_discoveryURLs_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_businessServices_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_businessServices_get' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_businessServices_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_businessServices_get
|
|
@businessKey uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@maxBigInt bigint
|
|
|
|
SET @maxBigInt = 9223372036854775807
|
|
|
|
IF NOT EXISTS(SELECT * FROM [UDC_businessEntities] WHERE [businessKey] = @businessKey)
|
|
BEGIN
|
|
SET @error = 60210 -- E_invalidKeyPassed
|
|
SET @context = 'businessKey = ' + dbo.UUIDSTR(@businessKey)
|
|
GOTO errorLabel
|
|
END
|
|
|
|
SELECT
|
|
[serviceKey],
|
|
NULL AS [businessKey],
|
|
[lastChange],
|
|
[serviceID]
|
|
FROM
|
|
[UDC_businessServices]
|
|
WHERE
|
|
([businessID] = dbo.businessID(@businessKey))
|
|
|
|
UNION
|
|
|
|
SELECT
|
|
SP.[serviceKey],
|
|
SP.[businessKey2], -- businessKey of true parent business of a projected service
|
|
SP.[lastChange],
|
|
ISNULL(BS.[serviceID],@maxBigInt)
|
|
FROM
|
|
[UDC_serviceProjections] SP
|
|
LEFT JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
WHERE
|
|
(SP.[businessKey] = @businessKey)
|
|
|
|
ORDER BY
|
|
3 ASC, -- [lastChange]
|
|
4 ASC -- [serviceID]
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_businessEntity_businessServices_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_contacts_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_contacts_get' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_contacts_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_contacts_get
|
|
@businessKey uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
[contactID],
|
|
[useType],
|
|
[personName]
|
|
FROM
|
|
[UDC_contacts]
|
|
WHERE
|
|
[businessID] = dbo.businessID(@businessKey)
|
|
|
|
RETURN 0
|
|
END -- net_businessEntity_contacts_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_contact_get_batch
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_contact_get_batch' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_contact_get_batch
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_contact_get_batch
|
|
@contactID bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
-- Get all contained objects in a contact
|
|
EXEC net_contact_descriptions_get @contactID
|
|
EXEC net_contact_phones_get @contactID
|
|
EXEC net_contact_emails_get @contactID
|
|
EXEC net_contact_addresses_get @contactID
|
|
|
|
END -- net_businessEntity_contact_get_batch
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_contact_descriptions_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_contact_descriptions_get' and type = 'P')
|
|
DROP PROCEDURE net_contact_descriptions_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_contact_descriptions_get
|
|
@contactID bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
[isoLangCode],
|
|
[description]
|
|
FROM
|
|
[UDC_contactDesc]
|
|
WHERE
|
|
[contactID] = @contactID
|
|
|
|
RETURN 0
|
|
END -- net_contact_descriptions_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_categoryBag_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_categoryBag_get' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_categoryBag_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_categoryBag_get
|
|
@businessKey uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
[keyName],
|
|
[keyValue],
|
|
[tModelKey]
|
|
FROM
|
|
[UDC_categoryBag_BE]
|
|
WHERE
|
|
[businessID] = dbo.businessID(@businessKey)
|
|
|
|
RETURN 0
|
|
END -- net_businessEntity_categoryBag_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_identifierBag_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_identifierBag_get' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_identifierBag_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_identifierBag_get
|
|
@businessKey uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
[keyName],
|
|
[keyValue],
|
|
[tModelKey]
|
|
FROM
|
|
[UDC_identifierBag_BE]
|
|
WHERE
|
|
[businessID] = dbo.businessID(@businessKey)
|
|
|
|
RETURN 0
|
|
END -- net_businessEntity_identifierBag_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_contact_emails_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_contact_emails_get' and type = 'P')
|
|
DROP PROCEDURE net_contact_emails_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_contact_emails_get
|
|
@contactID bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
[useType],
|
|
[email]
|
|
FROM
|
|
[UDC_emails]
|
|
WHERE
|
|
[contactID] = @contactID
|
|
|
|
RETURN 0
|
|
END -- net_contact_emails_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_contact_phones_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_contact_phones_get' and type = 'P')
|
|
DROP PROCEDURE net_contact_phones_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_contact_phones_get
|
|
@contactID bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
[useType],
|
|
[phone]
|
|
FROM
|
|
[UDC_phones]
|
|
WHERE
|
|
[contactID] = @contactID
|
|
|
|
RETURN 0
|
|
END -- net_contact_phones_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_contact_addresses_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_contact_addresses_get' and type = 'P')
|
|
DROP PROCEDURE net_contact_addresses_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_contact_addresses_get
|
|
@contactID bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
[addressID],
|
|
[sortCode],
|
|
[useType],
|
|
[tModelKey]
|
|
FROM
|
|
[UDC_addresses]
|
|
WHERE
|
|
[contactID] = @contactID
|
|
|
|
RETURN 0
|
|
END -- net_contact_addresses_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_address_addressLines_get
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_address_addressLines_get' and type = 'P')
|
|
DROP PROCEDURE net_address_addressLines_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_address_addressLines_get
|
|
@addressID bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
[addressLine],
|
|
[keyName],
|
|
[keyValue]
|
|
FROM
|
|
[UDC_addressLines]
|
|
WHERE
|
|
[addressID] = @addressID
|
|
|
|
RETURN 0
|
|
END -- net_address_addressLines_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Save stored procedures
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_save
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_save' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_save
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_save
|
|
@businessKey uniqueidentifier,
|
|
@PUID nvarchar(450),
|
|
@generic varchar(20),
|
|
@contextID uniqueidentifier,
|
|
@lastChange bigint,
|
|
@authorizedName nvarchar(4000) OUTPUT,
|
|
@operatorName nvarchar(450) OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@RC int,
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@publisherID bigint,
|
|
@isReplPublisher bit
|
|
|
|
SET @RC = 0
|
|
|
|
SET @publisherID = dbo.publisherID(@PUID)
|
|
|
|
IF (@publisherID IS NULL)
|
|
BEGIN
|
|
SET @error = 60150 -- E_unknownUser
|
|
SET @context = 'Invalid publisherID.'
|
|
GOTO errorLabel
|
|
END
|
|
|
|
SET @isReplPublisher = dbo.isReplPublisher(@PUID)
|
|
|
|
IF @isReplPublisher = 0
|
|
SET @authorizedName = NULL
|
|
|
|
IF EXISTS(SELECT * FROM [UDC_businessEntities] WHERE [businessKey] = @businessKey)
|
|
BEGIN
|
|
DELETE [UDC_businessEntities] WHERE [businessKey] = @businessKey
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF (@isReplPublisher = 1)
|
|
BEGIN
|
|
-- perform this check only for replication publishers
|
|
IF (dbo.isUuidUnique(@businessKey) = 0)
|
|
BEGIN
|
|
SET @error = 60210 -- E_invalidKeyPassed
|
|
SET @context = 'Key is not unique. businessKey = ' + dbo.UUIDSTR(@businessKey)
|
|
GOTO errorLabel
|
|
END
|
|
END
|
|
END
|
|
|
|
INSERT [UDC_businessEntities](
|
|
[publisherID],
|
|
[generic],
|
|
[authorizedName],
|
|
[businessKey],
|
|
[lastChange])
|
|
VALUES(
|
|
@publisherID,
|
|
ISNULL(@generic,dbo.configValue('CurrentAPIVersion')),
|
|
@authorizedName,
|
|
@businessKey,
|
|
@lastChange)
|
|
|
|
SET @authorizedName = dbo.publisherName(@publisherID)
|
|
SET @operatorName = dbo.publisherOperatorName(@publisherID)
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_businessEntity_save
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_name_save
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_name_save' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_name_save
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_name_save
|
|
@businessKey uniqueidentifier,
|
|
@isoLangCode varchar(17) = 'en',
|
|
@name nvarchar(450)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@RC int,
|
|
@error int,
|
|
@context nvarchar(4000)
|
|
|
|
-- Check for valid name
|
|
IF (@name IS NULL) OR (LEN(@name) = 0)
|
|
BEGIN
|
|
SET @error = 60500 -- E_fatalError
|
|
SET @context = 'name cannot be blank.'
|
|
GOTO errorLabel
|
|
END
|
|
|
|
INSERT [UDC_names_BE](
|
|
[businessID],
|
|
[isoLangCode],
|
|
[name])
|
|
VALUES(
|
|
dbo.businessID(@businessKey),
|
|
@isoLangCode,
|
|
@name)
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_businessEntity_name_save
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_description_save
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_description_save' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_description_save
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_description_save
|
|
@businessKey uniqueidentifier,
|
|
@isoLangCode varchar(17) = 'en',
|
|
@description nvarchar(4000)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
INSERT [UDC_businessDesc](
|
|
[businessID],
|
|
[isoLangCode],
|
|
[description])
|
|
VALUES(
|
|
dbo.businessID(@businessKey),
|
|
@isoLangCode,
|
|
@description)
|
|
|
|
RETURN 0
|
|
END -- net_businessEntity_description_save
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_discoveryURL_save
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_discoveryURL_save' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_discoveryURL_save
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_discoveryURL_save
|
|
@businessKey uniqueidentifier,
|
|
@useType nvarchar(4000),
|
|
@discoveryURL nvarchar(4000)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
INSERT [UDC_discoveryURLs](
|
|
[businessID],
|
|
[useType],
|
|
[discoveryURL])
|
|
VALUES(
|
|
dbo.businessID(@businessKey),
|
|
@useType,
|
|
@discoveryURL)
|
|
|
|
RETURN 0
|
|
END -- net_businessEntity_discoveryURL_save
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_categoryBag_save
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_categoryBag_save' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_categoryBag_save
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_categoryBag_save
|
|
@businessKey uniqueidentifier,
|
|
@keyName nvarchar(255),
|
|
@keyValue nvarchar(255),
|
|
@tModelKey uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
INSERT [UDC_categoryBag_BE](
|
|
[businessID],
|
|
[keyName],
|
|
[keyValue],
|
|
[tModelKey])
|
|
VALUES(
|
|
dbo.businessID(@businessKey),
|
|
@keyName,
|
|
@keyValue,
|
|
@tModelKey)
|
|
|
|
RETURN 0
|
|
END -- net_businessEntity_categoryBag_save
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_identifierBag_save
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_identifierBag_save' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_identifierBag_save
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_identifierBag_save
|
|
@businessKey uniqueidentifier,
|
|
@keyName nvarchar(255),
|
|
@keyValue nvarchar(255),
|
|
@tModelKey uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
INSERT [UDC_identifierBag_BE](
|
|
[businessID],
|
|
[keyName],
|
|
[keyValue],
|
|
[tModelKey])
|
|
VALUES(
|
|
dbo.businessID(@businessKey),
|
|
@keyName,
|
|
@keyValue,
|
|
@tModelKey)
|
|
|
|
RETURN 0
|
|
END -- net_businessEntity_categoryBag_save
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_contact_save
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_contact_save' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_contact_save
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_contact_save
|
|
@businessKey uniqueidentifier,
|
|
@useType nvarchar(4000),
|
|
@personName nvarchar(4000),
|
|
@contactID bigint OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000)
|
|
|
|
INSERT [UDC_contacts](
|
|
[businessID],
|
|
[useType],
|
|
[personName])
|
|
VALUES(
|
|
dbo.businessID(@businessKey),
|
|
@useType,
|
|
@personName)
|
|
|
|
SET @contactID = @@IDENTITY
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_businessEntity_contact_save
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_contact_description_save
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_contact_description_save' and type = 'P')
|
|
DROP PROCEDURE net_contact_description_save
|
|
GO
|
|
|
|
CREATE PROCEDURE net_contact_description_save
|
|
@contactID bigint,
|
|
@isoLangCode varchar(17) = 'en',
|
|
@description nvarchar(4000)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
INSERT [UDC_contactDesc](
|
|
[contactID],
|
|
[isoLangCode],
|
|
[description])
|
|
VALUES(
|
|
@contactID,
|
|
@isoLangCode,
|
|
@description)
|
|
|
|
RETURN 0
|
|
END -- net_contact_description_save
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_contact_email_save
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_contact_email_save' and type = 'P')
|
|
DROP PROCEDURE net_contact_email_save
|
|
GO
|
|
|
|
CREATE PROCEDURE net_contact_email_save
|
|
@contactID bigint,
|
|
@useType nvarchar(4000),
|
|
@email nvarchar(4000)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
INSERT [UDC_emails](
|
|
[contactID],
|
|
[useType],
|
|
[email])
|
|
VALUES(
|
|
@contactID,
|
|
@useType,
|
|
@email)
|
|
|
|
RETURN 0
|
|
END -- net_contact_email_save
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_contact_phone_save
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_contact_phone_save' and type = 'P')
|
|
DROP PROCEDURE net_contact_phone_save
|
|
GO
|
|
|
|
CREATE PROCEDURE net_contact_phone_save
|
|
@contactID bigint,
|
|
@useType nvarchar(4000),
|
|
@phone nvarchar(4000)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
INSERT [UDC_phones](
|
|
[contactID],
|
|
[useType],
|
|
[phone])
|
|
VALUES(
|
|
@contactID,
|
|
@useType,
|
|
@phone)
|
|
|
|
RETURN 0
|
|
END -- net_contact_phone_save
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_contact_address_save
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_contact_address_save' and type = 'P')
|
|
DROP PROCEDURE net_contact_address_save
|
|
GO
|
|
|
|
CREATE PROCEDURE net_contact_address_save
|
|
@contactID bigint,
|
|
@sortCode nvarchar(4000),
|
|
@useType nvarchar(4000),
|
|
@tModelKey uniqueidentifier = NULL,
|
|
@addressID bigint OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@numRows int
|
|
|
|
INSERT [UDC_addresses](
|
|
[contactID],
|
|
[sortCode],
|
|
[useType],
|
|
[tModelKey])
|
|
VALUES(
|
|
@contactID,
|
|
@sortCode,
|
|
@useType,
|
|
@tModelKey)
|
|
|
|
SET @addressID = @@IDENTITY
|
|
|
|
RETURN 0
|
|
END -- net_contact_address_save
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_address_addressLine_save
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_address_addressLine_save' and type = 'P')
|
|
DROP PROCEDURE net_address_addressLine_save
|
|
GO
|
|
|
|
CREATE PROCEDURE net_address_addressLine_save
|
|
@addressID bigint,
|
|
@addressLine nvarchar(4000),
|
|
@keyName nvarchar(255) = NULL,
|
|
@keyValue nvarchar(255) = NULL
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
INSERT [UDC_addressLines](
|
|
[addressID],
|
|
[addressLine],
|
|
[keyName],
|
|
[keyValue])
|
|
VALUES(
|
|
@addressID,
|
|
@addressLine,
|
|
@keyName,
|
|
@keyValue)
|
|
|
|
RETURN 0
|
|
END -- net_address_addressLine_save
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Delete stored procedures
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_delete
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_delete' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_delete
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_delete
|
|
@PUID nvarchar(450),
|
|
@businessKey uniqueidentifier,
|
|
@contextID uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@RC int,
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@operatorID bigint,
|
|
@publisherID bigint
|
|
|
|
SET @RC = 0
|
|
|
|
--
|
|
-- Validate parameters
|
|
--
|
|
|
|
IF @businessKey IS NULL
|
|
BEGIN
|
|
SET @error = 60210 -- E_invalidKey
|
|
SET @context = '@businessKey is required.'
|
|
GOTO errorLabel
|
|
END
|
|
|
|
-- Validate publisher
|
|
SET @publisherID = dbo.publisherID(@PUID)
|
|
|
|
IF @publisherID IS NULL
|
|
BEGIN
|
|
SET @error = 60150 -- E_unknownUser
|
|
SET @context = 'PUID = ' + ISNULL(@PUID, 'NULL')
|
|
GOTO errorLabel
|
|
END
|
|
|
|
-- Validate operator
|
|
EXEC @RC=net_pubOperator_get @publisherID, @operatorID OUTPUT
|
|
|
|
IF @RC <> 0
|
|
BEGIN
|
|
SET @error = 50006 -- E_subProcFailure
|
|
SET @context = ''
|
|
GOTO errorLabel
|
|
END
|
|
|
|
-- Check to see if businessKey exists
|
|
IF EXISTS(SELECT * FROM [UDC_businessEntities] WHERE ([businessKey] = @businessKey))
|
|
BEGIN
|
|
-- businessKey exists. Make sure it belongs to current publisher
|
|
IF NOT EXISTS(SELECT * FROM [UDC_businessEntities] WHERE ([businessKey] = @businessKey) AND (publisherID = @publisherID))
|
|
BEGIN
|
|
SET @error = 60140 -- E_userMismatch
|
|
SET @context = 'businessKey = ' + dbo.UUIDSTR(@businessKey)
|
|
GOTO errorLabel
|
|
END
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SET @error = 60210 -- E_invalidKey
|
|
SET @context = 'businessKey = ' + dbo.UUIDSTR(@businessKey)
|
|
GOTO errorLabel
|
|
END
|
|
|
|
-- Delete business
|
|
DELETE
|
|
[UDC_businessEntities]
|
|
WHERE
|
|
[businessKey] = @businessKey
|
|
|
|
-- Delete assertions
|
|
DELETE
|
|
[UDC_assertions_BE]
|
|
WHERE
|
|
[fromKey] = @businessKey
|
|
|
|
DELETE
|
|
[UDC_assertions_BE]
|
|
WHERE
|
|
[toKey] = @businessKey
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_businessEntity_delete
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Validation stored procedures
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_validate
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'net_businessEntity_validate' AND type = 'P')
|
|
DROP PROCEDURE net_businessEntity_validate
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_validate
|
|
@PUID nvarchar(450),
|
|
@businessKey uniqueidentifier,
|
|
@flag int = 0
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@RC int,
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@operatorID bigint,
|
|
@publisherID bigint,
|
|
@replActive bit
|
|
|
|
SET @RC = 0
|
|
SET @replActive = 0
|
|
|
|
IF @flag IS NULL
|
|
SET @flag = 0
|
|
|
|
--
|
|
-- Validate parameters
|
|
--
|
|
|
|
IF @businessKey IS NULL
|
|
BEGIN
|
|
SET @error = 60210 -- E_invalidKey
|
|
SET @context = '@businessKey is required.'
|
|
GOTO errorLabel
|
|
END
|
|
|
|
-- Validate publisher
|
|
SET @publisherID = dbo.publisherID(@PUID)
|
|
|
|
IF @publisherID IS NULL
|
|
BEGIN
|
|
SET @error = 60150 -- E_unknownUser
|
|
SET @context = 'PUID = ' + ISNULL(@PUID, 'NULL')
|
|
GOTO errorLabel
|
|
END
|
|
|
|
-- Validate operator / publisher association (replication only)
|
|
EXEC @RC=net_pubOperator_get @publisherID, @operatorID OUTPUT, @replActive OUTPUT
|
|
|
|
IF @RC <> 0
|
|
BEGIN
|
|
SET @error = 50006 -- E_subProcFailure
|
|
SET @context = ''
|
|
GOTO errorLabel
|
|
END
|
|
|
|
--
|
|
-- Validate businessEntity
|
|
--
|
|
|
|
-- Check to see if businessKey exists
|
|
IF EXISTS(SELECT * FROM [UDC_businessEntities] WHERE ([businessKey] = @businessKey))
|
|
BEGIN
|
|
-- businessKey exists. Make sure it belongs to current publisher
|
|
IF NOT EXISTS(SELECT * FROM [UDC_businessEntities] WHERE ([businessKey] = @businessKey) AND (publisherID = @publisherID))
|
|
BEGIN
|
|
SET @error = 60140 -- E_userMismatch
|
|
SET @context = 'businessKey = ' + dbo.UUIDSTR(@businessKey)
|
|
GOTO errorLabel
|
|
END
|
|
|
|
IF @replActive = 0
|
|
BEGIN
|
|
IF @operatorID <> dbo.currentOperatorID()
|
|
BEGIN
|
|
SET @error = 60130 -- E_operatorMismatch
|
|
SET @context = 'Operator ' + dbo.operatorName(@operatorID) + ' is not the local operator.'
|
|
GOTO errorLabel
|
|
END
|
|
END
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
-- businessKey doesn't exist
|
|
IF (@replActive = 0) AND (@flag & 0x1 <> 0x1)
|
|
BEGIN
|
|
-- save isn't coming from replication and pre-assigned keys flag is not set so throw an error
|
|
SET @error = 60210 -- E_invalidKey
|
|
SET @context = 'businessKey = ' + dbo.UUIDSTR(@businessKey)
|
|
GOTO errorLabel
|
|
END
|
|
END
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_businessEntity_validate
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Publisher assertions
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_assertions_get
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'net_businessEntity_assertions_get' and type = 'P')
|
|
DROP PROCEDURE net_businessEntity_assertions_get
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_assertions_get
|
|
@fromKey uniqueidentifier,
|
|
@toKey uniqueidentifier,
|
|
@completionStatus int
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000)
|
|
|
|
SELECT
|
|
PA.[fromKey],
|
|
PA.[toKey],
|
|
PA.[keyName],
|
|
PA.[keyValue],
|
|
PA.[tModelKey]
|
|
FROM
|
|
[UDC_assertions_BE] PA
|
|
WHERE
|
|
(PA.[fromKey] = @fromKey) AND
|
|
(PA.[toKey] = @toKey) AND
|
|
(PA.[flag] = @completionStatus)
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
|
|
END -- net_businessEntity_assertions_get
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Find stored procedures
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: net_find_businessEntity_name
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'net_find_businessEntity_name' AND type = 'P')
|
|
DROP PROCEDURE net_find_businessEntity_name
|
|
GO
|
|
|
|
CREATE PROCEDURE net_find_businessEntity_name
|
|
@contextID uniqueidentifier,
|
|
@isoLangCode varchar(17) = '%',
|
|
@name nvarchar(450),
|
|
@exactNameMatch bit,
|
|
@caseSensitiveMatch bit,
|
|
@rows int OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
-- Adds name search arguments for a find_business
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@contextRows int,
|
|
@wildCardSarg nvarchar(451)
|
|
|
|
DECLARE @tempKeys TABLE(
|
|
[entityKey] uniqueidentifier,
|
|
[name] nvarchar(450))
|
|
|
|
SET @contextRows = dbo.contextRows(@contextID)
|
|
|
|
IF dbo.containsWildcard(@isoLangCode) = 0
|
|
SET @isoLangCode = @isoLangCode + N'%'
|
|
|
|
--
|
|
-- Do a wildcard search (default)
|
|
--
|
|
|
|
IF (@exactNameMatch = 0)
|
|
BEGIN
|
|
SET @wildCardSarg = @name
|
|
|
|
IF dbo.containsWildcard(@name) = 0
|
|
SET @wildCardSarg = @wildCardSarg + N'%'
|
|
|
|
IF @contextRows = 0
|
|
BEGIN
|
|
INSERT INTO @tempKeys(
|
|
[entityKey],
|
|
[name])
|
|
SELECT
|
|
BE.[businessKey],
|
|
BN.[name]
|
|
FROM
|
|
[UDC_businessEntities] BE JOIN
|
|
[UDC_names_BE] BN ON BE.[businessID] = BN.[businessID]
|
|
WHERE
|
|
(BN.[name] LIKE @wildCardSarg) AND
|
|
(BN.[isoLangCode] LIKE @isoLangCode)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO @tempKeys(
|
|
[entityKey],
|
|
[name])
|
|
SELECT
|
|
BE.[businessKey],
|
|
BN.[name]
|
|
FROM
|
|
[UDC_businessEntities] BE JOIN
|
|
[UDC_names_BE] BN ON BE.[businessID] = BN.[businessID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(BN.[name] LIKE @wildCardSarg) AND
|
|
(BN.[isoLangCode] LIKE @isoLangCode)
|
|
END
|
|
END
|
|
|
|
--
|
|
-- Do an exactNameMatch search
|
|
--
|
|
|
|
IF (@exactNameMatch = 1)
|
|
BEGIN
|
|
IF @contextRows = 0
|
|
BEGIN
|
|
INSERT INTO @tempKeys(
|
|
[entityKey],
|
|
[name])
|
|
SELECT
|
|
BE.[businessKey],
|
|
BN.[name]
|
|
FROM
|
|
[UDC_businessEntities] BE JOIN
|
|
[UDC_names_BE] BN ON BE.[businessID] = BN.[businessID]
|
|
WHERE
|
|
(BN.[name] = @name) AND
|
|
(BN.[isoLangCode] LIKE @isoLangCode)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO @tempKeys(
|
|
[entityKey],
|
|
[name])
|
|
SELECT
|
|
BE.[businessKey],
|
|
BN.[name]
|
|
FROM
|
|
[UDC_businessEntities] BE JOIN
|
|
[UDC_names_BE] BN ON BE.[businessID] = BN.[businessID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(BN.[name] = @name) AND
|
|
(BN.[isoLangCode] LIKE @isoLangCode)
|
|
END
|
|
END
|
|
|
|
IF (@caseSensitiveMatch = 1)
|
|
DELETE
|
|
@tempKeys
|
|
WHERE
|
|
(dbo.caseSensitiveMatch(@name, [name], @exactNameMatch) = 0)
|
|
|
|
-- name search arguments are combined using a logical OR by default
|
|
INSERT [UDS_findScratch] (
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[entityKey]
|
|
FROM
|
|
@tempKeys
|
|
WHERE
|
|
([entityKey] NOT IN (SELECT [entityKey] FROM [UDS_findScratch] WHERE [contextID] = @contextID))
|
|
|
|
SET @rows = @@ROWCOUNT
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_find_businessEntity_name
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_find_businessEntity_discoveryURL
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'net_find_businessEntity_discoveryURL' AND type = 'P')
|
|
DROP PROCEDURE net_find_businessEntity_discoveryURL
|
|
GO
|
|
|
|
CREATE PROCEDURE net_find_businessEntity_discoveryURL
|
|
@contextID uniqueidentifier,
|
|
@useType nvarchar(4000),
|
|
@discoveryURL nvarchar(4000),
|
|
@rows int OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
-- Adds discoveryURL search arguments for a find_business
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@contextRows int,
|
|
@defaultPattern nvarchar(4000),
|
|
@businessKeyStr char(36),
|
|
@businessKey uniqueidentifier
|
|
|
|
DECLARE @tempKeys TABLE(
|
|
[entityKey] uniqueidentifier)
|
|
|
|
-- Perform special check for default discoveryURL
|
|
IF @useType = N'businessEntity'
|
|
BEGIN
|
|
SET @defaultPattern = UPPER(dbo.configValue('DefaultDiscoveryURL') + '[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]-[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]-[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]-[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]-[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]')
|
|
|
|
-- Check to see if the discoveryURL looks like a default discoveryURL
|
|
IF @discoveryURL NOT LIKE @defaultPattern
|
|
GOTO continueSearch
|
|
|
|
-- Extract the businessKey from the discoveryURL
|
|
SET @businessKeyStr = RIGHT(@discoveryURL, 36)
|
|
|
|
IF dbo.ISGUID(@businessKeyStr) = 0
|
|
GOTO continueSearch
|
|
|
|
SET @businessKey = CAST(@businessKeyStr AS uniqueidentifier)
|
|
|
|
-- Check to see if the businessKey exists
|
|
IF NOT EXISTS(SELECT * FROM [UDC_businessEntities] WHERE [businessKey] = @businessKey)
|
|
GOTO continueSearch
|
|
|
|
-- businessKey exists. See if any existing discoveryURLs exist for useType = businessEntity
|
|
SELECT
|
|
@rows = COUNT(*)
|
|
FROM
|
|
[UDC_discoveryURLs] DU
|
|
JOIN [UDC_businessEntities] BE ON DU.[businessID] = BE.[businessID]
|
|
WHERE
|
|
(BE.[businessKey] = @businessKey) AND
|
|
(DU.[useType] = N'businessEntity')
|
|
|
|
IF @rows > 0
|
|
BEGIN
|
|
SET @rows = 0
|
|
GOTO continueSearch
|
|
END
|
|
|
|
-- No existing discoveryURLs exist for useType = businessEntity for this business.
|
|
-- Since search argument matches default discoveryURL, add businessKey to list of keys
|
|
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
VALUES(
|
|
@businessKey)
|
|
|
|
-- Continue search, since other businesses could possibly have the same discoveryURL
|
|
END -- default discoveryURL logic
|
|
|
|
continueSearch:
|
|
SET @contextRows = dbo.contextRows(@contextID)
|
|
|
|
IF LEN(@useType) = 0 OR @useType IS NULL
|
|
BEGIN
|
|
SET @useType = '%'
|
|
END
|
|
|
|
IF @contextRows = 0
|
|
BEGIN
|
|
INSERT INTO @tempKeys(
|
|
[entityKey])
|
|
SELECT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_discoveryURLs] DU ON BE.[businessID] = DU.[businessID]
|
|
WHERE
|
|
(DU.[discoveryURL] = @discoveryURL) AND
|
|
((ISNULL(DU.[useType],'[[NULL]]')) LIKE @useType)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO @tempKeys(
|
|
[entityKey])
|
|
SELECT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_discoveryURLs] DU ON BE.[businessID] = DU.[businessID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(DU.[discoveryURL] = @discoveryURL) AND
|
|
((ISNULL(DU.[useType],'[[NULL]]')) LIKE @useType)
|
|
END
|
|
|
|
-- All keys are combined using logical OR for discoveryURL search arguments
|
|
INSERT [UDS_findScratch] (
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[entityKey]
|
|
FROM
|
|
@tempKeys
|
|
WHERE
|
|
([entityKey] NOT IN (SELECT [entityKey] FROM [UDS_findScratch] WHERE [contextID] = @contextID))
|
|
|
|
SET @rows = @@ROWCOUNT
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_find_businessEntity_discoveryURL
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_find_businessEntity_identifierBag
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = N'net_find_businessEntity_identifierBag' AND type = 'P')
|
|
DROP PROCEDURE net_find_businessEntity_identifierBag
|
|
GO
|
|
|
|
CREATE PROCEDURE net_find_businessEntity_identifierBag
|
|
@contextID uniqueidentifier,
|
|
@keyName nvarchar(4000),
|
|
@keyValue nvarchar(4000),
|
|
@tModelKey uniqueidentifier,
|
|
@orKeys bit = 0,
|
|
@rows int OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@contextRows int
|
|
|
|
DECLARE @tempKeys TABLE(
|
|
[entityKey] uniqueidentifier)
|
|
|
|
SET @contextRows = dbo.contextRows(@contextID)
|
|
|
|
IF @contextRows = 0
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_identifierBag_BE] IB ON BE.[businessID] = IB.[businessID]
|
|
WHERE
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_identifierBag_BE] IB ON BE.[businessID] = IB.[businessID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue)
|
|
END
|
|
|
|
IF @orKeys = 1
|
|
BEGIN
|
|
INSERT [UDS_findScratch] (
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[entityKey]
|
|
FROM
|
|
@tempKeys
|
|
WHERE
|
|
([entityKey] NOT IN (SELECT [entityKey] FROM [UDS_findScratch] WHERE [contextID] = @contextID))
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF EXISTS(SELECT * FROM [UDS_findScratch] WHERE [contextID] = @contextID)
|
|
BEGIN
|
|
DELETE
|
|
[UDS_findScratch]
|
|
WHERE
|
|
([entityKey] NOT IN (SELECT [entityKey] FROM @tempKeys WHERE [contextID] = @contextID))
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT [UDS_findScratch] (
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[entityKey]
|
|
FROM
|
|
@tempKeys
|
|
END
|
|
END
|
|
|
|
SELECT
|
|
@rows = COUNT(*)
|
|
FROM
|
|
[UDS_findScratch]
|
|
WHERE
|
|
([contextID] = @contextID)
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_find_businessEntity_identifierBag
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_find_businessEntity_categoryBag
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = N'net_find_businessEntity_categoryBag' AND type = 'P')
|
|
DROP PROCEDURE net_find_businessEntity_categoryBag
|
|
GO
|
|
|
|
CREATE PROCEDURE net_find_businessEntity_categoryBag
|
|
@contextID uniqueidentifier,
|
|
@keyName nvarchar(4000),
|
|
@keyValue nvarchar(4000),
|
|
@tModelKey uniqueidentifier,
|
|
@orKeys bit = 0,
|
|
@rows int OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@contextRows int,
|
|
@genKeywordsMatch bit
|
|
|
|
DECLARE @tempKeys TABLE(
|
|
[entityKey] uniqueidentifier)
|
|
|
|
SET @contextRows = dbo.contextRows(@contextID)
|
|
SET @genKeywordsMatch = 0
|
|
|
|
IF @tModelKey = dbo.genKeywordsKey()
|
|
SET @genKeywordsMatch = 1
|
|
|
|
IF @contextRows = 0
|
|
BEGIN
|
|
IF @genKeywordsMatch = 0
|
|
BEGIN
|
|
-- Ignore keyName
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_categoryBag_BE] CB ON BE.[businessID] = CB.[businessID]
|
|
WHERE
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
-- Include keyName
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_categoryBag_BE] CB ON BE.[businessID] = CB.[businessID]
|
|
WHERE
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,''))
|
|
END
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF @genKeywordsMatch = 0
|
|
BEGIN
|
|
-- Ignore keyName
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_categoryBag_BE] CB ON BE.[businessID] = CB.[businessID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
-- Include keyName
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_categoryBag_BE] CB ON BE.[businessID] = CB.[businessID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,''))
|
|
END
|
|
END
|
|
|
|
IF @orKeys = 1
|
|
BEGIN
|
|
INSERT [UDS_findScratch] (
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[entityKey]
|
|
FROM
|
|
@tempKeys
|
|
WHERE
|
|
([entityKey] NOT IN (SELECT [entityKey] FROM [UDS_findScratch] WHERE [contextID] = @contextID))
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF EXISTS(SELECT * FROM [UDS_findScratch] WHERE [contextID] = @contextID)
|
|
BEGIN
|
|
DELETE
|
|
[UDS_findScratch]
|
|
WHERE
|
|
([entityKey] NOT IN (SELECT [entityKey] FROM @tempKeys WHERE [contextID] = @contextID))
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT [UDS_findScratch] (
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[entityKey]
|
|
FROM
|
|
@tempKeys
|
|
END
|
|
END
|
|
|
|
SELECT
|
|
@rows = COUNT(*)
|
|
FROM
|
|
[UDS_findScratch]
|
|
WHERE
|
|
([contextID] = @contextID)
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_find_businessEntity_categoryBag
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_find_businessEntity_serviceSubset
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = N'net_find_businessEntity_serviceSubset' AND type = 'P')
|
|
DROP PROCEDURE net_find_businessEntity_serviceSubset
|
|
GO
|
|
|
|
CREATE PROCEDURE net_find_businessEntity_serviceSubset
|
|
@contextID uniqueidentifier,
|
|
@keyName nvarchar(4000),
|
|
@keyValue nvarchar(4000),
|
|
@tModelKey uniqueidentifier,
|
|
@orKeys bit = 0,
|
|
@rows int OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@contextRows int,
|
|
@genKeywordsMatch bit
|
|
|
|
DECLARE @tempKeys TABLE(
|
|
[entityKey] uniqueidentifier,
|
|
[subEntityKey] uniqueidentifier)
|
|
|
|
SET @contextRows = dbo.contextRows(@contextID)
|
|
|
|
SET @genKeywordsMatch = 0
|
|
|
|
IF @tModelKey = dbo.genKeywordsKey()
|
|
SET @genKeywordsMatch = 1
|
|
|
|
IF @contextRows = 0
|
|
BEGIN
|
|
IF @genKeywordsMatch = 1
|
|
BEGIN
|
|
-- Ignore keyName
|
|
|
|
-- Standard services
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[subEntityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey],
|
|
BS.[serviceKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_businessServices] BS ON BE.[businessID] = BS.[businessID]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(CB.[tModelKey] = @tModelKey) AND
|
|
(CB.[keyValue] = @keyValue)
|
|
|
|
-- Projected services
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[subEntityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey],
|
|
BS.[serviceKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_serviceProjections] SP ON BE.[businessKey] = SP.[businessKey]
|
|
JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(CB.[tModelKey] = @tModelKey) AND
|
|
(CB.[keyValue] = @keyValue)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
-- Include keyName
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[subEntityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey],
|
|
BS.[serviceKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_businessServices] BS ON BE.[businessID] = BS.[businessID]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(CB.[tModelKey] = @tModelKey) AND
|
|
(CB.[keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,''))
|
|
|
|
-- Projected services
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[subEntityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey],
|
|
BS.[serviceKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_serviceProjections] SP ON BE.[businessKey] = SP.[businessKey]
|
|
JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(CB.[tModelKey] = @tModelKey) AND
|
|
(CB.[keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,''))
|
|
END
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF @genKeywordsMatch = 1
|
|
BEGIN
|
|
-- Ignore keyName
|
|
|
|
-- Standard services
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[subEntityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey],
|
|
BS.[serviceKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_businessServices] BS ON BE.[businessID] = BS.[businessID]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(CB.[tModelKey] = @tModelKey) AND
|
|
(CB.[keyValue] = @keyValue)
|
|
|
|
-- Projected services
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[subEntityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey],
|
|
BS.[serviceKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_serviceProjections] SP ON BE.[businessKey] = SP.[businessKey]
|
|
JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(CB.[tModelKey] = @tModelKey) AND
|
|
(CB.[keyValue] = @keyValue)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
-- Include keyName
|
|
|
|
-- Standard services
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[subEntityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey],
|
|
BS.[serviceKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_businessServices] BS ON BE.[businessID] = BS.[businessID]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(CB.[tModelKey] = @tModelKey) AND
|
|
(CB.[keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,''))
|
|
|
|
-- Projected services
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[subEntityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey],
|
|
BS.[serviceKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_serviceProjections] SP ON BE.[businessKey] = SP.[businessKey]
|
|
JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(CB.[tModelKey] = @tModelKey) AND
|
|
(CB.[keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,''))
|
|
END
|
|
END
|
|
|
|
IF @orKeys = 1
|
|
BEGIN
|
|
INSERT [UDS_findScratch] (
|
|
[contextID],
|
|
[entityKey],
|
|
[subEntityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[entityKey],
|
|
[subEntityKey]
|
|
FROM
|
|
@tempKeys
|
|
WHERE
|
|
([entityKey] NOT IN (SELECT [entityKey] FROM [UDS_findScratch] WHERE [contextID] = @contextID))
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF EXISTS(SELECT * FROM [UDS_findScratch] WHERE [contextID] = @contextID)
|
|
BEGIN
|
|
DELETE
|
|
[UDS_findScratch]
|
|
WHERE
|
|
([entityKey] NOT IN (SELECT [entityKey] FROM @tempKeys WHERE [contextID] = @contextID))
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT [UDS_findScratch] (
|
|
[contextID],
|
|
[entityKey],
|
|
[subEntityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[entityKey],
|
|
[subEntityKey]
|
|
FROM
|
|
@tempKeys
|
|
END
|
|
END
|
|
|
|
SELECT
|
|
@rows = COUNT(*)
|
|
FROM
|
|
[UDS_findScratch]
|
|
WHERE
|
|
([contextID] = @contextID)
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_find_businessEntity_serviceSubset
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_find_businessEntity_combineCategoryBags
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = N'net_find_businessEntity_combineCategoryBags' AND type = 'P')
|
|
DROP PROCEDURE net_find_businessEntity_combineCategoryBags
|
|
GO
|
|
|
|
CREATE PROCEDURE net_find_businessEntity_combineCategoryBags
|
|
@contextID uniqueidentifier,
|
|
@keyName nvarchar(4000),
|
|
@keyValue nvarchar(4000),
|
|
@tModelKey uniqueidentifier,
|
|
@orKeys bit = 0,
|
|
@rows int OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@contextRows int,
|
|
@genKeywordsMatch bit
|
|
|
|
DECLARE @tempKeys TABLE(
|
|
[entityKey] uniqueidentifier)
|
|
|
|
SET @contextRows = dbo.contextRows(@contextID)
|
|
|
|
SET @genKeywordsMatch = 0
|
|
|
|
IF @tModelKey = dbo.genKeywordsKey()
|
|
SET @genKeywordsMatch = 1
|
|
|
|
IF @contextRows = 0
|
|
BEGIN
|
|
IF @genKeywordsMatch = 0
|
|
BEGIN
|
|
-- Ignore keyName
|
|
|
|
-- businessEntity
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_categoryBag_BE] CB ON BE.[businessID] = CB.[businessID]
|
|
WHERE
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue)
|
|
|
|
-- Standard services
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_businessServices] BS ON BE.[businessID] = BS.[businessID]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue)
|
|
|
|
-- Projected services
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_serviceProjections] SP ON BE.[businessKey] = SP.[businessKey]
|
|
JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(CB.[tModelKey] = @tModelKey) AND
|
|
(CB.[keyValue] = @keyValue)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
-- Include keyName
|
|
|
|
-- businessEntity
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_categoryBag_BE] CB ON BE.[businessID] = CB.[businessID]
|
|
WHERE
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,''))
|
|
|
|
-- Standard services
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_businessServices] BS ON BE.[businessID] = BS.[businessID]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,''))
|
|
|
|
-- Projected services
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_serviceProjections] SP ON BE.[businessKey] = SP.[businessKey]
|
|
JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(CB.[tModelKey] = @tModelKey) AND
|
|
(CB.[keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,''))
|
|
END
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF @genKeywordsMatch = 0
|
|
BEGIN
|
|
-- Ignore keyName
|
|
|
|
-- businessEntity
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_categoryBag_BE] CB ON BE.[businessID] = CB.[businessID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue)
|
|
|
|
-- Standard services
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_businessServices] BS ON BE.[businessID] = BS.[businessID]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue)
|
|
|
|
-- Projected services
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_serviceProjections] SP ON BE.[businessKey] = SP.[businessKey]
|
|
JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(CB.[tModelKey] = @tModelKey) AND
|
|
(CB.[keyValue] = @keyValue)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
-- Include keyName
|
|
|
|
-- businessEntity
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_categoryBag_BE] CB ON BE.[businessID] = CB.[businessID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,''))
|
|
|
|
-- Standard services
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_businessServices] BS ON BE.[businessID] = BS.[businessID]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,''))
|
|
|
|
-- Projected services
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_serviceProjections] SP ON BE.[businessKey] = SP.[businessKey]
|
|
JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
JOIN [UDC_categoryBag_BS] CB ON BS.[serviceID] = CB.[serviceID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(CB.[tModelKey] = @tModelKey) AND
|
|
(CB.[keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,''))
|
|
END
|
|
END
|
|
|
|
IF @orKeys = 1
|
|
BEGIN
|
|
INSERT [UDS_findScratch] (
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[entityKey]
|
|
FROM
|
|
@tempKeys
|
|
WHERE
|
|
([entityKey] NOT IN (SELECT [entityKey] FROM [UDS_findScratch] WHERE [contextID] = @contextID))
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF EXISTS(SELECT * FROM [UDS_findScratch] WHERE [contextID] = @contextID)
|
|
BEGIN
|
|
DELETE
|
|
[UDS_findScratch]
|
|
WHERE
|
|
([entityKey] NOT IN (SELECT [entityKey] FROM @tempKeys WHERE [contextID] = @contextID))
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT [UDS_findScratch] (
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[entityKey]
|
|
FROM
|
|
@tempKeys
|
|
END
|
|
END
|
|
|
|
SELECT
|
|
@rows = COUNT(*)
|
|
FROM
|
|
[UDS_findScratch]
|
|
WHERE
|
|
([contextID] = @contextID)
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_find_businessEntity_combineCategoryBags
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_find_businessEntity_tModelBag
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = N'net_find_businessEntity_tModelBag' AND type = 'P')
|
|
DROP PROCEDURE net_find_businessEntity_tModelBag
|
|
GO
|
|
|
|
CREATE PROCEDURE net_find_businessEntity_tModelBag
|
|
@contextID uniqueidentifier,
|
|
@tModelKey uniqueidentifier,
|
|
@orKeys bit = 0,
|
|
@rows int OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@contextRows int
|
|
|
|
DECLARE @tempKeys TABLE(
|
|
[entityKey] uniqueidentifier)
|
|
|
|
|
|
-- See if we have any results from a search against another bag (ie. categoryBag or identifierBag)
|
|
SET @contextRows = dbo.contextRows(@contextID)
|
|
|
|
IF @contextRows = 0
|
|
|
|
-- If there are no previous results we can just query and insert into @tempKeys
|
|
|
|
BEGIN
|
|
--
|
|
-- First check contained services
|
|
--
|
|
|
|
-- check tModelInstances
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_businessServices] BS ON BE.[businessID] = BS.[businessID]
|
|
JOIN [UDC_bindingTemplates] BT ON BS.[serviceID] = BT.[serviceID]
|
|
JOIN [UDC_tModelInstances] TI ON BT.[bindingID] = TI.[bindingID]
|
|
WHERE
|
|
(TI.[tModelKey] = @tModelKey)
|
|
|
|
-- Check hostingRedirectors
|
|
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_businessServices] BS ON BE.[businessID] = BS.[businessID]
|
|
JOIN [UDC_bindingTemplates] BT ON BS.[serviceID] = BT.[serviceID]
|
|
JOIN [UDC_bindingTemplates] BT2 ON BT.[hostingRedirector] = BT2.[bindingKey]
|
|
JOIN [UDC_tModelInstances] TI ON BT2.[bindingID] = TI.[bindingID]
|
|
WHERE
|
|
(TI.[tModelKey] = @tModelKey)
|
|
|
|
--
|
|
-- Next check projected services
|
|
--
|
|
|
|
-- check tModelInstances
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_serviceProjections] SP ON BE.[businessKey] = SP.[businessKey]
|
|
JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
JOIN [UDC_bindingTemplates] BT ON BS.[serviceID] = BT.[serviceID]
|
|
JOIN [UDC_tModelInstances] TI ON BT.[bindingID] = TI.[bindingID]
|
|
WHERE
|
|
(TI.[tModelKey] = @tModelKey)
|
|
|
|
-- Check hostingRedirectors
|
|
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_serviceProjections] SP ON BE.[businessKey] = SP.[businessKey]
|
|
JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
JOIN [UDC_bindingTemplates] BT ON BS.[serviceID] = BT.[serviceID]
|
|
JOIN [UDC_bindingTemplates] BT2 ON BT.[hostingRedirector] = BT2.[bindingKey]
|
|
JOIN [UDC_tModelInstances] TI ON BT2.[bindingID] = TI.[bindingID]
|
|
WHERE
|
|
(TI.[tModelKey] = @tModelKey)
|
|
END
|
|
ELSE
|
|
|
|
-- If there are previous results from searches against other bags, then we must take that into account in the
|
|
-- queries for this bag. This is necessary because results between bags are always 'AND-ed'.
|
|
|
|
BEGIN
|
|
--
|
|
-- First check contained services
|
|
--
|
|
|
|
-- check tModelInstances
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_businessServices] BS ON BE.[businessID] = BS.[businessID]
|
|
JOIN [UDC_bindingTemplates] BT ON BS.[serviceID] = BT.[serviceID]
|
|
JOIN [UDC_tModelInstances] TI ON BT.[bindingID] = TI.[bindingID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(TI.[tModelKey] = @tModelKey)
|
|
|
|
-- Check hostingRedirectors
|
|
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_businessServices] BS ON BE.[businessID] = BS.[businessID]
|
|
JOIN [UDC_bindingTemplates] BT ON BS.[serviceID] = BT.[serviceID]
|
|
JOIN [UDC_bindingTemplates] BT2 ON BT.[hostingRedirector] = BT2.[bindingKey]
|
|
JOIN [UDC_tModelInstances] TI ON BT2.[bindingID] = TI.[bindingID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(TI.[tModelKey] = @tModelKey)
|
|
|
|
--
|
|
-- Next check projected services
|
|
--
|
|
|
|
-- check tModelInstances
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_serviceProjections] SP ON BE.[businessKey] = SP.[businessKey]
|
|
JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
JOIN [UDC_bindingTemplates] BT ON BS.[serviceID] = BT.[serviceID]
|
|
JOIN [UDC_tModelInstances] TI ON BT.[bindingID] = TI.[bindingID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(TI.[tModelKey] = @tModelKey)
|
|
|
|
-- Check hostingRedirectors
|
|
|
|
INSERT @tempKeys(
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
BE.[businessKey]
|
|
FROM
|
|
[UDC_businessEntities] BE
|
|
JOIN [UDC_serviceProjections] SP ON BE.[businessKey] = SP.[businessKey]
|
|
JOIN [UDC_businessServices] BS ON SP.[serviceKey] = BS.[serviceKey]
|
|
JOIN [UDC_bindingTemplates] BT ON BS.[serviceID] = BT.[serviceID]
|
|
JOIN [UDC_bindingTemplates] BT2 ON BT.[hostingRedirector] = BT2.[bindingKey]
|
|
JOIN [UDC_tModelInstances] TI ON BT2.[bindingID] = TI.[bindingID]
|
|
WHERE
|
|
(BE.[businessKey] IN (SELECT [entityKey] FROM [UDS_findResults] WHERE ([contextID] = @contextID))) AND
|
|
(TI.[tModelKey] = @tModelKey)
|
|
END
|
|
|
|
IF @orKeys = 1
|
|
BEGIN
|
|
|
|
-- OR operation between @tempKeys and the UDS_findScratch table
|
|
|
|
INSERT [UDS_findScratch] (
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[entityKey]
|
|
FROM
|
|
@tempKeys
|
|
WHERE
|
|
([entityKey] NOT IN (SELECT [entityKey] FROM [UDS_findScratch] WHERE [contextID] = @contextID))
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
|
|
-- AND operation between @tempKeys and the UDS_findScratch table
|
|
|
|
IF EXISTS(SELECT * FROM [UDS_findScratch] WHERE [contextID] = @contextID)
|
|
BEGIN
|
|
DELETE
|
|
[UDS_findScratch]
|
|
WHERE
|
|
([entityKey] NOT IN (SELECT [entityKey] FROM @tempKeys WHERE [contextID] = @contextID))
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT [UDS_findScratch] (
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[entityKey]
|
|
FROM
|
|
@tempKeys
|
|
END
|
|
END
|
|
|
|
SELECT
|
|
@rows = COUNT(*)
|
|
FROM
|
|
[UDS_findScratch]
|
|
WHERE
|
|
([contextID] = @contextID)
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_find_businessEntity_tModelBag
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_find_businessEntity_commit
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'net_find_businessEntity_commit' AND type = 'P')
|
|
DROP PROCEDURE net_find_businessEntity_commit
|
|
GO
|
|
|
|
CREATE PROCEDURE net_find_businessEntity_commit
|
|
@contextID uniqueidentifier,
|
|
@sortByNameAsc bit,
|
|
@sortByNameDesc bit,
|
|
@sortByDateAsc bit,
|
|
@sortByDateDesc bit,
|
|
@maxRows int,
|
|
@truncated int OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
-- Finalizes a find_business and returns a key list
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@contextRows int
|
|
|
|
SET @contextRows = dbo.contextRows(@contextID)
|
|
SET @truncated = 0
|
|
|
|
IF @contextRows = 0
|
|
RETURN 0
|
|
|
|
DECLARE @tempKeys TABLE (
|
|
[seqNo] bigint IDENTITY PRIMARY KEY ,
|
|
[entityKey] uniqueidentifier,
|
|
[name] nvarchar(450) NULL,
|
|
[lastChange] bigint NULL,
|
|
[businessID] bigint NULL)
|
|
|
|
-- Set default sorting option
|
|
IF (@sortByNameAsc = 0) AND (@sortByNameDesc = 0) AND (@sortByDateAsc = 0) AND (@sortByDateDesc = 0)
|
|
SET @sortByNameAsc = 1
|
|
|
|
-- Set maxRows if default was passed
|
|
IF ISNULL(@maxRows,0) = 0
|
|
SET @maxRows = dbo.configValue('Find.MaxRowsDefault')
|
|
|
|
-- sortByNameAsc
|
|
IF (@sortByNameAsc = 1)
|
|
BEGIN
|
|
IF (@sortByDateAsc = 0) AND (@sortByDateDesc = 0)
|
|
SET @sortByDateAsc = 1
|
|
|
|
IF (@sortByDateAsc = 1)
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
2 ASC,
|
|
3 ASC,
|
|
4 ASC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
2 ASC,
|
|
3 DESC,
|
|
4 DESC
|
|
END
|
|
|
|
GOTO endLabel
|
|
END
|
|
|
|
-- sortByNameDesc
|
|
IF (@sortByNameDesc = 1)
|
|
BEGIN
|
|
IF (@sortByDateAsc = 0) AND (@sortByDateDesc = 0)
|
|
SET @sortByDateAsc = 1
|
|
|
|
IF (@sortByDateAsc = 1)
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
2 DESC,
|
|
3 ASC,
|
|
4 ASC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
2 DESC,
|
|
3 DESC,
|
|
4 DESC
|
|
END
|
|
|
|
GOTO endLabel
|
|
END
|
|
|
|
-- sortByDateAsc
|
|
IF (@sortByDateAsc = 1)
|
|
BEGIN
|
|
IF (@sortByNameAsc = 0) AND (@sortByNameDesc = 0)
|
|
SET @sortByNameAsc = 1
|
|
|
|
IF (@sortByNameAsc = 1)
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
3 ASC,
|
|
4 ASC,
|
|
2 ASC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
3 ASC,
|
|
4 ASC,
|
|
2 DESC
|
|
END
|
|
|
|
GOTO endLabel
|
|
END
|
|
|
|
-- sortByDateDesc
|
|
IF (@sortByDateDesc = 1)
|
|
BEGIN
|
|
IF (@sortByNameAsc = 0) AND (@sortByNameDesc = 0)
|
|
SET @sortByNameAsc = 1
|
|
|
|
IF (@sortByNameAsc = 1)
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
3 DESC,
|
|
4 DESC,
|
|
2 ASC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
3 DESC,
|
|
4 DESC,
|
|
2 DESC
|
|
END
|
|
|
|
GOTO endLabel
|
|
END
|
|
|
|
endLabel:
|
|
-- Set @truncated
|
|
IF (SELECT COUNT(*) FROM @tempKeys) > @maxRows
|
|
SET @truncated = 1
|
|
|
|
-- Return keys
|
|
SELECT
|
|
[entityKey]
|
|
FROM
|
|
@tempKeys
|
|
WHERE
|
|
([seqNo] <= @maxRows)
|
|
|
|
-- Run cleanup
|
|
EXEC net_find_cleanup @contextID
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_find_businessEntity_commit
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_find_businessEntity_serviceSubset_commit
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'net_find_businessEntity_serviceSubset_commit' AND type = 'P')
|
|
DROP PROCEDURE net_find_businessEntity_serviceSubset_commit
|
|
GO
|
|
|
|
CREATE PROCEDURE net_find_businessEntity_serviceSubset_commit
|
|
@contextID uniqueidentifier,
|
|
@sortByNameAsc bit,
|
|
@sortByNameDesc bit,
|
|
@sortByDateAsc bit,
|
|
@sortByDateDesc bit,
|
|
@maxRows int,
|
|
@truncated int OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
-- Finalizes a find_business and returns a key list
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@contextRows int
|
|
|
|
SET @contextRows = dbo.contextRows(@contextID)
|
|
SET @truncated = 0
|
|
|
|
IF @contextRows = 0
|
|
RETURN 0
|
|
|
|
DECLARE @tempKeys TABLE (
|
|
[seqNo] bigint IDENTITY PRIMARY KEY ,
|
|
[entityKey] uniqueidentifier,
|
|
[name] nvarchar(450) NULL,
|
|
[lastChange] bigint NULL,
|
|
[businessID] bigint NULL)
|
|
|
|
-- Set default sorting option
|
|
IF (@sortByNameAsc = 0) AND (@sortByNameDesc = 0) AND (@sortByDateAsc = 0) AND (@sortByDateDesc = 0)
|
|
SET @sortByNameAsc = 1
|
|
|
|
-- Set maxRows if default was passed
|
|
IF ISNULL(@maxRows,0) = 0
|
|
SET @maxRows = dbo.configValue('Find.MaxRowsDefault')
|
|
|
|
-- sortByNameAsc
|
|
IF (@sortByNameAsc = 1)
|
|
BEGIN
|
|
IF (@sortByDateAsc = 0) AND (@sortByDateDesc = 0)
|
|
SET @sortByDateAsc = 1
|
|
|
|
IF (@sortByDateAsc = 1)
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
2 ASC,
|
|
3 ASC,
|
|
4 ASC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
2 ASC,
|
|
3 DESC,
|
|
4 DESC
|
|
END
|
|
|
|
GOTO endLabel
|
|
END
|
|
|
|
-- sortByNameDesc
|
|
IF (@sortByNameDesc = 1)
|
|
BEGIN
|
|
IF (@sortByDateAsc = 0) AND (@sortByDateDesc = 0)
|
|
SET @sortByDateAsc = 1
|
|
|
|
IF (@sortByDateAsc = 1)
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
2 DESC,
|
|
3 ASC,
|
|
4 ASC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
2 DESC,
|
|
3 DESC,
|
|
4 DESC
|
|
END
|
|
|
|
GOTO endLabel
|
|
END
|
|
|
|
-- sortByDateAsc
|
|
IF (@sortByDateAsc = 1)
|
|
BEGIN
|
|
IF (@sortByNameAsc = 0) AND (@sortByNameDesc = 0)
|
|
SET @sortByNameAsc = 1
|
|
|
|
IF (@sortByNameAsc = 1)
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
3 ASC,
|
|
4 ASC,
|
|
2 ASC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
3 ASC,
|
|
4 ASC,
|
|
2 DESC
|
|
END
|
|
|
|
GOTO endLabel
|
|
END
|
|
|
|
-- sortByDateDesc
|
|
IF (@sortByDateDesc = 1)
|
|
BEGIN
|
|
IF (@sortByNameAsc = 0) AND (@sortByNameDesc = 0)
|
|
SET @sortByNameAsc = 1
|
|
|
|
IF (@sortByNameAsc = 1)
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
3 DESC,
|
|
4 DESC,
|
|
2 ASC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
3 DESC,
|
|
4 DESC,
|
|
2 DESC
|
|
END
|
|
|
|
GOTO endLabel
|
|
END
|
|
|
|
endLabel:
|
|
-- Set @truncated
|
|
IF (SELECT COUNT(*) FROM @tempKeys) > @maxRows
|
|
SET @truncated = 1
|
|
|
|
-- Return keys
|
|
SELECT
|
|
TK.[entityKey],
|
|
FR.[subEntityKey]
|
|
FROM
|
|
@tempKeys TK
|
|
JOIN [UDS_findResults] FR ON @contextID = FR.[contextID] AND TK.[entityKey] = FR.[entityKey]
|
|
WHERE
|
|
([seqNo] <= @maxRows)
|
|
ORDER BY
|
|
TK.[seqNo] ASC
|
|
|
|
-- Run cleanup
|
|
EXEC net_find_cleanup @contextID
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_find_businessEntity_serviceSubset_commit
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: net_find_businessEntity_relatedBusinesses
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = N'net_find_businessEntity_relatedBusinesses' AND type = 'P')
|
|
DROP PROCEDURE net_find_businessEntity_relatedBusinesses
|
|
GO
|
|
|
|
CREATE PROCEDURE net_find_businessEntity_relatedBusinesses
|
|
@contextID uniqueidentifier,
|
|
@businessKey uniqueidentifier,
|
|
@keyName nvarchar(4000) = NULL,
|
|
@keyValue nvarchar(4000) = NULL,
|
|
@tModelKey uniqueidentifier = NULL,
|
|
@sortByNameAsc bit,
|
|
@sortByNameDesc bit,
|
|
@sortByDateAsc bit,
|
|
@sortByDateDesc bit,
|
|
@maxRows int,
|
|
@truncated int OUTPUT,
|
|
@rows int OUTPUT
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000)
|
|
|
|
DECLARE @tempKeys TABLE(
|
|
[seqNo] bigint IDENTITY PRIMARY KEY,
|
|
[entityKey] uniqueidentifier,
|
|
[name] nvarchar(450) NULL,
|
|
[lastChange] bigint NULL,
|
|
[businessID] bigint NULL)
|
|
|
|
IF @tModelKey IS NULL
|
|
BEGIN
|
|
-- Perform find without keyedReference
|
|
INSERT [UDS_findResults] (
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[toKey]
|
|
FROM
|
|
[UDC_assertions_BE]
|
|
WHERE
|
|
([fromKey] = @businessKey) AND
|
|
([flag] = 3) -- CompletionStatusType.Complete
|
|
|
|
INSERT [UDS_findResults] (
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[fromKey]
|
|
FROM
|
|
[UDC_assertions_BE]
|
|
WHERE
|
|
([toKey] = @businessKey) AND
|
|
([flag] = 3) -- CompletionStatusType.Complete
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT [UDS_findResults](
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[toKey]
|
|
FROM
|
|
[UDC_assertions_BE]
|
|
WHERE
|
|
([fromKey] = @businessKey) AND
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,'')) AND
|
|
([flag] = 3) -- CompletionStatusType.Complete
|
|
|
|
INSERT [UDS_findResults](
|
|
[contextID],
|
|
[entityKey])
|
|
SELECT DISTINCT
|
|
@contextID,
|
|
[fromKey]
|
|
FROM
|
|
[UDC_assertions_BE]
|
|
WHERE
|
|
([toKey] = @businessKey) AND
|
|
([tModelKey] = @tModelKey) AND
|
|
([keyValue] = @keyValue) AND
|
|
(ISNULL([keyName],'') = ISNULL(@keyName,'')) AND
|
|
([flag] = 3) -- CompletionStatusType.Complete
|
|
END
|
|
|
|
-- Set default sorting option
|
|
IF (@sortByNameAsc = 0) AND (@sortByNameDesc = 0) AND (@sortByDateAsc = 0) AND (@sortByDateDesc = 0)
|
|
SET @sortByNameAsc = 1
|
|
|
|
-- Set maxRows if default was passed
|
|
IF ISNULL(@maxRows,0) = 0
|
|
SET @maxRows = dbo.configValue('Find.MaxRowsDefault')
|
|
|
|
-- sortByNameAsc
|
|
IF (@sortByNameAsc = 1)
|
|
BEGIN
|
|
IF (@sortByDateAsc = 0) AND (@sortByDateDesc = 0)
|
|
SET @sortByDateAsc = 1
|
|
|
|
IF (@sortByDateAsc = 1)
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
2 ASC,
|
|
3 ASC,
|
|
4 ASC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
2 ASC,
|
|
3 DESC,
|
|
4 DESC
|
|
END
|
|
|
|
GOTO endLabel
|
|
END
|
|
|
|
-- sortByNameDesc
|
|
IF (@sortByNameDesc = 1)
|
|
BEGIN
|
|
IF (@sortByDateAsc = 0) AND (@sortByDateDesc = 0)
|
|
SET @sortByDateAsc = 1
|
|
|
|
IF (@sortByDateAsc = 1)
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
2 DESC,
|
|
3 ASC,
|
|
4 ASC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
2 DESC,
|
|
3 DESC,
|
|
4 DESC
|
|
END
|
|
|
|
GOTO endLabel
|
|
END
|
|
|
|
-- sortByDateAsc
|
|
IF (@sortByDateAsc = 1)
|
|
BEGIN
|
|
IF (@sortByNameAsc = 0) AND (@sortByNameDesc = 0)
|
|
SET @sortByNameAsc = 1
|
|
|
|
IF (@sortByNameAsc = 1)
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
3 ASC,
|
|
4 ASC,
|
|
2 ASC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
3 ASC,
|
|
4 ASC,
|
|
2 DESC
|
|
END
|
|
|
|
GOTO endLabel
|
|
END
|
|
|
|
-- sortByDateDesc
|
|
IF (@sortByDateDesc = 1)
|
|
BEGIN
|
|
IF (@sortByNameAsc = 0) AND (@sortByNameDesc = 0)
|
|
SET @sortByNameAsc = 1
|
|
|
|
IF (@sortByNameAsc = 1)
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
3 DESC,
|
|
4 DESC,
|
|
2 ASC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT @tempKeys(
|
|
[entityKey],
|
|
[name],
|
|
[lastChange],
|
|
[businessID])
|
|
SELECT DISTINCT
|
|
FR.[entityKey],
|
|
(SELECT TOP 1 [name] FROM [UDC_names_BE] WHERE ([businessID] = dbo.businessID([entityKey]))),
|
|
BE.[lastChange],
|
|
BE.[businessID]
|
|
FROM
|
|
[UDS_findResults] FR
|
|
JOIN [UDC_businessEntities] BE ON FR.[entityKey] = BE.[businessKey]
|
|
WHERE
|
|
(@contextID = FR.[contextID])
|
|
ORDER BY
|
|
3 DESC,
|
|
4 DESC,
|
|
2 DESC
|
|
END
|
|
|
|
GOTO endLabel
|
|
END
|
|
|
|
endLabel:
|
|
-- Set @truncated
|
|
SELECT
|
|
@rows = COUNT(*)
|
|
FROM
|
|
@tempKeys
|
|
|
|
IF @rows > @maxRows
|
|
SET @truncated = 1
|
|
|
|
-- Return keys
|
|
SELECT
|
|
[entityKey]
|
|
FROM
|
|
@tempKeys
|
|
WHERE
|
|
([seqNo] <= @maxRows)
|
|
|
|
-- Run cleanup
|
|
EXEC net_find_cleanup @contextID
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_find_businessEntity_relatedBusinesses
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Miscellaneous
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: net_businessEntity_owner_update
|
|
-- =============================================
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = N'net_businessEntity_owner_update' AND type = 'P')
|
|
DROP PROCEDURE net_businessEntity_owner_update
|
|
GO
|
|
|
|
CREATE PROCEDURE net_businessEntity_owner_update
|
|
@businessKey uniqueidentifier,
|
|
@PUID nvarchar(450)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@error int,
|
|
@context nvarchar(4000),
|
|
@businessID bigint,
|
|
@publisherID bigint
|
|
|
|
-- Validate parameters
|
|
SET @businessID = dbo.businessID(@businessKey)
|
|
|
|
IF @businessID IS NULL
|
|
BEGIN
|
|
SET @error = 60210 -- E_invalidKeyPassed
|
|
SET @context = 'businessKey = ' + dbo.UUIDSTR(@businessKey)
|
|
GOTO errorLabel
|
|
END
|
|
|
|
SET @publisherID = dbo.publisherID(@PUID)
|
|
|
|
IF @publisherID IS NULL
|
|
BEGIN
|
|
SET @error = 60150 -- E_unknownUser
|
|
SET @context = 'PUID = ' + @PUID
|
|
GOTO errorLabel
|
|
END
|
|
|
|
UPDATE
|
|
[UDC_businessEntities]
|
|
SET
|
|
[publisherID] = @publisherID
|
|
WHERE
|
|
([businessID] = @businessID)
|
|
|
|
RETURN 0
|
|
|
|
errorLabel:
|
|
RAISERROR (@error, 16, 1, @context)
|
|
RETURN 1
|
|
END -- net_businessEntity_owner_update
|
|
GO
|
|
|