USP_DATAFORMTEMPLATE_ADD_CONSTITUENTLETTERBASIC_PRELOAD

The load procedure used by the edit dataform template "Constituent Letter Basic Add Data 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
@ORGNAME nvarchar(154) INOUT
@CONSTITUENTLOOKUPID nvarchar(100) INOUT
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CONSTITUENTLETTERBASIC_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,
                        @ORGNAME nvarchar(154) = null output,
                        @CONSTITUENTLOOKUPID nvarchar(100) = null output,
                        @CURRENTAPPUSERID uniqueidentifier = null
                    )
                    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 = ADDRESS.ID
                            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_TOITEMLISTXML(@INCOMINGID);

                        return 0;