USP_DATAFORMTEMPLATE_VIEW_EVENTINVITATION

The load procedure used by the view dataform template "Event Invitation View Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@MARKEDFORINVITATIONRESENDCOUNT int INOUT Marked for invitation resend
@SENTINVITATIONWITHNORESPONSECOUNT int INOUT Sent invitations with no response
@REGISTEREDINVITEECOUNT int INOUT Registered invitees
@NOTYETSENTINVITATIONCOUNT int INOUT Invitations to be sent
@SENTINVITATIONCOUNT int INOUT Sent invitations
@INVITEETOTAL int INOUT Total invitees
@DECLINEDINVITEECOUNT int INOUT Declined invitees

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_EVENTINVITATION
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @MARKEDFORINVITATIONRESENDCOUNT int = null output,
                    @SENTINVITATIONWITHNORESPONSECOUNT int = null output,
                    @REGISTEREDINVITEECOUNT int = null output,
                    @NOTYETSENTINVITATIONCOUNT int = null output,
                    @SENTINVITATIONCOUNT int = null output,
                    @INVITEETOTAL int = null output,
                    @DECLINEDINVITEECOUNT int = null output
                )
                as
                    set nocount on;

                    if exists (select ID from dbo.INVITATION where ID = @ID)
                        select
                            @MARKEDFORINVITATIONRESENDCOUNT = coalesce(sum([INVITEEPROPERTIES].[MARKEDFORINVITATIONRESEND]), 0),
                            @SENTINVITATIONWITHNORESPONSECOUNT = coalesce(sum([INVITEEPROPERTIES].[SENTINVITATIONWITHNORESPONSE]), 0),
                            @REGISTEREDINVITEECOUNT = coalesce(sum([INVITEEPROPERTIES].[REGISTEREDINVITEE]), 0),
                            @NOTYETSENTINVITATIONCOUNT = coalesce(sum([INVITEEPROPERTIES].[NOTYETSENTINVITATION]), 0),
                            @SENTINVITATIONCOUNT = coalesce(sum([INVITEEPROPERTIES].[SENTINVITATION]), 0),
                            @INVITEETOTAL = count(*),
                            @DECLINEDINVITEECOUNT = coalesce(sum([INVITEEPROPERTIES].[DECLINEDINVITEE]), 0),
                            @DATALOADED = 1
                        from
                        (
                            select
                                case
                                    when
                                        INVITEERESEND.ID is not null
                                    then
                                        1
                                    else
                                        0
                                end [MARKEDFORINVITATIONRESEND],
                                case
                                    when
                                        INVITEE.DECLINED = 0
                                        and REGISTRANT.ID is null
                                        and [SENTINVITEEPROPERTIES].[INVITEEID] is not null
                                    then
                                        1
                                    else
                                        0
                                end [SENTINVITATIONWITHNORESPONSE],
                                case
                                    when
                                        REGISTRANT.ID is not null
                                    then
                                        1
                                    else
                                        0
                                end [REGISTEREDINVITEE],
                                case
                                    when
                                        [SENTINVITEEPROPERTIES].[INVITEEID] is null
                                        and INVITEE.DECLINED = 0
                                    then
                                        1
                                    else
                                        0
                                end [NOTYETSENTINVITATION],
                                case
                                    when
                                        [SENTINVITEEPROPERTIES].[INVITEEID] is not null
                                    then
                                        1
                                    else
                                        0
                                end [SENTINVITATION],
                                case
                                    when
                                        INVITEE.DECLINED = 1
                                    then
                                        1
                                    else
                                        0
                                end [DECLINEDINVITEE]
                                from
                                    dbo.INVITEE
                                    left join dbo.INVITEERESEND on
                                        INVITEERESEND.INVITEEID = INVITEE.ID
                                        and INVITEERESEND.INVITATIONID = @ID
                                    left join dbo.REGISTRANT on
                                        INVITEE.CONSTITUENTID = REGISTRANT.CONSTITUENTID
                                        and INVITEE.EVENTID = REGISTRANT.EVENTID
                                    left join
                                    (
                                        select distinct
                                            [SENTINVITEE].ID [INVITEEID],
                                            INVITATIONSTATUS.PARAMETERSETID
                                        from
                                            dbo.INVITEE [SENTINVITEE]
                                            left join dbo.INVITEEHISTORY
                                                on [SENTINVITEE].CONSTITUENTID = INVITEEHISTORY.CONSTITUENTID
                                                and [SENTINVITEE].EVENTID = INVITEEHISTORY.EVENTID
                                            left join dbo.INVITATIONHISTORY on INVITEEHISTORY.INVITATIONHISTORYID = INVITATIONHISTORY.ID
                                            left join dbo.INVITATIONSTATUS on INVITATIONHISTORY.BUSINESSPROCESSSTATUSID = INVITATIONSTATUS.ID
                                    )
                                    [SENTINVITEEPROPERTIES] on
                                        INVITEE.ID = [SENTINVITEEPROPERTIES].[INVITEEID]
                                        and [SENTINVITEEPROPERTIES].[PARAMETERSETID] = @ID
                                where
                                    INVITEE.INVITATIONID = @ID
                            ) [INVITEEPROPERTIES];

                    else
                        set @DATALOADED = 0;

                    return 0;