⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 03.03.02.sqldataprovider

📁 完整的商业模板和强大的后台管理功能
💻 SQLDATAPROVIDER
字号:
/************************************************************/
/*****              SqlDataProvider                     *****/
/*****                                                  *****/
/*****                                                  *****/
/***** Note: To manually execute this script you must   *****/
/*****       perform a search and replace operation     *****/
/*****       for {databaseOwner} and {objectQualifier}  *****/
/*****                                                  *****/
/************************************************************/

/* Fix to Add Property Definition */
/**********************************/

IF EXISTS ( SELECT * FROM sysobjects WHERE id = object_id(N'{databaseOwner}{objectQualifier}AddPropertyDefinition') AND OBJECTPROPERTY(id, N'IsProcedure') = 1)
	DROP PROCEDURE {databaseOwner}{objectQualifier}AddPropertyDefinition
GO

CREATE PROCEDURE {databaseOwner}{objectQualifier}AddPropertyDefinition
	@PortalId int,
	@ModuleDefId int,
	@DataType int,
	@DefaultValue nvarchar(50),
	@PropertyCategory nvarchar(50),
	@PropertyName nvarchar(50),
	@Required bit,
	@ValidationExpression nvarchar(100),
	@ViewOrder int,
	@Visible bit,
    @Length int

AS

DECLARE @PropertyDefinitionId int

SELECT @PropertyDefinitionId = PropertyDefinitionId
	FROM   {objectQualifier}ProfilePropertyDefinition
	WHERE  PortalId = @PortalId
		AND PropertyName = @PropertyName

IF @PropertyDefinitionId is null
	BEGIN
		INSERT {objectQualifier}ProfilePropertyDefinition	(
				PortalId,
				ModuleDefId,
				Deleted,
				DataType,
				DefaultValue,
				PropertyCategory,
				PropertyName,
				Required,
				ValidationExpression,
				ViewOrder,
				Visible,
				Length
			)
			VALUES	(
				@PortalId,
				@ModuleDefId,
				0,
				@DataType,
				@DefaultValue,
				@PropertyCategory,
				@PropertyName,
				@Required,
				@ValidationExpression,
				@ViewOrder,
				@Visible,
				@Length
			)

		SELECT @PropertyDefinitionId = SCOPE_IDENTITY()
	END
ELSE
	BEGIN
		UPDATE {objectQualifier}ProfilePropertyDefinition 
			SET DataType = @DataType,
				ModuleDefId = @ModuleDefId,
				DefaultValue = @DefaultValue,
				PropertyCategory = @PropertyCategory,
				Required = @Required,
				ValidationExpression = @ValidationExpression,
				ViewOrder = @ViewOrder,
				Deleted = 0,
				Visible = @Visible,
				Length = @Length
			WHERE PropertyDefinitionId = @PropertyDefinitionId
	END
	
SELECT @PropertyDefinitionId

GO

/* Add GetPropertyDefinitionByName */
/***********************************/

IF EXISTS ( SELECT * FROM sysobjects WHERE id = object_id(N'{databaseOwner}{objectQualifier}GetPropertyDefinitionByName') AND OBJECTPROPERTY(id, N'IsProcedure') = 1)
	DROP PROCEDURE {databaseOwner}{objectQualifier}GetPropertyDefinitionByName
GO

CREATE PROCEDURE {databaseOwner}{objectQualifier}GetPropertyDefinitionByName

	@PortalID	int,
	@Name		nvarchar(50)

AS
SELECT	*
FROM	{objectQualifier}ProfilePropertyDefinition
WHERE PortalID = @PortalID
	AND PropertyName = @Name
ORDER BY ViewOrder

GO

/* Add GetPropertyDefinitionsByCategory */
/***********************************/

IF EXISTS ( SELECT * FROM sysobjects WHERE id = object_id(N'{databaseOwner}{objectQualifier}GetPropertyDefinitionsByCategory') AND OBJECTPROPERTY(id, N'IsProcedure') = 1)
	DROP PROCEDURE {databaseOwner}{objectQualifier}GetPropertyDefinitionsByCategory
GO

CREATE PROCEDURE {databaseOwner}{objectQualifier}GetPropertyDefinitionsByCategory

	@PortalID	int,
	@Category	nvarchar(50)

AS
SELECT	*
FROM	{objectQualifier}ProfilePropertyDefinition
WHERE PortalID = @PortalID
	AND PropertyCategory = @Category
ORDER BY ViewOrder
GO

/* Add Index on UserId to UserProfile */
/**************************************/

IF NOT EXISTS ( SELECT * FROM sysindexes WHERE name = N'IX_{objectQualifier}UserProfile')
	CREATE NONCLUSTERED INDEX IX_{objectQualifier}UserProfile ON {databaseOwner}{objectQualifier}UserProfile (UserID) ON [PRIMARY]
GO

/* Fix to GetUserRolesByUsername */
/*********************************/

IF EXISTS ( SELECT * FROM sysobjects WHERE id = object_id(N'{databaseOwner}{objectQualifier}GetUserRolesByUsername') AND OBJECTPROPERTY(id, N'IsProcedure') = 1)
	DROP PROCEDURE {databaseOwner}{objectQualifier}GetUserRolesByUsername
GO

CREATE PROCEDURE {databaseOwner}{objectQualifier}GetUserRolesByUsername

@PortalId int, 
@Username nvarchar(100), 
@Rolename nvarchar(50)

AS

IF @UserName Is Null
	BEGIN
		SELECT	R.*,        
				U.DisplayName As FullName,
				UR.UserRoleID,
				UR.UserID,
				UR.EffectiveDate,
				UR.ExpiryDate,
				UR.IsTrialUsed
			FROM	{objectQualifier}UserRoles UR
				INNER JOIN {objectQualifier}Users U ON UR.UserID = U.UserID
				INNER JOIN {objectQualifier}Roles R ON R.RoleID = UR.RoleID
			WHERE  R.PortalId = @PortalId
				AND    (R.Rolename = @Rolename or @RoleName is NULL)
	END
ELSE
	BEGIN
		IF @RoleName Is NULL
			BEGIN
				SELECT	R.*,        
						U.DisplayName As FullName,
						UR.UserRoleID,
						UR.UserID,
						UR.EffectiveDate,
						UR.ExpiryDate,
						UR.IsTrialUsed
					FROM	{objectQualifier}UserRoles UR
						INNER JOIN {objectQualifier}Users U ON UR.UserID = U.UserID
						INNER JOIN {objectQualifier}Roles R ON R.RoleID = UR.RoleID
					WHERE  R.PortalId = @PortalId
						AND    (U.Username = @Username or @Username is NULL)
			END
		ELSE
			BEGIN
				SELECT	R.*,        
						U.DisplayName As FullName,
						UR.UserRoleID,
						UR.UserID,
						UR.EffectiveDate,
						UR.ExpiryDate,
						UR.IsTrialUsed
					FROM	{objectQualifier}UserRoles UR
						INNER JOIN {objectQualifier}Users U ON UR.UserID = U.UserID
						INNER JOIN {objectQualifier}Roles R ON R.RoleID = UR.RoleID
					WHERE  R.PortalId = @PortalId
						AND    (R.Rolename = @Rolename or @RoleName is NULL)
						AND    (U.Username = @Username or @Username is NULL)
			END
	END
GO

/************************************************************/
/*****              SqlDataProvider                     *****/
/************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -