USP_DATAFORMTEMPLATE_ADD_CONSTITUENTLETTER_PRELOAD

The load procedure used by the edit dataform template "Constituent Letter Add Form"

Parameters

Parameter Parameter Type Mode Description
@INCOMINGID nvarchar(37) IN Input parameter indicating the context ID for the record being added.
@ADDRESSID uniqueidentifier INOUT Address
@PARAMETERID nvarchar(37) INOUT
@CONSTITUENTID uniqueidentifier INOUT
@RELATIONSHIPCONSTITUENTID uniqueidentifier INOUT
@ADDRESSES xml INOUT
@MAILDATE datetime INOUT Mail date
@ORGNAME nvarchar(154) INOUT
@CONSTITUENTLOOKUPID nvarchar(100) INOUT
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SITEREQUIRED bit INOUT Site required
@SITES xml INOUT Sites
@FUNDRAISERID uniqueidentifier INOUT
@ADDRESSEENAMEFORMATID uniqueidentifier INOUT
@SALUTATIONNAMEFORMATID uniqueidentifier INOUT

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CONSTITUENTLETTER_PRELOAD
                    (
                        @INCOMINGID nvarchar(37),
                        @ADDRESSID uniqueidentifier = null output,
                        @PARAMETERID nvarchar(37) = null output,
                        @CONSTITUENTID uniqueidentifier = null output,
                        @RELATIONSHIPCONSTITUENTID uniqueidentifier = null output,
                        @ADDRESSES xml = null output,
                        @MAILDATE datetime = null output,
                        @ORGNAME nvarchar(154) = null output,
                        @CONSTITUENTLOOKUPID nvarchar(100) = null output,
                        @CURRENTAPPUSERID uniqueidentifier = null,
                        @SITEREQUIRED bit = null output,
                        @SITES xml = null output,
                        @FUNDRAISERID uniqueidentifier = null output,
                        @ADDRESSEENAMEFORMATID uniqueidentifier = null output,
                        @SALUTATIONNAMEFORMATID uniqueidentifier = null output
                    )
                    as
                        set nocount on;

                        declare @ID uniqueidentifier;
                        declare @TYPE tinyint;
                        declare @RELATIONSHIPID uniqueidentifier;

                        set @ID = substring(@INCOMINGID,1,36);
                        set @TYPE = substring(@INCOMINGID,37,1)

                        if @TYPE = 0
                        begin
                            select
                                @ADDRESSID = ID,
                                @CONSTITUENTID = CONSTITUENTID
                            from dbo.ADDRESS
                            where
                                ID = @ID;
                        end
                        if @TYPE = 1
                        begin
                            select
                                @CONSTITUENTID = CONSTITUENT.ID,
                                @ADDRESSID = case ADDRESS.DONOTMAIL when 0 then ADDRESS.ID else null end
                            from 
                                dbo.CONSTITUENT
                                left join dbo.ADDRESS on ADDRESS.CONSTITUENTID = CONSTITUENT.ID and ADDRESS.ISPRIMARY = 1
                            where
                                CONSTITUENT.ID = @ID;
                        end
                        if @TYPE = 2
                        begin
                            select
                                @RELATIONSHIPID = RELATIONSHIP.ID,
                                @CONSTITUENTID = RELATIONSHIP.RECIPROCALCONSTITUENTID,
                                @RELATIONSHIPCONSTITUENTID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID,
                                @ADDRESSID = coalesce(ADDRESS.ID, A2.ID),
                                @ORGNAME = CONSTITUENT.NAME
                            from 
                                dbo.RELATIONSHIP
                                inner join dbo.CONSTITUENT on CONSTITUENT.ID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID
                                left join dbo.ADDRESS on ADDRESS.RELATIONSHIPID = RELATIONSHIP.ID
                                left join dbo.ADDRESS A2 on A2.CONSTITUENTID = CONSTITUENT.ID
                            where
                                RELATIONSHIP.ID = @ID
                            order by
                                A2.ISPRIMARY;
                        end

                        select @CONSTITUENTLOOKUPID = LOOKUPID from dbo.CONSTITUENT where ID = @CONSTITUENTID;

                        set @PARAMETERID = @INCOMINGID;
                        set @ADDRESSES = dbo.UFN_CONSTITUENT_GETADDRESSES_STATEDESC_TOITEMLISTXML(@INCOMINGID);
                        set @MAILDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());

                        set @SITEREQUIRED = dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID)

                        declare @USERSITEID uniqueidentifier = dbo.UFN_APPUSER_DEFAULTSITEFORUSER(@CURRENTAPPUSERID)
                        if @USERSITEID is not null
                        begin
                            set @SITES = (
                                select newid() ID, @USERSITEID SITEID
                                for xml raw('ITEM'),type,elements,root('SITES'),BINARY BASE64
                            )
                        end

                        select
                            @FUNDRAISERID = CONSTITUENTID
                        from 
                            dbo.APPUSER
                        where 
                            ID = @CURRENTAPPUSERID;

                        exec dbo.USP_CONSTITUENTNAMEFORMATS_GETDEFAULTADDRESSEE
                            @CONSTITUENTID,
                            @CURRENTAPPUSERID,
                            @ADDRESSEENAMEFORMATID output,
                            @SALUTATIONNAMEFORMATID output;

                        return 0;