USP_DESIGNATIONCMS_VIEWDATA
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@DATALOADED | bit | INOUT | |
@VANITYNAME | nvarchar(512) | INOUT | |
@URL | nvarchar(max) | INOUT | |
@CMSCHILDREN | nvarchar(max) | INOUT | |
@STARTDATE | datetime | INOUT | |
@ENDDATE | datetime | INOUT | |
@ISACTIVE | bit | INOUT | |
@CMS | bit | INOUT | |
@ISLIVE | bit | INOUT | |
@SITEPAGESID | int | INOUT |
Definition
Copy
create procedure dbo.USP_DESIGNATIONCMS_VIEWDATA
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@VANITYNAME nvarchar(512) = null output,
@URL nvarchar(max) = null output,
@CMSCHILDREN nvarchar(max) = null output,
@STARTDATE datetime = null output,
@ENDDATE datetime = null output,
@ISACTIVE bit = null output,
@CMS bit = null output,
@ISLIVE bit = null output,
@SITEPAGESID int = null output
)
as
begin
set nocount on;
set @DATALOADED = 0;
select
@DATALOADED = 1,
@VANITYNAME = DESIGNATION.VANITYNAME,
@URL = CASE WHEN ISNULL(CAST(MP.SITEPAGESID AS BIT), 0) = 1 THEN dbo.UFN_BBNC_URL() + (SELECT TOP 1 VanityURL from dbo.VanityURL where PageID= MP.SITEPAGESID) ELSE '' END, --DESIGNATION.USERID CAST(@ID AS nvarchar(36)),
@CMSCHILDREN = CASE WHEN ISNULL(CAST(MP.SITEPAGESID AS BIT), 0) = 1 THEN (
select dbo.UDA_BUILDLIST(D.VANITYNAME) --aggregate function to concatenate table row values into a semicolon-delimited string (though not strictly concatenation as order is up to the vagaries of the optimizer)
from dbo.DESIGNATION D
inner join dbo.DESIGNATIONLEVEL DL
on ((D.DESIGNATIONLEVEL1ID = DL.ID) or (D.DESIGNATIONLEVEL2ID = DL.ID) or (D.DESIGNATIONLEVEL3ID = DL.ID) or (D.DESIGNATIONLEVEL4ID = DL.ID) or (D.DESIGNATIONLEVEL5ID = DL.ID))
inner join dbo.MICROSITEPAGE MP
on (MP.OBJECTID = D.ID) and (MP.EXCLUDED = 0)
where (DL.ID =
case
when DESIGNATION.DESIGNATIONLEVEL2ID is null then DESIGNATION.DESIGNATIONLEVEL1ID
when DESIGNATION.DESIGNATIONLEVEL3ID is null then DESIGNATION.DESIGNATIONLEVEL2ID
when DESIGNATION.DESIGNATIONLEVEL4ID is null then DESIGNATION.DESIGNATIONLEVEL3ID
when DESIGNATION.DESIGNATIONLEVEL5ID is null then DESIGNATION.DESIGNATIONLEVEL4ID
else DESIGNATION.DESIGNATIONLEVEL5ID
end)
--and not (D.ID = DESIGNATION.ID) per conversation with Matt 11/23, the list should include itself
and (D.ISACTIVE = 1)
and (((GETDATE() >= D.STARTDATE) or (D.STARTDATE is null)) and ((GETDATE() <= D.ENDDATE) or (D.ENDDATE is null)))
) ELSE '' END,
@STARTDATE = DESIGNATION.STARTDATE,
@ENDDATE = DESIGNATION.ENDDATE,
@ISACTIVE = DESIGNATION.ISACTIVE,
@CMS = ISNULL(CAST(MP.SITEPAGESID AS BIT), 0),
@ISLIVE = CASE
WHEN
(ISNULL(CAST(MP.SITEPAGESID AS BIT), 0) = 1)
and (DESIGNATION.ISACTIVE = 1)
and (((GETDATE() >= DESIGNATION.STARTDATE) or (DESIGNATION.STARTDATE is null)) and ((GETDATE() <= DESIGNATION.ENDDATE) or (DESIGNATION.ENDDATE is null)))
THEN 1
ELSE 0 END,
@SITEPAGESID = MP.SITEPAGESID
from dbo.DESIGNATION
left join dbo.MICROSITEPAGE MP on (MP.OBJECTID = DESIGNATION.ID) and (MP.EXCLUDED = 0)
where DESIGNATION.ID = @ID;
return 0;
end