USP_AUCTIONITEMBATCH_ADDNEWCONSTITUENTFROMXML

Saves a new auction item batch constituent

Parameters

Parameter Parameter Type Mode Description
@NEWCONSTITUENT xml IN
@CHANGEAGENTID uniqueidentifier IN
@NEWCONSTITUENTID uniqueidentifier INOUT

Definition

Copy


            create procedure USP_AUCTIONITEMBATCH_ADDNEWCONSTITUENTFROMXML(@NEWCONSTITUENT xml, @CHANGEAGENTID uniqueidentifier, @NEWCONSTITUENTID uniqueidentifier output)
            as
            begin                
                declare @CURRENTAPPUSERID uniqueidentifier
                declare @ISORGANIZATION bit
                declare @ISGROUP bit
                declare @ISHOUSEHOLD bit
                declare @LASTNAME nvarchar(100)
                declare @FIRSTNAME nvarchar(50)
                declare @MIDDLENAME nvarchar(50)
                declare @MAIDENNAME nvarchar(100)
                declare @NICKNAME nvarchar(50)
                declare @TITLECODEID uniqueidentifier
                declare @SUFFIXCODEID uniqueidentifier
                declare @GENDERCODE tinyint
                declare @BIRTHDATE dbo.UDT_FUZZYDATE
                declare @ADDRESS_ADDRESSTYPECODEID uniqueidentifier
                declare @ADDRESS_DONOTMAIL bit
                declare @ADDRESS_COUNTRYID uniqueidentifier
                declare @ADDRESS_STATEID uniqueidentifier
                declare @ADDRESS_ADDRESSBLOCK nvarchar(150)
                declare @ADDRESS_CITY nvarchar(50)
                declare @ADDRESS_POSTCODE nvarchar(12)
                declare @PHONE_PHONETYPECODEID uniqueidentifier
                declare @PHONE_NUMBER nvarchar(100)
                declare @EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier
                declare @EMAILADDRESS_EMAILADDRESS dbo.UDT_EMAILADDRESS
                declare @MARITALSTATUSCODEID uniqueidentifier
                declare @WEBADDRESS dbo.UDT_WEBADDRESS
                declare @INDUSTRYCODEID uniqueidentifier
                declare @NUMEMPLOYEES int
                declare @NUMSUBSIDIARIES int
                declare @PARENTCORPID uniqueidentifier
                declare @SPOUSEID uniqueidentifier
                declare @EXISTINGSPOUSE bit
                declare @SPOUSE_LASTNAME nvarchar(100)
                declare @SPOUSE_FIRSTNAME nvarchar(50)
                declare @SPOUSE_MIDDLENAME nvarchar(50)
                declare @SPOUSE_MAIDENNAME nvarchar(100)
                declare @SPOUSE_NICKNAME nvarchar(50)
                declare @SPOUSE_TITLECODEID uniqueidentifier
                declare @SPOUSE_SUFFIXCODEID uniqueidentifier
                declare @SPOUSE_GENDERCODE tinyint
                declare @SPOUSE_BIRTHDATE dbo.UDT_FUZZYDATE
                declare @SPOUSE_RECIPROCALTYPECODEID uniqueidentifier
                declare @SPOUSE_RELATIONSHIPTYPECODEID uniqueidentifier
                declare @SPOUSE_ISSPOUSE bit
                declare @COPYPRIMARYINFORMATION bit
                declare @COPYPRIMARYINFORMATIONFORHOUSEHOLD bit
                declare @SPOUSE_STARTDATE datetime
                declare @BUSINESSID uniqueidentifier
                declare @EXISTINGBUSINESS bit
                declare @BUSINESS_NAME nvarchar(100)
                declare @BUSINESS_ADDRESSTYPECODEID uniqueidentifier
                declare @BUSINESS_COUNTRYID uniqueidentifier
                declare @BUSINESS_STATEID uniqueidentifier
                declare @BUSINESS_ADDRESSBLOCK nvarchar(150)
                declare @BUSINESS_CITY nvarchar(50)
                declare @BUSINESS_POSTCODE nvarchar(12)
                declare @BUSINESS_DONOTMAIL bit
                declare @BUSINESS_PHONETYPECODEID uniqueidentifier
                declare @BUSINESS_NUMBER nvarchar(100)
                declare @BUSINESS_RECIPROCALTYPECODEID uniqueidentifier
                declare @BUSINESS_RELATIONSHIPTYPECODEID uniqueidentifier
                declare @BUSINESS_STARTDATE datetime
                declare @ISCONTACT bit
                declare @ISPRIMARYCONTACT bit
                declare @CONTACTTYPECODEID uniqueidentifier
                declare @POSITION nvarchar(50)
                declare @ISMATCHINGGIFTRELATIONSHIP bit
                declare @GIVESANONYMOUSLY bit
                declare @GROUP_DESCRIPTION nvarchar(300)
                declare @GROUP_PRIMARYCONTACT uniqueidentifier
                declare @GROUP_STARTDATE datetime
                declare @GROUP_GROUPTYPEID uniqueidentifier
                declare @HOUSEHOLD_PRIMARYCONTACTID uniqueidentifier
                declare @HOUSEHOLD_PRIMARYCONTACT_KEYNAME nvarchar(100)
                declare @HOUSEHOLD_PRIMARYCONTACT_FIRSTNAME nvarchar(50)
                declare @HOUSEHOLD_PRIMARYCONTACT_MIDDLENAME nvarchar(50)
                declare @HOUSEHOLD_PRIMARYCONTACT_TITLECODEID uniqueidentifier
                declare @HOUSEHOLD_PRIMARYCONTACT_SUFFIXCODEID uniqueidentifier
                declare @HOUSEHOLD_PRIMARYCONTACT_COPYHOUSEHOLDCONTACT bit
                declare @HOUSEHOLD_SECONDMEMBERID uniqueidentifier
                declare @HOUSEHOLD_SECONDMEMBER_KEYNAME nvarchar(100)
                declare @HOUSEHOLD_SECONDMEMBER_FIRSTNAME nvarchar(50)
                declare @HOUSEHOLD_SECONDMEMBER_MIDDLENAME nvarchar(50)
                declare @HOUSEHOLD_SECONDMEMBER_TITLECODEID uniqueidentifier
                declare @HOUSEHOLD_SECONDMEMBER_SUFFIXCODEID uniqueidentifier
                declare @HOUSEHOLD_SECONDMEMBER_COPYHOUSEHOLDCONTACT bit
                declare @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RECIPROCALTYPECODEID uniqueidentifier
                declare @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RELATIONSHIPTYPECODEID uniqueidentifier
                declare @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_STARTDATE datetime
                declare @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_ISSPOUSE bit


                SELECT top 1 
                @NEWCONSTITUENTID=T.c.value('(NEWCONSTITUENTID)[1]','uniqueidentifier'),
                @CURRENTAPPUSERID=T.c.value('(CURRENTAPPUSERID)[1]','uniqueidentifier'),                                        
                @ISORGANIZATION=coalesce(T.c.value('(ISORGANIZATION)[1]','bit'), 0),                                        
                @ISGROUP=coalesce(T.c.value('(ISGROUP)[1]','bit'), 0),                                        
                @ISHOUSEHOLD=coalesce(T.c.value('(ISHOUSEHOLD)[1]','bit'), 0),
                @LASTNAME=coalesce(T.c.value('(LASTNAME)[1]','nvarchar(100)'), ''),
                @FIRSTNAME=coalesce(T.c.value('(FIRSTNAME)[1]','nvarchar(50)'), ''),
                @MIDDLENAME=coalesce(T.c.value('(MIDDLENAME)[1]','nvarchar(50)'), ''),
                @MAIDENNAME=coalesce(T.c.value('(MAIDENNAME)[1]','nvarchar(100)'), ''),
                @NICKNAME=coalesce(T.c.value('(NICKNAME)[1]','nvarchar(50)'), ''),
                @TITLECODEID=T.c.value('(TITLECODEID)[1]','uniqueidentifier'),
                @SUFFIXCODEID=T.c.value('(SUFFIXCODEID)[1]','uniqueidentifier'),
                @GENDERCODE=Coalesce(T.c.value('(GENDERCODE)[1]','tinyint'), 0),
                @BIRTHDATE=coalesce(T.c.value('(BIRTHDATE)[1]','dbo.UDT_FUZZYDATE'), '00000000'),
                @ADDRESS_ADDRESSTYPECODEID=T.c.value('(ADDRESS_ADDRESSTYPECODEID)[1]','uniqueidentifier'),
                @ADDRESS_DONOTMAIL=coalesce(T.c.value('(ADDRESS_DONOTMAIL)[1]','bit'), 0),
                @ADDRESS_COUNTRYID=T.c.value('(ADDRESS_COUNTRYID)[1]','uniqueidentifier'),
                @ADDRESS_STATEID=T.c.value('(ADDRESS_STATEID)[1]','uniqueidentifier'),
                @ADDRESS_ADDRESSBLOCK=coalesce(T.c.value('(ADDRESS_ADDRESSBLOCK)[1]','nvarchar(150)'), ''),
                @ADDRESS_CITY=coalesce(T.c.value('(ADDRESS_CITY)[1]','nvarchar(50)'), ''),
                @ADDRESS_POSTCODE=coalesce(T.c.value('(ADDRESS_POSTCODE)[1]','nvarchar(12)'), ''),
                @PHONE_PHONETYPECODEID=T.c.value('(PHONE_PHONETYPECODEID)[1]','uniqueidentifier'),
                @PHONE_NUMBER=coalesce(T.c.value('(PHONE_NUMBER)[1]','nvarchar(100)'), ''),
                @EMAILADDRESS_EMAILADDRESSTYPECODEID=T.c.value('(EMAILADDRESS_EMAILADDRESSTYPECODEID)[1]','uniqueidentifier'),
                @EMAILADDRESS_EMAILADDRESS=coalesce(T.c.value('(EMAILADDRESS_EMAILADDRESS)[1]','dbo.UDT_EMAILADDRESS'), ''),
                @MARITALSTATUSCODEID=T.c.value('(MARITALSTATUSCODEID)[1]','uniqueidentifier'),
                @WEBADDRESS=coalesce(T.c.value('(WEBADDRESS)[1]','dbo.UDT_WEBADDRESS'), ''),
                @INDUSTRYCODEID=T.c.value('(INDUSTRYCODEID)[1]','uniqueidentifier'),
                @NUMEMPLOYEES=coalesce(T.c.value('(NUMEMPLOYEES)[1]','int'), 0),
                @NUMSUBSIDIARIES=coalesce(T.c.value('(NUMSUBSIDIARIES)[1]','int'), 0),
                @PARENTCORPID=T.c.value('(PARENTCORPID)[1]','uniqueidentifier'),
                @SPOUSEID=T.c.value('(SPOUSEID)[1]','uniqueidentifier'),
                @EXISTINGSPOUSE=coalesce(T.c.value('(EXISTINGSPOUSE)[1]','bit'), 0),
                @SPOUSE_LASTNAME=coalesce(T.c.value('(SPOUSE_LASTNAME)[1]','nvarchar(100)'), ''),
                @SPOUSE_FIRSTNAME=coalesce(T.c.value('(SPOUSE_FIRSTNAME)[1]','nvarchar(50)'), ''),
                @SPOUSE_MIDDLENAME=coalesce(T.c.value('(SPOUSE_MIDDLENAME)[1]','nvarchar(50)'), ''),
                @SPOUSE_MAIDENNAME=coalesce(T.c.value('(SPOUSE_MAIDENNAME)[1]','nvarchar(100)'), ''),
                @SPOUSE_NICKNAME=coalesce(T.c.value('(SPOUSE_NICKNAME)[1]','nvarchar(50)'), ''),
                @SPOUSE_TITLECODEID=T.c.value('(SPOUSE_TITLECODEID)[1]','uniqueidentifier'),
                @SPOUSE_SUFFIXCODEID=T.c.value('(SPOUSE_SUFFIXCODEID)[1]','uniqueidentifier'),
                @SPOUSE_GENDERCODE=coalesce(T.c.value('(SPOUSE_GENDERCODE)[1]','tinyint'), 0),
                @SPOUSE_BIRTHDATE=coalesce(T.c.value('(SPOUSE_BIRTHDATE)[1]','dbo.UDT_FUZZYDATE'), '00000000'),
                @SPOUSE_RECIPROCALTYPECODEID=coalesce(T.c.value('(SPOUSE_RECIPROCALTYPECODEID)[1]','uniqueidentifier'),T.c.value('(SPOUSE_RECIPROCALTYPECODEIDSIMPLELIST)[1]','uniqueidentifier')),
                @SPOUSE_RELATIONSHIPTYPECODEID=coalesce(T.c.value('(SPOUSE_RELATIONSHIPTYPECODEID)[1]','uniqueidentifier'),T.c.value('(SPOUSE_RELATIONSHIPTYPECODEIDSIMPLELIST)[1]','uniqueidentifier')),
                @SPOUSE_ISSPOUSE=T.c.value('(SPOUSE_ISSPOUSE)[1]','bit'),
                @COPYPRIMARYINFORMATION=coalesce(T.c.value('(COPYPRIMARYINFORMATION)[1]','bit'), 0),
                @COPYPRIMARYINFORMATIONFORHOUSEHOLD=T.c.value('(COPYPRIMARYINFORMATIONFORHOUSEHOLD)[1]','bit'),
                @SPOUSE_STARTDATE=T.c.value('(SPOUSE_STARTDATE)[1]','datetime'),
                @BUSINESSID=T.c.value('(BUSINESSID)[1]','uniqueidentifier'),
                @EXISTINGBUSINESS=coalesce(T.c.value('(EXISTINGBUSINESS)[1]','bit'), 0),
                @BUSINESS_NAME=coalesce(T.c.value('(BUSINESS_NAME)[1]','nvarchar(100)'), ''),
                @BUSINESS_ADDRESSTYPECODEID=T.c.value('(BUSINESS_ADDRESSTYPECODEID)[1]','uniqueidentifier'),
                @BUSINESS_COUNTRYID=T.c.value('(BUSINESS_COUNTRYID)[1]','uniqueidentifier'),
                @BUSINESS_STATEID=T.c.value('(BUSINESS_STATEID)[1]','uniqueidentifier'),
                @BUSINESS_ADDRESSBLOCK=coalesce(T.c.value('(BUSINESS_ADDRESSBLOCK)[1]','nvarchar(150)'), ''),
                @BUSINESS_CITY=coalesce(T.c.value('(BUSINESS_CITY)[1]','nvarchar(50)'), ''),
                @BUSINESS_POSTCODE=coalesce(T.c.value('(BUSINESS_POSTCODE)[1]','nvarchar(12)'), ''),
                @BUSINESS_DONOTMAIL=coalesce(T.c.value('(BUSINESS_DONOTMAIL)[1]','bit'), 0),
                @BUSINESS_PHONETYPECODEID=T.c.value('(BUSINESS_PHONETYPECODEID)[1]','uniqueidentifier'),
                @BUSINESS_NUMBER=coalesce(T.c.value('(BUSINESS_NUMBER)[1]','nvarchar(100)'), ''),
                @BUSINESS_RECIPROCALTYPECODEID=coalesce(T.c.value('(BUSINESS_RECIPROCALTYPECODEID)[1]','uniqueidentifier'),T.c.value('(BUSINESS_RECIPROCALTYPECODEIDSIMPLELIST)[1]','uniqueidentifier')),
                @BUSINESS_RELATIONSHIPTYPECODEID=coalesce(T.c.value('(BUSINESS_RELATIONSHIPTYPECODEID)[1]','uniqueidentifier'),T.c.value('(BUSINESS_RELATIONSHIPTYPECODEIDSIMPLELIST)[1]','uniqueidentifier')),
                @BUSINESS_STARTDATE=T.c.value('(BUSINESS_STARTDATE)[1]','datetime'),
                @ISCONTACT=coalesce(T.c.value('(ISCONTACT)[1]','bit'), 0),
                @ISPRIMARYCONTACT=coalesce(T.c.value('(ISPRIMARYCONTACT)[1]','bit'), 0),
                @CONTACTTYPECODEID=T.c.value('(CONTACTTYPECODEID)[1]','uniqueidentifier'),
                @POSITION=coalesce(T.c.value('(POSITION)[1]','nvarchar(50)'), ''),
                @ISMATCHINGGIFTRELATIONSHIP=coalesce(T.c.value('(ISMATCHINGGIFTRELATIONSHIP)[1]','bit'), 0),
                @GIVESANONYMOUSLY=coalesce(T.c.value('(GIVESANONYMOUSLY)[1]','bit'), 0),
                @GROUP_DESCRIPTION=coalesce(T.c.value('(GROUP_DESCRIPTION)[1]','nvarchar(300)'), ''),
                @GROUP_PRIMARYCONTACT=T.c.value('(GROUP_PRIMARYCONTACT)[1]','uniqueidentifier'),
                @GROUP_STARTDATE=T.c.value('(GROUP_STARTDATE)[1]','datetime'),
                @GROUP_GROUPTYPEID=T.c.value('(GROUP_GROUPTYPEID)[1]','uniqueidentifier'),
                @HOUSEHOLD_PRIMARYCONTACTID=T.c.value('(HOUSEHOLD_PRIMARYCONTACTID)[1]','uniqueidentifier'),
                @HOUSEHOLD_PRIMARYCONTACT_KEYNAME=T.c.value('(HOUSEHOLD_PRIMARYCONTACT_KEYNAME)[1]','nvarchar(100)'),
                @HOUSEHOLD_PRIMARYCONTACT_FIRSTNAME=coalesce(T.c.value('(HOUSEHOLD_PRIMARYCONTACT_FIRSTNAME)[1]','nvarchar(50)'), ''),
                @HOUSEHOLD_PRIMARYCONTACT_MIDDLENAME=coalesce(T.c.value('(HOUSEHOLD_PRIMARYCONTACT_MIDDLENAME)[1]','nvarchar(50)'), ''),
                @HOUSEHOLD_PRIMARYCONTACT_TITLECODEID=T.c.value('(HOUSEHOLD_PRIMARYCONTACT_TITLECODEID)[1]','uniqueidentifier'),
                @HOUSEHOLD_PRIMARYCONTACT_SUFFIXCODEID=T.c.value('(HOUSEHOLD_PRIMARYCONTACT_SUFFIXCODEID)[1]','uniqueidentifier'),
                @HOUSEHOLD_PRIMARYCONTACT_COPYHOUSEHOLDCONTACT=coalesce(T.c.value('(HOUSEHOLD_PRIMARYCONTACT_COPYHOUSEHOLDCONTACT)[1]','bit'), 0),
                @HOUSEHOLD_SECONDMEMBERID=T.c.value('(HOUSEHOLD_SECONDMEMBERID)[1]','uniqueidentifier'),
                @HOUSEHOLD_SECONDMEMBER_KEYNAME=coalesce(T.c.value('(HOUSEHOLD_SECONDMEMBER_KEYNAME)[1]','nvarchar(100)'), ''),
                @HOUSEHOLD_SECONDMEMBER_FIRSTNAME=coalesce(T.c.value('(HOUSEHOLD_SECONDMEMBER_FIRSTNAME)[1]','nvarchar(50)'), ''),
                @HOUSEHOLD_SECONDMEMBER_MIDDLENAME=coalesce(T.c.value('(HOUSEHOLD_SECONDMEMBER_MIDDLENAME)[1]','nvarchar(50)'), ''),
                @HOUSEHOLD_SECONDMEMBER_TITLECODEID=T.c.value('(HOUSEHOLD_SECONDMEMBER_TITLECODEID)[1]','uniqueidentifier'),
                @HOUSEHOLD_SECONDMEMBER_SUFFIXCODEID=T.c.value('(HOUSEHOLD_SECONDMEMBER_SUFFIXCODEID)[1]','uniqueidentifier'),
                @HOUSEHOLD_SECONDMEMBER_COPYHOUSEHOLDCONTACT=coalesce(T.c.value('(HOUSEHOLD_SECONDMEMBER_COPYHOUSEHOLDCONTACT)[1]','bit'), 0),
                @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RECIPROCALTYPECODEID=coalesce(T.c.value('(HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RECIPROCALTYPECODEID)[1]','uniqueidentifier'),T.c.value('(HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RECIPROCALTYPECODEIDSIMPLELIST)[1]','uniqueidentifier')),
                @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RELATIONSHIPTYPECODEID=coalesce(T.c.value('(HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RELATIONSHIPTYPECODEID)[1]','uniqueidentifier'),T.c.value('(HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RELATIONSHIPTYPECODEIDSIMPLELIST)[1]','uniqueidentifier')),
                @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_STARTDATE=T.c.value('(HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_STARTDATE)[1]','datetime'),
                @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_ISSPOUSE=coalesce(T.c.value('(HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_ISSPOUSE)[1]','bit'), 0)
                FROM @NEWCONSTITUENT.nodes('/NEWCONSTITUENT/ITEM') T(c)

                if @NEWCONSTITUENTID is null
                    set @NEWCONSTITUENTID = newID();
        if (@WEBADDRESS is not null) and len(@WEBADDRESS) > 0           
          begin
            declare @WEBADDRESSVALID as bit;
            select @WEBADDRESSVALID = dbo.UFN_VALIDWEBADDRESS(@WEBADDRESS);
            if @WEBADDRESSVALID = 0
              begin
                select @WEBADDRESSVALID = dbo.UFN_VALIDWEBADDRESS('http://' + @WEBADDRESS)
                if @WEBADDRESSVALID = 1
                  set @WEBADDRESS = 'http://' + @WEBADDRESS;
              end
          end

        --JamesWill 2009-09-02 WI52852 Default the country if any part of an address is specified but the country is null

        if (@ADDRESS_STATEID is not null or len(@ADDRESS_ADDRESSBLOCK) > 0 or len(@ADDRESS_CITY) > 0 or len(@ADDRESS_POSTCODE) > 0)
            if @ADDRESS_COUNTRYID is null
                select @ADDRESS_COUNTRYID = dbo.UFN_COUNTRY_GETDEFAULT();

        if (@BUSINESS_STATEID is not null or len(@BUSINESS_ADDRESSBLOCK) > 0 or len(@BUSINESS_CITY) > 0 or len(@BUSINESS_POSTCODE) > 0)
            if @BUSINESS_COUNTRYID is null
                select @BUSINESS_COUNTRYID = dbo.UFN_COUNTRY_GETDEFAULT();

                -- To the user, groups and households are distinct items.  However, internally households are a type of groups

                -- so set ISGROUP to true if ISHOUSEHOLD is already true.

                if @ISGROUP = 0 and @ISHOUSEHOLD = 1
                    set @ISGROUP = 1

                if @ISGROUP = 0
                    exec USP_AUCTIONITEMBATCH_CONSTITUENT_ADD @NEWCONSTITUENTID output,@CURRENTAPPUSERID,@CHANGEAGENTID,@ISORGANIZATION,@LASTNAME,@FIRSTNAME,@MIDDLENAME,@MAIDENNAME,@NICKNAME,@TITLECODEID,@SUFFIXCODEID,@GENDERCODE,@BIRTHDATE,
                        @ADDRESS_ADDRESSTYPECODEID,@ADDRESS_DONOTMAIL,@ADDRESS_COUNTRYID,@ADDRESS_STATEID,@ADDRESS_ADDRESSBLOCK,@ADDRESS_CITY,@ADDRESS_POSTCODE,
                        1,'','','',null,null,null,'',0,
                        @PHONE_PHONETYPECODEID,@PHONE_NUMBER,@EMAILADDRESS_EMAILADDRESSTYPECODEID,@EMAILADDRESS_EMAILADDRESS,
                        @MARITALSTATUSCODEID,@WEBADDRESS,@INDUSTRYCODEID,@NUMEMPLOYEES,@NUMSUBSIDIARIES,@PARENTCORPID,@SPOUSEID,@SPOUSE_LASTNAME,@SPOUSE_FIRSTNAME,@SPOUSE_MIDDLENAME,@SPOUSE_MAIDENNAME,@SPOUSE_NICKNAME,@SPOUSE_TITLECODEID,@SPOUSE_SUFFIXCODEID,@SPOUSE_GENDERCODE,@SPOUSE_BIRTHDATE,
                        @SPOUSE_RECIPROCALTYPECODEID,@SPOUSE_RELATIONSHIPTYPECODEID,@COPYPRIMARYINFORMATION,@SPOUSE_STARTDATE,null,null,null,null,@BUSINESSID,@BUSINESS_NAME,@BUSINESS_ADDRESSTYPECODEID,@BUSINESS_COUNTRYID,@BUSINESS_STATEID,@BUSINESS_ADDRESSBLOCK,@BUSINESS_CITY,
                        @BUSINESS_POSTCODE,@BUSINESS_DONOTMAIL,
                        1,'','','',null,null,null,'',0,
                        @BUSINESS_PHONETYPECODEID,@BUSINESS_NUMBER,@BUSINESS_RECIPROCALTYPECODEID,@BUSINESS_RELATIONSHIPTYPECODEID,@BUSINESS_STARTDATE,
                        @ISCONTACT,@ISPRIMARYCONTACT,@CONTACTTYPECODEID,@POSITION,@ISMATCHINGGIFTRELATIONSHIP, @COPYPRIMARYINFORMATIONFORHOUSEHOLD, @SPOUSE_ISSPOUSE
                else
                begin
                    if @ISHOUSEHOLD = 0
                    begin
                        -- If @GROUP_PRIMARYCONTACT is set, wrap the constituent in a collection so they'll be added as a member.

                        declare @MEMBERS xml
                        if @GROUP_PRIMARYCONTACT is not null
                        begin
                            set @MEMBERS = (
                                                select
                                                    @GROUP_PRIMARYCONTACT as MEMBERID,
                                                    1 as [ISPRIMARY]
                                                for xml raw('ITEM'), type, elements, root('MEMBERS'),binary base64
                                            )
                        end

                        exec dbo.USP_AUCTIONITEMBATCH_ADDGROUP 
                            @NEWCONSTITUENTID output
                            @NAME = @LASTNAME
                            @DESCRIPTION = @GROUP_DESCRIPTION
                            @GROUPTYPEID = @GROUP_GROUPTYPEID
                            @GIVESANONYMOUSLY = @GIVESANONYMOUSLY
                            @ADDRESSTYPECODEID = @ADDRESS_ADDRESSTYPECODEID
                            @COUNTRYID = @ADDRESS_COUNTRYID
                            @ADDRESSBLOCK = @ADDRESS_ADDRESSBLOCK
                            @CITY = @ADDRESS_CITY
                            @STATEID = @ADDRESS_STATEID
                            @POSTCODE = @ADDRESS_POSTCODE
                            @PHONETYPECODEID = @PHONE_PHONETYPECODEID
                            @NUMBER = @PHONE_NUMBER
                            @EMAILADDRESSTYPECODEID = @EMAILADDRESS_EMAILADDRESSTYPECODEID
                            @EMAILADDRESS = @EMAILADDRESS_EMAILADDRESS
                            @MEMBERS = @MEMBERS
                            @STARTDATE = @GROUP_STARTDATE
                            @CHANGEAGENTID = @CHANGEAGENTID
                    end
                    else
                    begin
                        exec dbo.USP_AUCTIONITEMBATCH_ADDHOUSEHOLD
                            @NEWCONSTITUENTID output
                            @NAME = @LASTNAME
                            @DESCRIPTION = @GROUP_DESCRIPTION
                            @GIVESANONYMOUSLY = @GIVESANONYMOUSLY
                            @ADDRESS_ADDRESSTYPECODEID = @ADDRESS_ADDRESSTYPECODEID
                            @ADDRESS_COUNTRYID = @ADDRESS_COUNTRYID
                            @ADDRESS_ADDRESSBLOCK = @ADDRESS_ADDRESSBLOCK
                            @ADDRESS_CITY = @ADDRESS_CITY
                            @ADDRESS_STATEID = @ADDRESS_STATEID
                            @ADDRESS_POSTCODE = @ADDRESS_POSTCODE
                            @PHONE_PHONETYPECODEID = @PHONE_PHONETYPECODEID
                            @PHONE_NUMBER = @PHONE_NUMBER
                            @EMAIL_EMAILADDRESSTYPECODEID = @EMAILADDRESS_EMAILADDRESSTYPECODEID
                            @EMAIL_EMAILADDRESS = @EMAILADDRESS_EMAILADDRESS
                            @PRIMARYCONTACTID = @HOUSEHOLD_PRIMARYCONTACTID
                            @PRIMARYCONTACT_KEYNAME = @HOUSEHOLD_PRIMARYCONTACT_KEYNAME
                            @PRIMARYCONTACT_FIRSTNAME = @HOUSEHOLD_PRIMARYCONTACT_FIRSTNAME
                            @PRIMARYCONTACT_MIDDLENAME = @HOUSEHOLD_PRIMARYCONTACT_MIDDLENAME
                            @PRIMARYCONTACT_TITLECODEID = @HOUSEHOLD_PRIMARYCONTACT_TITLECODEID
                            @PRIMARYCONTACT_SUFFIXCODEID = @HOUSEHOLD_PRIMARYCONTACT_SUFFIXCODEID
                            @PRIMARYCONTACT_COPYHOUSEHOLDCONTACT = @HOUSEHOLD_PRIMARYCONTACT_COPYHOUSEHOLDCONTACT
                            @SECONDMEMBERID = @HOUSEHOLD_SECONDMEMBERID
                            @SECONDMEMBER_KEYNAME = @HOUSEHOLD_SECONDMEMBER_KEYNAME
                            @SECONDMEMBER_FIRSTNAME = @HOUSEHOLD_SECONDMEMBER_FIRSTNAME
                            @SECONDMEMBER_MIDDLENAME = @HOUSEHOLD_SECONDMEMBER_MIDDLENAME,
                            @SECONDMEMBER_TITLECODEID = @HOUSEHOLD_SECONDMEMBER_TITLECODEID
                            @SECONDMEMBER_SUFFIXCODEID = @HOUSEHOLD_SECONDMEMBER_SUFFIXCODEID
                            @SECONDMEMBER_COPYHOUSEHOLDCONTACT = @HOUSEHOLD_SECONDMEMBER_COPYHOUSEHOLDCONTACT
                            @SECONDMEMBER_RELATIONSHIP_RECIPROCALTYPECODEID = @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RECIPROCALTYPECODEID
                            @SECONDMEMBER_RELATIONSHIP_RELATIONSHIPTYPECODEID = @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RELATIONSHIPTYPECODEID
                            @SECONDMEMBER_RELATIONSHIP_STARTDATE = @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_STARTDATE
                            @SECONDMEMBER_RELATIONSHIP_ISSPOUSE = @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_ISSPOUSE
                            @CHANGEAGENTID = @CHANGEAGENTID
                    end
                end
            end