USP_DATAFORMTEMPLATE_ADD_CONSTITUENTQUICK

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@SOURCECONSTITUENTID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@LASTNAME nvarchar(50) IN
@FIRSTNAME nvarchar(50) IN
@MIDDLENAME nvarchar(50) IN
@TITLECODEID uniqueidentifier IN
@SUFFIXCODEID uniqueidentifier IN
@BIRTHDATE UDT_FUZZYDATE IN
@GENDERCODE tinyint IN
@PHONENUMBER nvarchar(100) IN
@EMAILADDRESS UDT_EMAILADDRESS IN
@ADDASRELATIONSHIP bit IN
@RELATIONSHIPTYPECODEID uniqueidentifier IN
@RECIPROCALTYPECODEID uniqueidentifier IN
@ISSPOUSE bit IN
@COPYADDRESS bit IN
@MEMBERSOFSAMEHOUSEHOLD bit IN
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CONSTITUENTQUICK
                    (
                        @ID uniqueidentifier = null output,
                        @SOURCECONSTITUENTID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @LASTNAME nvarchar(50) = null,
                        @FIRSTNAME nvarchar(50) = '',
                        @MIDDLENAME nvarchar(50) = '',
                        @TITLECODEID uniqueidentifier = null,
                        @SUFFIXCODEID uniqueidentifier = null,
                        @BIRTHDATE dbo.UDT_FUZZYDATE = '00000000',
                        @GENDERCODE tinyint = 0,
                        @PHONENUMBER nvarchar(100) = '',
                        @EMAILADDRESS dbo.UDT_EMAILADDRESS = '',
                        @ADDASRELATIONSHIP bit = 0,
                        @RELATIONSHIPTYPECODEID uniqueidentifier = null,
                        @RECIPROCALTYPECODEID uniqueidentifier = null,
                        @ISSPOUSE bit = 0,
                        @COPYADDRESS bit = 0,
                        @MEMBERSOFSAMEHOUSEHOLD bit = 0,
                        @CURRENTAPPUSERID uniqueidentifier
                    )
                    as

                    set nocount on;

                    if @ID is null
                        set @ID = newid()

                    if @CHANGEAGENTID is null  
                        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    begin try

                        insert into dbo.CONSTITUENT
                            (
                                [ID],
                                [ISORGANIZATION],
                                [KEYNAME],
                                [FIRSTNAME],
                                [MIDDLENAME],
                                [TITLECODEID],
                                [SUFFIXCODEID],
                                [GENDERCODE],
                                [BIRTHDATE],
                                [ADDEDBYID],
                                [CHANGEDBYID],
                                [DATEADDED],
                                [DATECHANGED],
                                [ISCONSTITUENT]
                            )
                            values
                            (
                                @ID,
                                0,
                                @LASTNAME,
                                @FIRSTNAME,
                                @MIDDLENAME,
                                @TITLECODEID,
                                @SUFFIXCODEID,
                                @GENDERCODE,
                                @BIRTHDATE,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE,
                                1
                            );

                        if (coalesce(@PHONENUMBER,'') <> '')
                            begin
                                insert into dbo.PHONE
                                (
                                    [CONSTITUENTID],
                                    [NUMBER],
                                    [ISPRIMARY],
                                    [ADDEDBYID],
                                    [CHANGEDBYID],
                                    [DATEADDED],
                                    [DATECHANGED]
                                )
                                values
                                (
                                    @ID,
                                    @PHONENUMBER,
                                    1,
                                    @CHANGEAGENTID,
                                    @CHANGEAGENTID,
                                    @CURRENTDATE,
                                    @CURRENTDATE
                                );
                            end

                        if (coalesce(@EMAILADDRESS,'') <> '')
                            begin
                                insert into dbo.EMAILADDRESS
                                (
                                    [CONSTITUENTID],
                                    [EMAILADDRESS],
                                    [ISPRIMARY],
                                    [ADDEDBYID],
                                    [CHANGEDBYID],
                                    [DATEADDED],
                                    [DATECHANGED]
                                )
                                values
                                (
                                    @ID,
                                    @EMAILADDRESS,
                                    1,
                                    @CHANGEAGENTID,
                                    @CHANGEAGENTID,
                                    @CURRENTDATE,
                                    @CURRENTDATE
                                );
                            end

                        INSERT INTO [dbo].[NAMEFORMAT]
                            (
                                [CONSTITUENTID],
                                [NAMEFORMATTYPECODEID],
                                [NAMEFORMATFUNCTIONID],
                                [ADDEDBYID],
                                [CHANGEDBYID],
                                [DATEADDED],
                                [DATECHANGED],
                                [PRIMARYADDRESSEE],
                                [PRIMARYSALUTATION],
                                [SEQUENCE]
                            )
                            SELECT
                                @ID,
                                NFD.NAMEFORMATTYPECODEID,
                                NFD.NAMEFORMATFUNCTIONID,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE,
                                NFD.PRIMARYADDRESSEE,
                                NFD.PRIMARYSALUTATION,
                                (
                                    select count(ID) 
                                    from dbo.NAMEFORMATDEFAULT as SUBNFD 
                                    where NFD.ID > SUBNFD.ID 
                                    and NFD.APPLYTOCODE = SUBNFD.APPLYTOCODE
                                )
                            FROM dbo.NAMEFORMATDEFAULT as NFD
                            WHERE NFD.APPLYTOCODE = 0

                        if @ADDASRELATIONSHIP = 1
                        begin
                            exec dbo.USP_DATAFORMTEMPLATE_ADD_INDTOIND_RELATIONSHIP_2
                                @CHANGEAGENTID = @CHANGEAGENTID,
                                @CURRENTAPPUSERID = @CURRENTAPPUSERID,
                                @CONSTITUENTID = @SOURCECONSTITUENTID,
                                @RECIPROCALCONSTITUENTID = @ID,
                                @RECIPROCALTYPECODEID = @RECIPROCALTYPECODEID,
                                @RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID,
                                @ISSPOUSE = @ISSPOUSE,
                                @COPYCONTACTINFO = @COPYADDRESS,
                                @KEYNAME = @LASTNAME,
                                @FIRSTNAME = @FIRSTNAME,
                                @MEMBERSOFSAMEHOUSEHOLD = @MEMBERSOFSAMEHOUSEHOLD
                        end

                    end try

                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                    return 0