spGetSiteAssestsCount

Parameters

Parameter Parameter Type Mode Description
@ClientSitesID int IN
@CopyablePartsOnly bit IN
@TemplatePartsOnly bit IN

Definition

Copy

CREATE PROCEDURE [dbo].[spGetSiteAssestsCount]
(
@ClientSitesID int,
@CopyablePartsOnly bit,
@TemplatePartsOnly bit
)    
AS

Declare @LivePages int
Declare @LiveTemplates int
Declare @LiveEmailTemplates int
Declare @LiveEcardTemplates int
Declare @LiveParts int
Declare @LiveStyleSheets int
Declare @LiveImages int
Declare @LiveLayouts int
Declare @LiveVanityURLs int

Select @LivePages = COUNT(*) from SitePages SP
left outer join (select PAGEMODELITEM.OBJECTGUID
                 from [dbo].PAGEMODEL
                 inner join [dbo].PAGEMODELITEM on PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID
                 where PAGEMODEL.LOCKARTIFACTS=1)PM on PM.OBJECTGUID = SP.Guid
Where SP.IsTemplatePage = 0 and SP.Deleted = 0 and SP.ClientSitesID = @ClientSitesID and PM.OBJECTGUID is null

Select @LiveLayouts = COUNT(*) from SiteLayouts SL
left outer join (select PAGEMODELITEM.OBJECTGUID
                 from [dbo].PAGEMODEL
                 inner join [dbo].PAGEMODELITEM on PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID
                 where PAGEMODEL.LOCKARTIFACTS=1)PM on PM.OBJECTGUID = SL.Guid
Where SL.Deleted = 0 and SL.ClientSitesID = @ClientSitesID and PM.OBJECTGUID is null

Select @LiveTemplates = COUNT(*) from SitePages SP
left outer join (select PAGEMODELITEM.OBJECTGUID
                 from [dbo].PAGEMODEL
                 inner join [dbo].PAGEMODELITEM on PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID
                 where PAGEMODEL.LOCKARTIFACTS=1)PM on PM.OBJECTGUID = SP.Guid
Where SP.IsTemplatePage = 1 and SP.Deleted = 0 and SP.ClientSitesID = @ClientSitesID and PM.OBJECTGUID is null

select @LiveEmailTemplates = COUNT(1)
                from dbo.[EMAILTEMPLATE] ET
                left outer join vwEmailTemplateDataSources DS on DS.DataSourceID = ET.DataSourceID
                left outer join (select PAGEMODELITEM.OBJECTGUID
                                from [dbo].PAGEMODEL
                                inner join [dbo].PAGEMODELITEM on PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID
                                where PAGEMODEL.LOCKARTIFACTS=1)PM on PM.OBJECTGUID = ET.Guid
                where
                ET.Type = 0
                and ET.IsInternalUse = 0
                and ET.Deleted = 0
                and ET.ClientsID = 1
                and DS.DataSourceID is not null
                and PM.OBJECTGUID is null 
                and ET.ClientSitesID = @ClientSitesID

select @LiveEcardTemplates = COUNT(1) from dbo.ECardTemplate ET
where ET.Deleted = 0 AND ET.ISSAMPLE = 0 and ET.ClientSitesID = @ClientSitesID

---------- Build Part Command ----------
declare @Select as nvarchar(4000)
declare @Where as nvarchar(4000)
declare @Cmd as nvarchar(4000)

set @Select = 'select @i = COUNT(DISTINCT(SC.ID)) from dbo.vwSiteContent SC'
set @Where = ' where SC.ClientSitesID = ' + cast(@ClientSitesID as nvarchar)

if @TemplatePartsOnly = 1
begin
    set @Select = @Select + ' inner join dbo.PageContent PC on SC.ID = PC.SiteContentID inner join dbo.SitePages SP on SP.ID = PC.SitePagesID'
    set @Where = @Where + ' and SP.IsTemplatePage = 1 and SP.Deleted = 0'
end        

if @CopyablePartsOnly = 1
    set @Select = @Select + ' inner join dbo.UFN_GETCLONESITECONTENTTYPES() C on SC.ContentTypesID = C.ID'


set @Select = @Select + ' left outer join (select PAGEMODELITEM.OBJECTGUID'
set @Select = @Select + ' from [dbo].PAGEMODEL'
set @Select = @Select + ' inner join [dbo].PAGEMODELITEM on PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID'
set @Select = @Select + ' where PAGEMODEL.LOCKARTIFACTS=1)PM on PM.OBJECTGUID = SC.Guid'
set @Where = @Where + ' and PM.OBJECTGUID is null'

set @Cmd = @Select + @Where

exec sp_executesql @query = @Cmd, @params = N'@i int output', @i = @LiveParts output
---------- End Part Command ----------

Select @LiveStyleSheets = COUNT(*) from SiteStyleSheets SSS
left outer join (select PAGEMODELITEM.OBJECTGUID
                 from [dbo].PAGEMODEL
                 inner join [dbo].PAGEMODELITEM on PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID
                 where PAGEMODEL.LOCKARTIFACTS=1)PM on PM.OBJECTGUID = SSS.Guid
Where SSS.Deleted = 0 and SSS.ClientSitesID = @ClientSitesID and PM.OBJECTGUID is null

Select @LiveImages = COUNT(*) from SiteImages SI
left outer join (select PAGEMODELITEM.OBJECTGUID
                 from [dbo].PAGEMODEL
                 inner join [dbo].PAGEMODELITEM on PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID
                 where PAGEMODEL.LOCKARTIFACTS=1)PM on PM.OBJECTGUID = SI.Guid
Where SI.Deleted = 0 and Type = 0 and SI.ClientSitesID = @ClientSitesID and PM.OBJECTGUID is null

Select @LiveVanityURLs = COUNT(*) from VanityURL VU
left outer join dbo.SitePages SP on SP.ID = VU.PageID
left outer join (select PAGEMODELITEM.OBJECTGUID
                 from [dbo].PAGEMODEL
                 inner join [dbo].PAGEMODELITEM on PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID
                 where PAGEMODEL.LOCKARTIFACTS=1)PM on PM.OBJECTGUID = SP.Guid
Where PM.OBJECTGUID is null and VU.ClientSitesID = @ClientSitesID

select @LivePages as 'LivePages', @LiveTemplates as 'LiveTemplates', @LiveParts as 'LiveParts', @LiveStyleSheets as 'LiveStyleSheets', @LiveImages as 'LiveImages', @LiveLayouts as 'LiveLayouts', @LiveVanityURLs as 'LiveVanityURLs', @LiveEmailTemplates as 'LiveEmailTemplates', @LiveEcardTemplates as 'LiveEcardTemplates'