USP_DATAFORMTEMPLATE_ADD_MEMBER

The save procedure used by the add dataform template "Member Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@MEMBERSHIPID uniqueidentifier IN Membership
@CONSTITUENTID uniqueidentifier IN Constituent

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_MEMBER
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @MEMBERSHIPID uniqueidentifier,
                        @CONSTITUENTID uniqueidentifier
                    )
                    as
                        set nocount on;

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

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

                        declare @MEMBERID uniqueidentifier;
                        declare @ISPRIMARY bit;
                        declare @CURRENTDATE datetime;

                        select
                            @MEMBERID = ID
                        from
                            dbo.MEMBER
                        where
                            MEMBERSHIPID = @MEMBERSHIPID
                            and CONSTITUENTID = @CONSTITUENTID
                            and ISDROPPED = 0;

                        begin try
                            if @MEMBERID is not null
                                raiserror('ERR_MEMBER_EXISTS', 13, 1);

                            if exists (select ID from dbo.MEMBER where MEMBERSHIPID = @MEMBERSHIPID and ISPRIMARY = 1)
                                set @ISPRIMARY = 0;
                            else
                                set @ISPRIMARY = 1;

                            set @CURRENTDATE = getdate();

                            insert into dbo.MEMBER
                            (
                                ID,
                                CONSTITUENTID,
                                MEMBERSHIPID,
                                ISPRIMARY,
                                ISDROPPED,
                                ADDEDBYID,
                                CHANGEDBYID,
                                DATEADDED,
                                DATECHANGED
                            )
                            values
                            (
                                @ID,
                                @CONSTITUENTID,
                                @MEMBERSHIPID,
                                @ISPRIMARY,
                                0,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE
                            );
                        end try

                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;