USP_DATAFORMTEMPLATE_HOUSEHOLDMEMBER_ADD

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

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@GROUPID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@MEMBERID uniqueidentifier IN Constituent
@LASTNAME nvarchar(100) IN Last name
@FIRSTNAME nvarchar(50) IN First name
@MIDDLENAME nvarchar(50) IN Middle name
@NICKNAME nvarchar(50) IN Nickname
@TITLECODEID uniqueidentifier IN Title
@SUFFIXCODEID uniqueidentifier IN Suffix
@MAIDENNAME nvarchar(100) IN Maiden name
@GENDERCODE tinyint IN Gender
@BIRTHDATE UDT_FUZZYDATE IN Birth date
@RELATIONSHIPTYPECODEID uniqueidentifier IN Relationship type
@RECIPROCALTYPECODEID uniqueidentifier IN Reciprocal type
@STARTDATE datetime IN Start date
@COPYHOUSEHOLDCONTACTINFO bit IN Copy household's primary contact information
@RECOGNIZEMEMBERFORHOUSEHOLD bit IN Recognize member for household gifts
@ADDEDCONSTITUENTTOOTHERMEMBERSRECOGNITION xml IN Added constituent to other members recognition
@ADDEDCONSTITUENTFROMOTHERMEMBERSRECOGNITION xml IN Added constituent from other members recognition
@SKIP_ADDING_SECURITYGROUPS bit IN Skip adding security groups
@SKIP_ADDING_SITES bit IN Skip adding sites
@TITLE2CODEID uniqueidentifier IN Title 2
@SUFFIX2CODEID uniqueidentifier IN Suffix 2
@INFOSOURCECODEID uniqueidentifier IN Constituent source
@GENDERCODEID uniqueidentifier IN

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_HOUSEHOLDMEMBER_ADD
                    (
                        @ID uniqueidentifier = null output,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @GROUPID uniqueidentifier,
                        @MEMBERID uniqueidentifier = null,
                        @LASTNAME nvarchar(100) = null,
                        @FIRSTNAME nvarchar(50) = '',
                        @MIDDLENAME nvarchar(50) = '',
                        @NICKNAME nvarchar(50) = '',
                        @TITLECODEID uniqueidentifier = null,
                        @SUFFIXCODEID uniqueidentifier = null,
                        @MAIDENNAME nvarchar(100) = '',
                        @GENDERCODE tinyint = 0,
                        @BIRTHDATE dbo.UDT_FUZZYDATE = '00000000',
                        @RELATIONSHIPTYPECODEID uniqueidentifier = null,
                        @RECIPROCALTYPECODEID uniqueidentifier = null,
                        @STARTDATE datetime = null,
                        @COPYHOUSEHOLDCONTACTINFO bit = null,
                        @RECOGNIZEMEMBERFORHOUSEHOLD bit = null,
                        @ADDEDCONSTITUENTTOOTHERMEMBERSRECOGNITION xml = null,
                        @ADDEDCONSTITUENTFROMOTHERMEMBERSRECOGNITION xml = null,
                        @SKIP_ADDING_SECURITYGROUPS bit = 0,
                        @SKIP_ADDING_SITES bit = 0,
                        @TITLE2CODEID uniqueidentifier = null,
                        @SUFFIX2CODEID uniqueidentifier = null,
                        @INFOSOURCECODEID uniqueidentifier = null,
                        @GENDERCODEID uniqueidentifier = null
                    )
                    as
                        set nocount on;

                        -- Check security on the member if they chose an existing constituent

                        if @MEMBERID is not null
                        begin
                            declare @ISADMIN bit;
                            declare @APPUSER_IN_NONRACROLE bit;
                            declare @APPUSER_IN_NOSECGROUPROLE bit;
                            declare @APPUSER_IN_NONSITEROLE bit;
                            declare @APPUSER_IN_NOSITEROLE bit;

                            set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);

                            if @ISADMIN = 0
                                set @APPUSER_IN_NONRACROLE = dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE(@CURRENTAPPUSERID);

                            if @ISADMIN = 0 and @APPUSER_IN_NONRACROLE = 0
                                set @APPUSER_IN_NOSECGROUPROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SECURITY_GROUP_ROLE(@CURRENTAPPUSERID);

                            set @APPUSER_IN_NONSITEROLE = dbo.UFN_SECURITY_APPUSER_IN_NONSITEROLE(@CURRENTAPPUSERID);
                            set @APPUSER_IN_NOSITEROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SITE_ROLE(@CURRENTAPPUSERID);

                            if (@ISADMIN = 0 and
                                    (
                                        (@APPUSER_IN_NONRACROLE = 0 and
                                        dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, @MEMBERID, @APPUSER_IN_NOSECGROUPROLE) = 0)
                                        or
                                        (@APPUSER_IN_NONSITEROLE = 0 and
                                        dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT_BYSITE(@CURRENTAPPUSERID, @MEMBERID, @APPUSER_IN_NOSITEROLE) = 0)
                                    )
                                )
                            begin
                                raiserror('BBERR_DB_RECORDSECURITY_PERMISSION_DENIED', 13, 1)
                                return 1
                            end
                        end

                        begin try
                            exec dbo.USP_HOUSEHOLDMEMBERADD @ID output, null, @CHANGEAGENTID, @GROUPID, @MEMBERID output, @LASTNAME, @FIRSTNAME
                                @MIDDLENAME, @NICKNAME, @TITLECODEID, @SUFFIXCODEID, @MAIDENNAME, @GENDERCODE, @BIRTHDATE
                                @RELATIONSHIPTYPECODEID, @RECIPROCALTYPECODEID, @STARTDATE, @COPYHOUSEHOLDCONTACTINFO, @GROUPID, null, 0
                                @RECOGNIZEMEMBERFORHOUSEHOLD, @CURRENTAPPUSERID, 'ea110ccd-d89b-4fce-8398-2054ce1df4ee', @SKIP_ADDING_SECURITYGROUPS
                                @SKIP_ADDING_SITES, @TITLE2CODEID, @SUFFIX2CODEID, @INFOSOURCECODEID, @GENDERCODEID;

                            exec dbo.USP_GETRECOGNITIONDEFAULTSBETWEENMEMBERSBYSOURCE_UPDATEFROMXML @GROUPID, @MEMBERID
                                @ADDEDCONSTITUENTTOOTHERMEMBERSRECOGNITION, @CHANGEAGENTID

                            exec dbo.USP_GETRECOGNITIONDEFAULTSBETWEENMEMBERSBYRECIPIENT_UPDATEFROMXML @GROUPID, @MEMBERID
                                @ADDEDCONSTITUENTFROMOTHERMEMBERSRECOGNITION, @CHANGEAGENTID
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;