USP_DATAFORMTEMPLATE_ADD_REGISTRANTFROMINVITEEUNIFIED_PRELOAD

The load procedure used by the edit dataform template "Registrant from Invitee Unified Add Form"

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@INVITEEID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@EVENTNAME nvarchar(100) INOUT Event
@MAINEVENTID uniqueidentifier INOUT MAINEVENTID
@MAINEVENTNAME nvarchar(100) INOUT Main event
@CONSTITUENTID uniqueidentifier INOUT Registrant
@PACKAGESPRICES xml INOUT
@MULTICOMPONENTEVENTSWITHPRICES xml INOUT
@MULTICOMPONENTEVENTPRICEBENEFITS xml INOUT
@MULTICOMPONENTEVENTPREFERENCEGROUPS xml INOUT
@MULTICOMPONENTEVENTAPPEALS xml INOUT
@CONSTITUENTHASNOTIFICATIONS bit INOUT Registrant has notifications
@CONSTITUENTRECORDTYPEID uniqueidentifier INOUT
@MULTICOMPONENTEVENTSCHEDULES xml INOUT
@SINGLEEVENTLIST xml INOUT
@EVENTCURRENCY xml INOUT
@ISHOUSEHOLD bit INOUT
@HOUSEHOLDMEMBERCOUNT int INOUT
@INVITEEEVENTID uniqueidentifier INOUT

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_REGISTRANTFROMINVITEEUNIFIED_PRELOAD
                    (
                        @CURRENTAPPUSERID uniqueidentifier,
                        @INVITEEID uniqueidentifier,
                        @EVENTNAME nvarchar(100) = null output,
                        @MAINEVENTID uniqueidentifier = null output,
                        @MAINEVENTNAME nvarchar(100) = null output,
                        @CONSTITUENTID uniqueidentifier = null output,
                        @PACKAGESPRICES xml = null output,
                        @MULTICOMPONENTEVENTSWITHPRICES xml = null output,
                        @MULTICOMPONENTEVENTPRICEBENEFITS xml = null output,
                        @MULTICOMPONENTEVENTPREFERENCEGROUPS xml = null output,
                        @MULTICOMPONENTEVENTAPPEALS xml = null output,
                        @CONSTITUENTHASNOTIFICATIONS bit = null output,
                        @CONSTITUENTRECORDTYPEID uniqueidentifier = null output,
                        @MULTICOMPONENTEVENTSCHEDULES xml = null output,
                        @SINGLEEVENTLIST xml = null output,
                        @EVENTCURRENCY xml = null output,
                        @ISHOUSEHOLD bit = null output,
                        @HOUSEHOLDMEMBERCOUNT int = null output,
                        @INVITEEEVENTID uniqueidentifier = null output

                    )
                    as
                        set nocount on;

                        select
                            @INVITEEEVENTID  = INVITEE.EVENTID,
                            @CONSTITUENTID = INVITEE.CONSTITUENTID
                        from
                            dbo.INVITEE
                            left join dbo.EVENT on INVITEE.EVENTID = EVENT.ID
                        where
                            INVITEE.ID = @INVITEEID;

                                                select @ISHOUSEHOLD = case
                                                                    when GD.GROUPTYPECODE = 0 then 1
                                                                    else 0
                                                                end
                            from dbo.CONSTITUENT C
                            left join dbo.GROUPDATA GD on C.ID = GD.ID
                            where C.ID = @CONSTITUENTID

                            declare @CURRENTDATEEARLIESTTIME date;
                            set @CURRENTDATEEARLIESTTIME = getdate();                                                       
                            select @HOUSEHOLDMEMBERCOUNT = count(GM.ID) 
                                        from dbo.GROUPMEMBER as GM
                                        left join dbo.GROUPMEMBERDATERANGE as GMDR on GM.ID = GMDR.GROUPMEMBERID
                                        where ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO > @CURRENTDATEEARLIESTTIME))
                                            or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATEEARLIESTTIME)) 
                                            or (GMDR.DATEFROM <= @CURRENTDATEEARLIESTTIME and GMDR.DATETO > @CURRENTDATEEARLIESTTIME))
                                        and GM.GROUPID = @CONSTITUENTID

                        if dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 0
                            if dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_FORCONSTIT(@CURRENTAPPUSERID, 'c3c380b9-e725-4feb-a214-f9209031b752', @CONSTITUENTID) <> 1
                                begin
                                    raiserror ('BBERR_DB_RECORDSECURITY_PERMISSION_DENIED',13,1);
                                    return 1;
                                end

                        select
                            @EVENTNAME = [EVENT].[NAME],
                            @MAINEVENTID = 
                            case
                                when [EVENT].[MAINEVENTID] is not null then [EVENT].[MAINEVENTID]
                                when exists(select ID from dbo.EVENT [SUBEVENT] where [SUBEVENT].[MAINEVENTID] = [EVENT].[ID]) then [EVENT].[ID]
                                else null
                            end
                        from
                            dbo.EVENT
                        where
                            [EVENT].[ID] = @INVITEEEVENTID;

                        select
                            @MAINEVENTNAME = [EVENT].[NAME]
                        from
                            dbo.EVENT
                        where
                            [EVENT].[ID] = @MAINEVENTID;                        


                        exec dbo.USP_EVENT_GETRELATEDEVENTINFO
                            @INVITEEEVENTID,
                            @CURRENTAPPUSERID,
                            @PACKAGESPRICES output,
                            @MULTICOMPONENTEVENTSWITHPRICES output,
                            @MULTICOMPONENTEVENTPRICEBENEFITS output,
                            @MULTICOMPONENTEVENTPREFERENCEGROUPS output,
                            @MULTICOMPONENTEVENTAPPEALS output,
                            @CONSTITUENTRECORDTYPEID output,
                            @MULTICOMPONENTEVENTSCHEDULES output,
                            @SINGLEEVENTLIST output,
                            @EVENTCURRENCY output;

                        select @CONSTITUENTHASNOTIFICATIONS = 
                            case 
                                when @CONSTITUENTID is null then 0 
                                when dbo.UFN_NOTIFICATION_RECORDHASNOTIFICATIONS(@CONSTITUENTID,@CONSTITUENTRECORDTYPEID,@CURRENTAPPUSERID) = 1 then 1 
                                else 0 end

                        return 0;