USP_DATAFORMTEMPLATE_ADD_INDIVIDUALONLYERECORD
The save procedure used by the add dataform template "Individual Record 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. |
@LASTNAME | nvarchar(100) | IN | Last name |
@FIRSTNAME | nvarchar(50) | IN | First name |
@MIDDLENAME | nvarchar(50) | IN | Middle name |
@MAIDENNAME | nvarchar(100) | IN | Maiden name |
@NICKNAME | nvarchar(50) | IN | Nickname |
@TITLECODEID | uniqueidentifier | IN | Title |
@SUFFIXCODEID | uniqueidentifier | IN | Suffix |
@GENDERCODE | tinyint | IN | Gender |
@BIRTHDATE | UDT_FUZZYDATE | IN | Birth date |
@PICTURE | varbinary | IN | Image |
@PICTURETHUMBNAIL | varbinary | IN | |
@WEBADDRESS | UDT_WEBADDRESS | IN | Website |
@ADDRESS_ADDRESSTYPECODEID | uniqueidentifier | IN | Address type |
@ADDRESS_DONOTMAIL | bit | IN | Do not send mail to this address |
@ADDRESS_COUNTRYID | uniqueidentifier | IN | Country |
@ADDRESS_STATEID | uniqueidentifier | IN | State |
@ADDRESS_ADDRESSBLOCK | nvarchar(150) | IN | Address |
@ADDRESS_CITY | nvarchar(50) | IN | City |
@ADDRESS_POSTCODE | nvarchar(12) | IN | ZIP |
@PHONE_PHONETYPECODEID | uniqueidentifier | IN | Phone type |
@PHONE_NUMBER | nvarchar(100) | IN | Phone number |
@EMAILADDRESS_EMAILADDRESSTYPECODEID | uniqueidentifier | IN | Email type |
@EMAILADDRESS_EMAILADDRESS | UDT_EMAILADDRESS | IN | Email address |
@SKIP_ADDING_SECURITYGROUPS | bit | IN | Skip adding security groups |
@MARITALSTATUSCODEID | uniqueidentifier | IN | Marital status |
@JOBTITLE | nvarchar(100) | IN | Job title |
@OMITFROMVALIDATION | bit | IN | Omit from validation |
@CART | nvarchar(10) | IN | |
@DPC | nvarchar(8) | IN | |
@LOT | nvarchar(5) | IN | |
@COUNTYCODEID | uniqueidentifier | IN | |
@CONGRESSIONALDISTRICTCODEID | uniqueidentifier | IN | |
@LASTVALIDATIONATTEMPTDATE | datetime | IN | |
@VALIDATIONMESSAGE | nvarchar(200) | IN | |
@CERTIFICATIONDATA | int | IN | |
@SKIP_ADDING_SITES | bit | IN | Skip adding sites |
@ADDRESS_DONOTMAILREASONCODEID | uniqueidentifier | IN | Reason |
@TITLE2CODEID | uniqueidentifier | IN | Title 2 |
@SUFFIX2CODEID | uniqueidentifier | IN | Suffix 2 |
@INFOSOURCECODEID | uniqueidentifier | IN | Information source |
@ORIGINCODE | tinyint | IN | |
@GENDERCODEID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_INDIVIDUALONLYERECORD
(
@ID uniqueidentifier = null output,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@LASTNAME nvarchar(100),
@FIRSTNAME nvarchar(50) = '',
@MIDDLENAME nvarchar(50) = '',
@MAIDENNAME nvarchar(100) = '',
@NICKNAME nvarchar(50) = '',
@TITLECODEID uniqueidentifier = null,
@SUFFIXCODEID uniqueidentifier = null,
@GENDERCODE tinyint = 0,
@BIRTHDATE dbo.UDT_FUZZYDATE = '00000000',
@PICTURE varbinary(max) = null,
@PICTURETHUMBNAIL varbinary(max) = null,
@WEBADDRESS dbo.UDT_WEBADDRESS = '',
@ADDRESS_ADDRESSTYPECODEID uniqueidentifier = null,
@ADDRESS_DONOTMAIL bit = 0,
@ADDRESS_COUNTRYID uniqueidentifier = null,
@ADDRESS_STATEID uniqueidentifier = null,
@ADDRESS_ADDRESSBLOCK nvarchar(150) = '',
@ADDRESS_CITY nvarchar(50) = '',
@ADDRESS_POSTCODE nvarchar(12) = '',
@PHONE_PHONETYPECODEID uniqueidentifier = null,
@PHONE_NUMBER nvarchar(100) = '',
@EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier = null,
@EMAILADDRESS_EMAILADDRESS dbo.UDT_EMAILADDRESS = '',
@SKIP_ADDING_SECURITYGROUPS bit=0,
@MARITALSTATUSCODEID uniqueidentifier = null,
@JOBTITLE nvarchar(100) = '',
@OMITFROMVALIDATION bit = 0,
@CART nvarchar(10) = '',
@DPC nvarchar(8) = '',
@LOT nvarchar(5) = '',
@COUNTYCODEID uniqueidentifier = null,
@CONGRESSIONALDISTRICTCODEID uniqueidentifier = null,
@LASTVALIDATIONATTEMPTDATE datetime = null,
@VALIDATIONMESSAGE nvarchar(200) = '',
@CERTIFICATIONDATA integer = 0,
@SKIP_ADDING_SITES bit = 0,
@ADDRESS_DONOTMAILREASONCODEID uniqueidentifier = null,
@TITLE2CODEID uniqueidentifier = null,
@SUFFIX2CODEID uniqueidentifier = null,
@INFOSOURCECODEID uniqueidentifier = null,
@ORIGINCODE tinyint = 0,
@GENDERCODEID uniqueidentifier = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
if @ADDRESS_DONOTMAIL = 0
set @ADDRESS_DONOTMAILREASONCODEID = null
if @ORIGINCODE <> 0
set @INFOSOURCECODEID = null
begin try
insert into dbo.CONSTITUENT
(
[ID],
[ISORGANIZATION],
[KEYNAME],
[FIRSTNAME],
[MIDDLENAME],
[MAIDENNAME],
[NICKNAME],
[TITLECODEID],
[TITLE2CODEID],
[SUFFIXCODEID],
[SUFFIX2CODEID],
[GENDERCODE],
[BIRTHDATE],
[PICTURE],
[PICTURETHUMBNAIL],
[WEBADDRESS],
[MARITALSTATUSCODEID],
[ISCONSTITUENT],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[GENDERCODEID]
)
values
(
@ID,
0, -- ISORGANIZATION
@LASTNAME,
@FIRSTNAME,
@MIDDLENAME,
@MAIDENNAME,
@NICKNAME,
@TITLECODEID,
@TITLE2CODEID,
@SUFFIXCODEID,
@SUFFIX2CODEID,
@GENDERCODE,
@BIRTHDATE,
@PICTURE,
@PICTURETHUMBNAIL,
@WEBADDRESS,
@MARITALSTATUSCODEID,
1, -- ISCONSTITUENT
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@GENDERCODEID
);
--If the origin is Web Forms, we want to label the constituent now regardless of first revenue
if @ORIGINCODE = 1
begin
insert dbo.[CONSTITUENTORIGINATION] (
[ID],
[ORIGINCODE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values (
@ID,
@ORIGINCODE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
end
/*JOBTITLE*/
if len(@JOBTITLE) > 0
insert into dbo.CONSTITUENTJOBINFO (ID, JOBTITLE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@ID, @JOBTITLE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
if
(
(@ADDRESS_STATEID is not null)
or (coalesce(@ADDRESS_ADDRESSBLOCK,'') <> '')
or (coalesce(@ADDRESS_CITY,'') <> '')
or (coalesce(@ADDRESS_POSTCODE,'') <> '')
or (@ADDRESS_ADDRESSTYPECODEID is not null)
or (@ADDRESS_COUNTRYID is not null)
or (@ADDRESS_DONOTMAIL = 1)
or (@ADDRESS_DONOTMAILREASONCODEID is not null)
)
begin
declare @ADDRESSID uniqueidentifier;
set @ADDRESSID = newID();
insert into dbo.[ADDRESS]
(
[ID],
[CONSTITUENTID],
[ADDRESSTYPECODEID],
[ISPRIMARY],
[DONOTMAIL],
[COUNTRYID],
[STATEID],
[ADDRESSBLOCK],
[CITY],
[POSTCODE],
[CART],
[DPC],
[LOT],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[DONOTMAILREASONCODEID]
)
values
(
@ADDRESSID,
@ID,
@ADDRESS_ADDRESSTYPECODEID,
1,
@ADDRESS_DONOTMAIL,
@ADDRESS_COUNTRYID,
@ADDRESS_STATEID,
@ADDRESS_ADDRESSBLOCK,
@ADDRESS_CITY,
@ADDRESS_POSTCODE,
@CART,
@DPC,
@LOT,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@ADDRESS_DONOTMAILREASONCODEID
);
insert into dbo.ADDRESSVALIDATIONUPDATE
(
[ID],
[COUNTYCODEID],
[CONGRESSIONALDISTRICTCODEID],
[LASTVALIDATIONATTEMPTDATE],
[VALIDATIONMESSAGE],
[CERTIFICATIONDATA],
[OMITFROMVALIDATION],
[ORIGINCODE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[INFOSOURCECODEID]
)
values
(
@ADDRESSID,
@COUNTYCODEID,
@CONGRESSIONALDISTRICTCODEID,
@CURRENTDATE,
@VALIDATIONMESSAGE,
@CERTIFICATIONDATA,
@OMITFROMVALIDATION,
@ORIGINCODE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@INFOSOURCECODEID
);
end
/*Start Primary Phone */
if (@PHONE_PHONETYPECODEID is not null) or (coalesce(@PHONE_NUMBER,'') <> '')
begin
insert into dbo.[PHONE]
(
[CONSTITUENTID],
[PHONETYPECODEID],
[NUMBER],
[ISPRIMARY],
[ORIGINCODE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[INFOSOURCECODEID]
)
values
(
@ID,
@PHONE_PHONETYPECODEID,
@PHONE_NUMBER,
1,
@ORIGINCODE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@INFOSOURCECODEID
);
end
/*End Primary Phone */
/*Start Primary Email Address */
if (@EMAILADDRESS_EMAILADDRESSTYPECODEID is not null) or (coalesce(@EMAILADDRESS_EMAILADDRESS,'') <> '')
begin
insert into dbo.[EMAILADDRESS]
(
[CONSTITUENTID],
[EMAILADDRESSTYPECODEID],
[EMAILADDRESS],
[ISPRIMARY],
[ORIGINCODE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[INFOSOURCECODEID]
)
values
(
@ID,
@EMAILADDRESS_EMAILADDRESSTYPECODEID,
@EMAILADDRESS_EMAILADDRESS,
1,
@ORIGINCODE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@INFOSOURCECODEID
);
end
/*End Primary Email Address */
/*Start security groups*/
if COALESCE(@SKIP_ADDING_SECURITYGROUPS,0) = 0
BEGIN
exec dbo.USP_CONSTITUENT_ASSIGNSECURITYGROUPS_FORNEWRECORD
@APPUSERID =@CURRENTAPPUSERID,
@DATAFORMTEMPLATEID='B4A8C2CB-FE50-4c50-A587-DC3C409B0E6A',
@CONSTITUENTID =@ID,
@DATEADDEDTOUSE =@CURRENTDATE,
@CHANGEAGENTID = @CHANGEAGENTID;
END
/*end security groups*/
if coalesce(@SKIP_ADDING_SITES,0) = 0
exec dbo.USP_CONSTITUENT_ASSIGNSITES_FORNEWRECORD
@APPUSERID = @CURRENTAPPUSERID,
@DATAFORMTEMPLATEID = 'B4A8C2CB-FE50-4c50-A587-DC3C409B0E6A',
@CONSTITUENTID = @ID,
@DATEADDEDTOUSE = @CURRENTDATE,
@CHANGEAGENTID = @CHANGEAGENTID;
/*Start name format defaults*/
INSERT INTO [dbo].[NAMEFORMAT]
([CONSTITUENTID]
,[NAMEFORMATTYPECODEID]
,[NAMEFORMATFUNCTIONID]
,[ADDEDBYID]
,[CHANGEDBYID]
,[DATEADDED]
,[DATECHANGED]
,[PRIMARYADDRESSEE]
,[PRIMARYSALUTATION]
,[SEQUENCE])
SELECT
@ID
,NFD.NAMEFORMATTYPECODEID
,NFD.NAMEFORMATFUNCTIONID
,@CHANGEAGENTID
,@CHANGEAGENTID
,@CURRENTDATE
,@CURRENTDATE
,NFD.PRIMARYADDRESSEE
,NFD.PRIMARYSALUTATION
,(select count(ID)
from dbo.NAMEFORMATDEFAULT as SUBNFD
where NFD.ID > SUBNFD.ID
and NFD.APPLYTOCODE = SUBNFD.APPLYTOCODE)
FROM dbo.NAMEFORMATDEFAULT as NFD
WHERE NFD.APPLYTOCODE = 0
/*End name format defaults*/
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;