USP_DATAFORMTEMPLATE_EDIT_CONSTITUENTNAMEFORMAT

The save procedure used by the edit dataform template "Constituent Name Format Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@NAMEFORMATFUNCTIONID uniqueidentifier IN Name
@NAMEFORMATTYPECODEID uniqueidentifier IN Type
@PRIMARYADDRESSEE bit IN Primary addressee
@PRIMARYSALUTATION bit IN Primary salutation
@CUSTOMNAME nvarchar(700) IN Custom name
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@SITEID uniqueidentifier IN Site

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_CONSTITUENTNAMEFORMAT
                    (
                        @ID uniqueidentifier,
                        @NAMEFORMATFUNCTIONID uniqueidentifier,
                        @NAMEFORMATTYPECODEID uniqueidentifier,
                        @PRIMARYADDRESSEE bit,
                        @PRIMARYSALUTATION bit,
                        @CUSTOMNAME nvarchar(700),
                        @CHANGEAGENTID uniqueidentifier = null,
                        @SITEID uniqueidentifier
                    )
                    as
                        set nocount on

                        declare @CURRENTDATE datetime;
                        set @CURRENTDATE = getdate();

                        declare @CONSTITUENTID uniqueidentifier;
                        select @CONSTITUENTID = CONSTITUENTID from dbo.NAMEFORMAT where ID = @ID;

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

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

                        begin try
                            if @PRIMARYADDRESSEE = 1
                                update 
                                    dbo.NAMEFORMAT
                                set
                                    PRIMARYADDRESSEE = 0,
                                    CHANGEDBYID = @CHANGEAGENTID,
                                    DATECHANGED = @CURRENTDATE
                                where
                                    CONSTITUENTID = @CONSTITUENTID and
                                    PRIMARYADDRESSEE = 1 and
                                    ID <> @ID;

                            if @PRIMARYSALUTATION = 1
                                update 
                                    dbo.NAMEFORMAT
                                set
                                    PRIMARYSALUTATION = 0,
                                    CHANGEDBYID = @CHANGEAGENTID,
                                    DATECHANGED = @CURRENTDATE
                                where
                                    CONSTITUENTID = @CONSTITUENTID and
                                    PRIMARYSALUTATION = 1 and
                                    ID <> @ID;

                            update 
                                dbo.NAMEFORMAT 
                            set
                                NAMEFORMATTYPECODEID = @NAMEFORMATTYPECODEID,
                                NAMEFORMATFUNCTIONID = @NAMEFORMATFUNCTIONID,
                                PRIMARYADDRESSEE = @PRIMARYADDRESSEE,
                                PRIMARYSALUTATION = @PRIMARYSALUTATION,
                                CUSTOMNAME = @CUSTOMNAME,
                                DATECHANGED = @CURRENTDATE
                                CHANGEDBYID = @CHANGEAGENTID,
                                SITEID = @SITEID
                            where 
                                ID = @ID
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;                    
                        end catch