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

📄 03.00.01.sqldataprovider

📁 SharpNuke源代码
💻 SQLDATAPROVIDER
📖 第 1 页 / 共 3 页
字号:
/************************************************************/
/*****              SqlDataProvider                     *****/
/*****                                                  *****/
/*****                                                  *****/
/***** Note: To manually execute this script you must   *****/
/*****       perform a search and replace operation     *****/
/*****       for {databaseOwner} and {objectQualifier}  *****/
/*****                                                  *****/
/************************************************************/

ALTER TABLE {databaseOwner}{objectQualifier}Modules ADD
	PortalID int NULL
GO

ALTER TABLE {databaseOwner}{objectQualifier}Modules
	DROP CONSTRAINT FK_{objectQualifier}Modules_{objectQualifier}Tabs
GO

CREATE TABLE {databaseOwner}{objectQualifier}TabModules
	(
	TabModuleID int NOT NULL IDENTITY (1, 1),       
	TabID int NOT NULL,
	ModuleID int NOT NULL,
	PaneName nvarchar(50) NOT NULL,
	ModuleOrder int NOT NULL,
        CacheTime int NOT NULL,
        Alignment nvarchar(10) NULL,
        Color nvarchar(20) NULL,
        Border nvarchar(1) NULL,
        IconFile nvarchar(100) NULL,
        Visibility int NOT NULL,
        ContainerSrc nvarchar(200) NULL
	)  ON [PRIMARY]
GO

ALTER TABLE {databaseOwner}{objectQualifier}TabModules ADD CONSTRAINT
	PK_{objectQualifier}TabModules PRIMARY KEY CLUSTERED 
	(
	TabModuleID
	) ON [PRIMARY]

GO

ALTER TABLE {databaseOwner}{objectQualifier}TabModules ADD CONSTRAINT
	FK_{objectQualifier}TabModules_{objectQualifier}Tabs FOREIGN KEY
	(
	TabID
	) REFERENCES {objectQualifier}Tabs
	(
	TabID
	) ON DELETE CASCADE
	 NOT FOR REPLICATION

GO

ALTER TABLE {databaseOwner}{objectQualifier}TabModules ADD CONSTRAINT
	FK_{objectQualifier}TabModules_{objectQualifier}Modules FOREIGN KEY
	(
	ModuleID
	) REFERENCES {objectQualifier}Modules
	(
	ModuleID
	) ON DELETE CASCADE
	 NOT FOR REPLICATION

GO

declare @PortalID int
declare @ModuleID int
declare @TabID int
declare @PaneName nvarchar(50)
declare @ModuleOrder int
declare @CacheTime int
declare @Alignment nvarchar(10)
declare @Color nvarchar(20)
declare @Border nvarchar(1)
declare @IconFile nvarchar(100)
declare @ShowTitle bit
declare @Personalize int
declare @ContainerSrc nvarchar(200)
declare @AllTabs bit

select @ModuleId = min(ModuleId)
from {objectQualifier}Modules
while @ModuleId is not null
begin
  select @TabID = TabID,
         @PaneName = PaneName,
         @ModuleOrder = ModuleOrder,
         @CacheTime = CacheTime,
         @Alignment = Alignment,
         @Color = Color,
         @Border = Border,
         @IconFile = IconFile,
         @AllTabs = @AllTabs,
         @ShowTitle = ShowTitle,
         @Personalize = Personalize,
         @ContainerSrc = ContainerSrc
  from   {objectQualifier}Modules
  where  ModuleID = @ModuleID

  select @PortalID = PortalID
  from  {objectQualifier}Tabs
  where TabID = @TabID

  if @ShowTitle = 0
  begin
    select @ContainerSrc = '[G]Containers/_default/No Container.ascx'
  end

  if @AllTabs = 1
  begin
    select @TabID = min(TabID)
    from {objectQualifier}Tabs
    where PortalID = @PortalID
    and TabOrder < 10000
  end

  while @TabID is not null
  begin
    if @AllTabs = 1
    begin
      select @ModuleOrder = max(ModuleOrder)
      from {objectQualifier}Modules
      where TabId = @TabId
      and PaneName = @PaneName

      if @ModuleOrder is null
      begin
        select @ModuleOrder = 1
      end
      else
      begin
        select @ModuleOrder = @ModuleOrder + 2
      end
    end

    insert into {objectQualifier}TabModules (
      TabID,
      ModuleID,
      PaneName,
      ModuleOrder,
      CacheTime,
      Alignment,
      Color,
      Border,
      IconFile,
      Visibility,
      ContainerSrc
    )
    values (
      @TabID,
      @ModuleID,
      @PaneName,
      @ModuleOrder,
      @CacheTime,
      @Alignment,
      @Color,
      @Border,
      @IconFile,
      @Personalize,
      @ContainerSrc
    )

    if @AllTabs = 1
    begin
      select @TabID = min(TabID)
      from {objectQualifier}Tabs
      where PortalID = @PortalID
      and TabID > @TabID
      and TabOrder < 10000
    end
    else
    begin
      select @TabID = null
    end
  end

  update {objectQualifier}Modules
  set PortalID = @PortalID
  where  ModuleID = @ModuleID

  select @ModuleID = min(ModuleID)
  from {objectQualifier}Modules
  where ModuleID > @ModuleID
end
GO

ALTER TABLE {databaseOwner}{objectQualifier}Modules
	DROP CONSTRAINT DF_{objectQualifier}Modules_ShowTitle
GO

ALTER TABLE {databaseOwner}{objectQualifier}Modules
	DROP CONSTRAINT DF_{objectQualifier}Modules_Personalize
GO

ALTER TABLE {databaseOwner}{objectQualifier}Modules
	DROP COLUMN ModuleOrder, PaneName, CacheTime, Alignment, Color, Border, IconFile, Personalize, ShowTitle, ContainerSrc
GO

DROP INDEX {databaseOwner}{objectQualifier}Modules.IX_Modules_1
GO

ALTER TABLE {databaseOwner}{objectQualifier}Modules
	DROP COLUMN TabID
GO

ALTER TABLE {databaseOwner}{objectQualifier}Modules WITH NOCHECK ADD CONSTRAINT
	FK_Modules_Portals FOREIGN KEY
	(
	PortalID
	) REFERENCES {databaseOwner}{objectQualifier}Portals
	(
	PortalID
	) NOT FOR REPLICATION

GO

/* stored procedures */

drop procedure {databaseOwner}{objectQualifier}GetModule
GO

create procedure {databaseOwner}{objectQualifier}GetModule

@ModuleId int,
@TabId    int

as

select	{objectQualifier}Modules.*,
        {objectQualifier}TabModules.*,
        {objectQualifier}DesktopModules.*
from	{objectQualifier}Modules
inner join {objectQualifier}ModuleDefinitions on {objectQualifier}Modules.ModuleDefID = {objectQualifier}ModuleDefinitions.ModuleDefID
inner join {objectQualifier}DesktopModules on {objectQualifier}ModuleDefinitions.DesktopModuleID = {objectQualifier}DesktopModules.DesktopModuleID
left outer join {objectQualifier}TabModules on {objectQualifier}Modules.ModuleId = {objectQualifier}TabModules.ModuleId
where   {objectQualifier}Modules.ModuleId = @ModuleId
and     ({objectQualifier}TabModules.TabId = @TabId or @TabId is null)

GO

drop procedure {databaseOwner}{objectQualifier}GetModules
GO

create procedure {databaseOwner}{objectQualifier}GetModules

@PortalId int

as

select {objectQualifier}Modules.*,
       {objectQualifier}DesktopModules.*
from   {objectQualifier}Modules
inner join {objectQualifier}ModuleDefinitions on {objectQualifier}Modules.ModuleDefID = {objectQualifier}ModuleDefinitions.ModuleDefID
inner join {objectQualifier}DesktopModules on {objectQualifier}ModuleDefinitions.DesktopModuleID = {objectQualifier}DesktopModules.DesktopModuleID
where  {objectQualifier}Modules.PortalId = @PortalId
order by {objectQualifier}Modules.ModuleId

GO

drop procedure {databaseOwner}{objectQualifier}AddModule
GO

create procedure {databaseOwner}{objectQualifier}AddModule
    
@PortalId                      int,
@ModuleDefId                   int,
@ModuleTitle                   nvarchar(256),
@AllTabs                       bit,
@Header                        text,
@Footer                        text,
@StartDate                     datetime,
@EndDate                       datetime,
@InheritViewPermissions        bit,
@IsDeleted                     bit

as

insert into {objectQualifier}Modules ( 
  PortalId,
  ModuleDefId,
  ModuleTitle,
  AllTabs,
  Header,
  Footer, 
  StartDate,
  EndDate,
  InheritViewPermissions,
  IsDeleted
)
values (
  @PortalId,
  @ModuleDefId,
  @ModuleTitle,
  @AllTabs,
  @Header,
  @Footer, 
  @StartDate,
  @EndDate,
  @InheritViewPermissions,
  @IsDeleted
)

select SCOPE_IDENTITY()

GO

create procedure {databaseOwner}{objectQualifier}AddTabModule
    
@TabId                         int,
@ModuleId                      int,
@ModuleOrder                   int,
@PaneName                      nvarchar(50),
@CacheTime                     int,
@Alignment                     nvarchar(10),
@Color                         nvarchar(20),
@Border                        nvarchar(1),
@IconFile                      nvarchar(100),
@Visibility                        int,
@ContainerSrc                  nvarchar(200)

as

insert into {objectQualifier}TabModules ( 
  TabId,
  ModuleId,
  ModuleOrder,
  PaneName,
  CacheTime,
  Alignment,
  Color,
  Border,
  IconFile,
  Visibility,
  ContainerSrc
)
values (
  @TabId,
  @ModuleId,
  @ModuleOrder,
  @PaneName,
  @CacheTime,
  @Alignment,
  @Color,
  @Border,
  @IconFile,
  @Visibility,
  @ContainerSrc
)

GO

drop procedure {databaseOwner}{objectQualifier}UpdateModule
GO

create procedure {databaseOwner}{objectQualifier}UpdateModule

@ModuleId               int,
@ModuleTitle            nvarchar(256),
@AllTabs                bit, 
@Header                 text,
@Footer                 text,
@StartDate              datetime,
@EndDate                datetime,
@InheritViewPermissions	bit,
@IsDeleted              bit

as

update {objectQualifier}Modules
set    ModuleTitle = @ModuleTitle,
       AllTabs = @AllTabs,
       Header = @Header,
       Footer = @Footer, 
       StartDate = @StartDate,
       EndDate = @EndDate,
       InheritViewPermissions = @InheritViewPermissions,
       IsDeleted = @IsDeleted
where  ModuleId = @ModuleId

GO

create procedure {databaseOwner}{objectQualifier}UpdateTabModule

@TabId               int,
@ModuleId            int,
@ModuleOrder         int,
@PaneName            nvarchar(50),
@CacheTime           int,
@Alignment           nvarchar(10),
@Color               nvarchar(20),
@Border              nvarchar(1),
@IconFile            nvarchar(100),
@Visibility              int,
@ContainerSrc        nvarchar(200)

as

update {objectQualifier}TabModules
set    ModuleOrder = @ModuleOrder,
       PaneName = @PaneName,
       CacheTime   = @CacheTime,
       Alignment = @Alignment,
       Color = @Color,
       Border = @Border,
       IconFile = @IconFile,
       Visibility = @Visibility,
       ContainerSrc = @ContainerSrc
where  TabId = @TabId
and    ModuleId = @ModuleId

GO

drop procedure {databaseOwner}{objectQualifier}DeleteModule
GO

create procedure {databaseOwner}{objectQualifier}DeleteModule

@ModuleId   int

as

delete
from   {objectQualifier}Modules 
where  ModuleId = @ModuleId
GO

create procedure {databaseOwner}{objectQualifier}DeleteTabModule

@TabId      int,
@ModuleId   int

as

delete
from   {objectQualifier}TabModules 
where  TabId = @TabId
and    ModuleId = @ModuleId
GO

drop procedure {databaseOwner}{objectQualifier}GetPortalTabModules
GO

create procedure {databaseOwner}{objectQualifier}GetPortalTabModules

@PortalId int, 
@TabId int

as

select M.ModuleID,
       M.PortalID,
       M.ModuleDefId,
       M.ModuleTitle,
       M.AllTabs,
       M.Header,
       M.Footer,
       M.StartDate,
       M.EndDate,
       M.InheritViewPermissions,
       M.IsDeleted,
       TM.TabModuleId,
       TM.TabId,
       TM.ModuleOrder,
       TM.PaneName,
       TM.CacheTime,
       TM.Alignment,
       TM.Color,
       TM.Border,
       TM.IconFile,
       TM.Visibility,
       TM.ContainerSrc,
       MC.ModuleControlId,
       MC.ControlSrc,
       MC.ControlType,
       MC.ControlTitle,
       MC.HelpURL,
       DM.*
from {databaseOwner}{objectQualifier}Modules M
inner join {databaseOwner}{objectQualifier}TabModules TM on M.ModuleId = TM.ModuleId
inner join {databaseOwner}{objectQualifier}Tabs T on TM.TabId = T.TabId
inner join {databaseOwner}{objectQualifier}ModuleDefinitions MD on M.ModuleDefId = MD.ModuleDefId
inner join {databaseOwner}{objectQualifier}ModuleControls MC on MD.ModuleDefId = MC.ModuleDefId
inner join {databaseOwner}{objectQualifier}DesktopModules DM on MD.DesktopModuleId = DM.DesktopModuleId
where  TM.TabId = @TabId
and    ControlKey is null
order by TM.ModuleOrder

GO

drop procedure {databaseOwner}{objectQualifier}GetTabModuleOrder
GO

create procedure {databaseOwner}{objectQualifier}GetTabModuleOrder

@TabId    int, 
@PaneName nvarchar(50)

as

select *
from   {objectQualifier}TabModules 
where  TabId = @TabId 
and    PaneName = @PaneName
order by ModuleOrder

GO

drop procedure {databaseOwner}{objectQualifier}GetTabPanes
GO

create procedure {databaseOwner}{objectQualifier}GetTabPanes

@TabId    int

as

select distinct(PaneName) as PaneName
from   {objectQualifier}TabModules
where  TabId = @TabId
order by PaneName

GO

drop procedure {databaseOwner}{objectQualifier}GetSiteModule
GO

create procedure {databaseOwner}{objectQualifier}GetSiteModule

@FriendlyName nvarchar(128),

⌨️ 快捷键说明

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