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

📄 01.00.06.sqldataprovider

📁 SharpNuke源代码
💻 SQLDATAPROVIDER
📖 第 1 页 / 共 4 页
字号:
/************************************************************/
/*****              Upgrade Script 1.0.6                *****/
/************************************************************/

drop procedure UpdateModuleDefinition
GO

create procedure UpdateModuleDefinition

@ModuleDefID   int,
@FriendlyName  nvarchar(128),
@DesktopSrc    nvarchar(256),
@MobileSrc     nvarchar(256),
@AdminOrder    int,
@EditSrc       nvarchar(256),
@Secure        bit,
@Description   nvarchar(2000),
@HostFee       money

as

declare @TabId int
declare @ModuleOrder int
declare @AdministratorRoleId int
declare @PortalId int
declare @TabOrder int
declare @ChildTabId int

update ModuleDefinitions
set    FriendlyName = @FriendlyName,
       DesktopSrc   = @DesktopSrc,
       MobileSrc    = @MobileSrc,
       AdminOrder   = @AdminOrder,
       EditSrc      = @EditSrc,
       Secure       = @Secure,
       Description  = @Description,
       HostFee      = @HostFee
where  ModuleDefID = @ModuleDefID

if @HostFee = 0
begin
  delete
  from   PortalModuleDefinitions
  where  ModuleDefID = @ModuleDefID
end

GO

if not exists ( select 1 from ModuleDefinitions where FriendlyName = 'Search' )
begin
  INSERT INTO [dbo].[ModuleDefinitions] ([FriendlyName], [DesktopSrc], [MobileSrc], [AdminOrder], [EditSrc], [Secure], [Description], [HostFee] ) VALUES ('Search', 'DesktopModules/Search/Search.ascx', '', NULL, 'DesktopModules/Search/EditSearch.ascx', 1, 'Search allows your users to easily locate information in your portal', 0)
end
GO

CREATE TABLE dbo.Search
	(
	SearchId int NOT NULL IDENTITY (1, 1),
	ModuleId int NOT NULL,
	TableName nvarchar(50) NOT NULL,
	TitleField nvarchar(50) NULL,
	DescriptionField nvarchar(50) NULL,
	CreatedDateField nvarchar(50) NULL,
	CreatedByUserField nvarchar(50) NULL
	)  ON [PRIMARY]
GO

ALTER TABLE Search ADD CONSTRAINT
	PK_Search PRIMARY KEY CLUSTERED 
	(
	SearchId
	) ON [PRIMARY]

GO

drop procedure GetSearch
go

create procedure GetSearch

@ModuleID int

as

select SearchId,
       TableName,
       TitleField,
       DescriptionField,
       CreatedDateField,
       CreatedByUserField
from   Search
where  ModuleID = @ModuleID
order by TableName

GO

drop procedure AddSearch
go

create procedure AddSearch

@ModuleID  int,
@TableName nvarchar(50)

as

if not exists ( select 1 from Search where ModuleId = @ModuleId and TableName = @TableName )
begin
  insert into Search (
    ModuleId,
    TableName
  )
  values (
    @ModuleId,
    @TableName
  )
end

GO

drop procedure GetSingleSearch
go

create procedure GetSingleSearch

@SearchID int,
@ModuleId int

as

select TableName,
       TitleField,
       DescriptionField,
       CreatedDateField,
       CreatedByUserField
from   Search
where  SearchId = @SearchId
and    ModuleID = @ModuleID

GO

drop procedure UpdateSearch
go

create procedure UpdateSearch

@SearchID           int,
@TitleField         nvarchar(50),
@DescriptionField   nvarchar(50),
@CreatedDateField   nvarchar(50),
@CreatedByUserField nvarchar(50)

as

update Search
set    TitleField = @TitleField,
       DescriptionField = @DescriptionField,
       CreatedDateField = @CreatedDateField,
       CreatedByUserField = @CreatedByUserField
where  SearchId = @SearchId

GO

drop procedure DeleteSearch
go

create procedure DeleteSearch

@SearchID int

as

delete
from   Search
where  SearchId = @SearchId

GO

ALTER TABLE Users
	DROP CONSTRAINT DF_Users_IsSuperUser
GO

CREATE TABLE dbo.Tmp_Users
	(
	UserID int NOT NULL IDENTITY (1, 1),
	FirstName nvarchar(50) NOT NULL,
	LastName nvarchar(50) NOT NULL,
	Street nvarchar(50) NULL,
	City nvarchar(50) NULL,
	Region nvarchar(50) NULL,
	PostalCode nvarchar(50) NULL,
	Country nvarchar(50) NULL,
	Password nvarchar(50) NOT NULL,
	Email nvarchar(100) NOT NULL,
	Unit nvarchar(50) NULL,
	IsSuperUser bit NOT NULL,
	Telephone nvarchar(50) NULL,
	Username nvarchar(100) NOT NULL
	)  ON [PRIMARY]
GO

ALTER TABLE Tmp_Users ADD CONSTRAINT
	DF_Users_IsSuperUser DEFAULT (0) FOR IsSuperUser
GO

ALTER TABLE Tmp_Users ADD CONSTRAINT
	DF_Users_Username DEFAULT N'default' FOR Username
GO

SET IDENTITY_INSERT Tmp_Users ON
GO

IF EXISTS(SELECT * FROM dbo.Users)
	 EXEC('INSERT INTO dbo.Tmp_Users (UserID, FirstName, LastName, Street, City, Region, PostalCode, Country, Password,Email, Unit, IsSuperUser, Telephone) SELECT UserID, FirstName, LastName, Street, City, Region, PostalCode, Country, Password, Email, Unit, IsSuperUser, Telephone FROM dbo.Users TABLOCKX')
GO

SET IDENTITY_INSERT Tmp_Users OFF
GO

ALTER TABLE UserPortals
	DROP CONSTRAINT FK_UserPortals_Users
GO

ALTER TABLE UserRoles
	DROP CONSTRAINT FK_UserRoles_Users
GO

DROP TABLE Users
GO

EXECUTE sp_rename N'dbo.Tmp_Users', N'Users', 'OBJECT'
GO

ALTER TABLE Users ADD CONSTRAINT
	IX_Users UNIQUE NONCLUSTERED 
	(
	Email
	) ON [PRIMARY]
GO

ALTER TABLE Users ADD CONSTRAINT
	PK_Users PRIMARY KEY NONCLUSTERED 
	(
	UserID
	) ON [PRIMARY]
GO

ALTER TABLE UserRoles WITH NOCHECK ADD CONSTRAINT
	FK_UserRoles_Users FOREIGN KEY
	(
	UserID
	) REFERENCES dbo.Users
	(
	UserID
	) ON DELETE CASCADE
	 NOT FOR REPLICATION
GO

ALTER TABLE UserPortals WITH NOCHECK ADD CONSTRAINT
	FK_UserPortals_Users FOREIGN KEY
	(
	UserId
	) REFERENCES dbo.Users
	(
	UserID
	) NOT FOR REPLICATION
GO

update Users
set    Username = Email
GO

ALTER TABLE Users
	DROP CONSTRAINT DF_Users_Username
GO

drop procedure AddUser
GO

create procedure AddUser

@PortalId       int,
@FirstName	nvarchar(50),
@LastName	nvarchar(50),
@Unit		nvarchar(50),
@Street		nvarchar(50),
@City		nvarchar(50),
@Region		nvarchar(50),
@PostalCode	nvarchar(50),
@Country	nvarchar(50),
@Telephone      nvarchar(50),
@Email		nvarchar(100),
@Username	nvarchar(100),
@Password	nvarchar(50),
@Authorized     bit,
@UserID	int	OUTPUT

as

select	@UserID = UserID
from 	Users
where	Username = @Username 
and     Password = @Password

if @UserID is null
begin
  insert into Users (
    FirstName,
    LastName,
    Unit, 
    Street, 
    City,
    Region, 
    PostalCode,
    Country,
    Telephone,
    Email,
    Username,
    Password
  )
  values (
    @FirstName,
    @LastName,
    @Unit,
    @Street,
    @City,
    @Region,
    @PostalCode,
    @Country,
    @Telephone,
    @Email,
    @Username,
    @Password
  )

  select @UserID = @@IDENTITY
end

if @@ERROR = 0
begin
  insert into UserPortals (
    UserId,
    PortalId,
    Authorized,
    CreatedDate
  )
  values (
    @UserId,
    @PortalId,
    @Authorized,
    getdate()
  )
end

GO

drop procedure UpdateUser
GO

create procedure UpdateUser

@PortalId       int,
@UserID         int,
@FirstName	nvarchar(50),
@LastName	nvarchar(50),
@Unit		nvarchar(50),
@Street		nvarchar(50),
@City	        nvarchar(50),
@Region	        nvarchar(50),
@PostalCode	nvarchar(50),
@Country	nvarchar(50),
@Telephone	nvarchar(50),
@Email		nvarchar(100),
@Username       nvarchar(100),
@Password	nvarchar(50) = null,
@Authorized     bit = null

as

update Users
set    FirstName = @FirstName,
       LastName	 = @LastName,
       Unit	 = @Unit,
       Street	 = @Street,
       City	 = @City,
       Region	 = @Region,
       PostalCode = @PostalCode,
       Country	 = @Country,
       Telephone = @Telephone,
       Email	 = @Email,
       Username	 = @Username,
       Password	 = isnull(@Password,Password)
where  UserId = @UserID

if @Authorized is not null
begin
  update UserPortals
  set    Authorized = @Authorized
  where  PortalId = @PortalId
  and    userId = @UserId
end

GO

drop procedure GetUsers
GO

create procedure GetUsers

@PortalId int,
@Filter   nvarchar(1)

as

if @PortalID is null
begin
  select Users.*,
         'FullName' = Users.FirstName + ' ' + Users.LastName
  from   Users
  order by UserID
end
else
begin
  select Users.UserID,
         Users.Username,
         Users.Email,
         'FullName' = Users.FirstName + ' ' + Users.LastName,
         Users.FirstName,
         Users.LastName,
         Users.Unit,
         Users.Street,
         Users.City,
         Users.Region,
         Users.PostalCode,
         Users.Country,
         'Authorized' = case when UserPortals.Authorized = 1 then 'Y' else 'N' end,
         UserPortals.CreatedDate,
         UserPortals.LastLoginDate
  from   Users
  inner join UserPortals on Users.UserId = UserPortals.UserId
  where  UserPortals.PortalId = @PortalId
  and    Users.FirstName like @Filter + '%'
  order  by 'FullName'
end
GO

drop procedure GetSingleUser
GO

create procedure GetSingleUser

@PortalId int,
@UserId int

as

select Users.UserID,
       Users.Username,
       Users.Password,
       Users.Email,
       'FullName' = Users.FirstName + ' ' + Users.LastName,
       Users.FirstName,
       Users.LastName,
       Users.Unit,
       Users.Street,
       Users.City,
       Users.Region,
       Users.PostalCode,
       Users.Country,
       Users.Telephone,
       Users.IsSuperUser,
       UserPortals.Authorized,
       UserPortals.CreatedDate,
       UserPortals.LastLoginDate
from   Users
left outer join UserPortals on Users.UserId = UserPortals.UserId
where  Users.UserId = @UserId
and    (UserPortals.PortalId = @PortalId or Users.IsSuperUser = 1)

GO

drop procedure GetSingleUserByEmail
GO

create procedure GetSingleUserByUsername

@PortalID int,
@Username nvarchar(100)

as
 
select Users.UserId,
       Users.Username,
       Users.Password,
       Users.Email,
       'FullName' = Users.FirstName + ' ' + Users.LastName,
       Users.FirstName,
       Users.LastName,
       Users.Unit,
       Users.Street,
       Users.City,
       Users.Region,
       Users.PostalCode,
       Users.Country,
       Users.Telephone,
       Users.IsSuperUser,
       UserPortals.Authorized,
       UserPortals.CreatedDate,
       UserPortals.LastLoginDate
from   Users
left outer join UserPortals on Users.UserId = UserPortals.UserId
where  username = @Username
and    (UserPortals.PortalId = @PortalId or Users.IsSuperUser = 1)

GO

drop procedure UserLogin
GO

create procedure UserLogin

@Username nvarchar(100),
@Password nvarchar(50),
@PortalID int

as

declare @UserId int
declare @SuperUserId int

select @SuperUserId = UserId
from   Users
where  IsSuperUser = 1

⌨️ 快捷键说明

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