asked on
<cfquery result="insertPerson" datasource="gm">
INSERT INTO person (first, last, entity_name)
VALUES ('#getDonations.firstname#', '#getDonations.lastname#', '#getDonations.organization#')
</cfquery>
<cfset local.personKey = insertPerson["GENERATED_KEY"] />
<!--- get state_id --->
<cfquery name="getState" datasource="gm">
SELECT id
FROM ref_state
WHERE abbr = '#getDonations.state#'
</cfquery>
<!--- insert address1, city, state_id, country_id, postalcode into address --->
<cfquery result="insertAddress" datasource="gm">
INSERT INTO address (address1, city, state_id, postalcode1)
VALUES ('#getDonations.address1#', '#getDonations.city#', '#getState.id#', '#getDonations.postalcode#')
</cfquery>
<!--- insert into person_addresses --->
<cfquery result="insertAddress" datasource="gm">
INSERT INTO person_address (person_id, address_id, type_id)
VALUES (#local.personKey#, #insertAddress["GENERATED_KEY"]#, 1)
</cfquery>
<cfset local.personKey = insertPerson["GENERATED_KEY"] />
<!--- to get origin_id for person_orgin --->
<cfif NOT isDefined('origin')
OR isDefined('origin') AND structCount(origin) NEQ 2
OR isDefined('origin.name') AND origin.name NEQ uCase(stateIndex)>
<cfquery name="origin" datasource="gm">
SELECT id, name
FROM ref_origin
WHERE name = '#uCase(stateIndex)#'
</cfquery>
</cfif>
<!--- insert into person_origin - need origin_id --->
<cfquery result="getPersonOrigin" datasource="gm">
SELECT id
FROM person_origin
WHERE person_id = #local.personKey#
AND origin_id = #origin.id#
</cfquery>
<cfif NOT getPersonOrigin.recordCount>
<cfquery result="insertPersonOrigin" datasource="gm">
INSERT INTO person_origin (person_id, origin_id)
VALUES (#local.personKey#, #origin.id#)
</cfquery>
</cfif>
<!--- insert into ref_global - need campaign_id --->
<cftry>
<cfquery result="insertGlobal" datasource="gm">
INSERT INTO ref_global (person_id, campaign_id)
VALUES (#local.personKey#, #getDonations.campaign_id#)
</cfquery>
<cfcatch type="database">
<!--- continue process - data already exists --->
</cfcatch>
</cftry>
<cfquery result="insertTag" datasource="gm">
INSERT INTO person_tag (person_id, tag_id)
VALUES (#local.personKey#, 6)
</cfquery>