USP_DATALIST_TEAMWIDGET

Get List of Widgets available for Participant..

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN EventID
@TEAMFUNDRAISINGTEAMID uniqueidentifier IN TeamFundraisingTeamID
@WIDGETID int IN WidgetID
@ROLECODE tinyint IN RoleCode

Definition

Copy


CREATE procedure dbo.USP_DATALIST_TEAMWIDGET
                            (    @EVENTID uniqueidentifier, 
                                @TEAMFUNDRAISINGTEAMID uniqueidentifier,
                                @WIDGETID int = NULL,
                                @ROLECODE tinyint = 1
                            )with execute as caller
    as
            set nocount on;

            declare @CHANGEAGENTID uniqueidentifier 
            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

            declare @CURRENTDATE datetime
            set @CURRENTDATE = getdate()

      --Bug 195562 - copying down the admin story results in an inability to know if the registrant actually customized it      

            --IF NOT EXISTS (SELECT 1 FROM TEAMWIDGET WHERE TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID AND WIDGETID = 3)

            --BEGIN

                --IF NOT EXISTS (SELECT 1 FROM dbo.STORY WHERE TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID AND TYPECODE = @ROLECODE)

                    --INSERT INTO STORY (ID,EVENTID,STORYTEXT,FAFIMAGESID,IMAGECODE,TEAMFUNDRAISINGTEAMID,TYPECODE,ADDEDBYID,CHANGEDBYID,DATECHANGED,DATEADDED)

                    --SELECT TOP 1 NEWID(),EVENTID,STORYTEXT,FAFIMAGESID,IMAGECODE,@TEAMFUNDRAISINGTEAMID,@ROLECODE,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE

                    --FROM dbo.STORY WHERE EVENTID = @EVENTID AND TYPECODE = @ROLECODE AND REGISTRANTID IS NULL AND TEAMFUNDRAISINGTEAMID IS NULL

            --END


            IF NOT EXISTS (SELECT 1 FROM TEAMWIDGET WHERE TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID AND WIDGETID = 9)
            BEGIN
                IF NOT EXISTS (SELECT 1 FROM dbo.FAFRSSFEED WHERE TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID AND TYPECODE = @ROLECODE)
                    INSERT INTO FAFRSSFEED (ID,EVENTID,TEAMFUNDRAISINGTEAMID,TYPECODE,RSSFEEDURL,ADDEDBYID,CHANGEDBYID,DATECHANGED,DATEADDED)
                    SELECT NEWID(),EVENTID,@TEAMFUNDRAISINGTEAMID,@ROLECODE,RSSFEEDURL,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE
                    FROM dbo.FAFRSSFEED WHERE EVENTID = @EVENTID AND TYPECODE = @ROLECODE AND REGISTRANTID IS NULL AND TEAMFUNDRAISINGTEAMID IS NULL
            END

            IF NOT EXISTS (SELECT 1 FROM TEAMWIDGET WHERE TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID AND WIDGETID = 7)
            BEGIN
        DECLARE @CONSTITUENTID uniqueidentifier
        SET @CONSTITUENTID = (SELECT TEAMCONSTITUENTID FROM dbo.TEAMEXTENSION WHERE TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID)

                IF NOT EXISTS (SELECT 1 FROM dbo.VIDEO WHERE CONSTITUENTID = @CONSTITUENTID AND TYPECODE = @ROLECODE)
                    INSERT INTO VIDEO (ID,EVENTID,VIDEOID,NAME,CAPTION,URL,STATUS,FILEPATH,CONSTITUENTID,TYPECODE,ADDEDBYID,CHANGEDBYID,DATECHANGED,DATEADDED)
                    SELECT NEWID(),EVENTID,VIDEOID,NAME,CAPTION,URL,STATUS,FILEPATH,@CONSTITUENTID,@ROLECODE,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE
                    FROM dbo.VIDEO WHERE EVENTID = @EVENTID AND TYPECODE = @ROLECODE AND CONSTITUENTID IS NULL 
            END

            INSERT INTO TEAMWIDGET (ID,widgetid,TEAMFUNDRAISINGTEAMID,displaytext,isactive,addedbyid,changedbyid,dateadded,datechanged)
            SELECT NEWID(),EW.WIDGETID,@TEAMFUNDRAISINGTEAMID,EW.DISPLAYTEXT,EW.ISACTIVE,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE
            FROM dbo.EVENTWIDGET EW WITH (NOLOCK)
            LEFT OUTER JOIN dbo.TEAMWIDGET PW WITH (NOLOCK)
            ON EW.WIDGETID = PW.WIDGETID
            AND PW.TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID
            WHERE PW.WIDGETID IS NULL
            AND EW.ROLECODE = @ROLECODE
            AND EW.EVENTID = @EVENTID
            AND (EW.ISACTIVE = 1 OR EW.ALLOWREMOVE = 1)

            IF @WIDGETID IS NULL
            SELECT PW.ID,
                   PW.WIDGETID,
                   WG.NAME,
                   WG.DESCRIPTION,
                   PW.DISPLAYTEXT,
                   PW.ISACTIVE,
                   WG.PARENTWIDGETID,
                   EW.ALLOWEDIT,
                   EW.ALLOWMOVE,
                   EW.ALLOWREMOVE
            FROM dbo.EVENTWIDGET EW WITH (NOLOCK)
            INNER JOIN dbo.TEAMWIDGET PW WITH (NOLOCK)
            ON PW.WIDGETID = EW.WIDGETID
            INNER JOIN dbo.WIDGETGALLERY WG WITH (NOLOCK)
            ON WG.WIDGETID = EW.WIDGETID
            WHERE EW.EVENTID = @EVENTID
            AND EW.ROLECODE = @ROLECODE
            AND PW.TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID
            --AND WG.PARENTWIDGETID IS NULL

      -- Remove the filtering here to get all team widget information in one call

      -- to reduce the # of web service calls, filtering logic will move to front end

            AND (EW.ISACTIVE = 1 OR EW.ALLOWREMOVE = 1)
        ELSE    -- Get the Widget and Child widgets

            SELECT PW.ID,
                   PW.WIDGETID,
                   WG.NAME,
                   WG.DESCRIPTION,
                   PW.DISPLAYTEXT,
                   PW.ISACTIVE,
                   WG.PARENTWIDGETID,
                   EW.ALLOWEDIT,
                   EW.ALLOWMOVE,
                   EW.ALLOWREMOVE
            FROM dbo.EVENTWIDGET EW WITH (NOLOCK)
            INNER JOIN dbo.TEAMWIDGET PW WITH (NOLOCK)
            ON PW.WIDGETID = EW.WIDGETID
            INNER JOIN dbo.WIDGETGALLERY WG WITH (NOLOCK)
            ON WG.WIDGETID = EW.WIDGETID
            WHERE EW.EVENTID = @EVENTID
            AND EW.ROLECODE = @ROLECODE
            AND PW.TEAMFUNDRAISINGTEAMID = @TEAMFUNDRAISINGTEAMID
            AND (EW.ISACTIVE = 1 OR EW.ALLOWREMOVE = 1)
            AND (PW.WIDGETID = @WIDGETID OR WG.PARENTWIDGETID = @WIDGETID)