USP_DATAFORMTEMPLATE_VIEW_PROFILEFIELDSDATA
The load procedure used by the view dataform template "Constituent Profile View Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@LASTNAME | nvarchar(200) | INOUT | LastName |
@FIRSTNAME | nvarchar(100) | INOUT | FirstName |
@MIDDLENAME | nvarchar(100) | INOUT | MiddleName |
@TITLE | nvarchar(20) | INOUT | Title |
@SUFFIX | nvarchar(20) | INOUT | Suffix |
@NICKNAME | nvarchar(20) | INOUT | NickName |
@MAIDENNAME | nvarchar(20) | INOUT | MaidenName |
@BIRTHDATE | nvarchar(20) | INOUT | BirthDate |
@GENDER | nvarchar(20) | INOUT | Gender |
@MARITALSTATUS | nvarchar(20) | INOUT | MaritalStatus |
@ADDRESSTYPE | nvarchar(20) | INOUT | AddressType |
@COUNTRY | nvarchar(200) | INOUT | Country |
@ADDRESS | nvarchar(200) | INOUT | Address |
@CITY | nvarchar(200) | INOUT | City |
@STATE | nvarchar(200) | INOUT | State |
@POSTCODE | nvarchar(20) | INOUT | PostCode |
@DONOTMAIL | nvarchar(20) | INOUT | DoNotMail |
@DONOTMAILREASON | nvarchar(200) | INOUT | DoNotMailReason |
@PHONETYPE | nvarchar(20) | INOUT | PhoneType |
@PHONENUMBER | nvarchar(20) | INOUT | PhoneNumber |
@EMAILTYPE | nvarchar(200) | INOUT | EmailType |
@EMAILADDRESS | nvarchar(200) | INOUT | EmailAddress |
@USERNAME | nvarchar(200) | INOUT | UserName |
@PASSWORD | nvarchar(200) | INOUT | Password |
@NAME | nvarchar(308) | INOUT | NAME |
@BILLINGADDRESS | nvarchar(200) | INOUT | Billing address |
@BILLINGCOUNTRY | nvarchar(100) | INOUT | Billing country |
@BILLINGCITY | nvarchar(50) | INOUT | Billing city |
@BILLINGSTATE | nvarchar(100) | INOUT | Billing state |
@BILLINGZIP | nvarchar(12) | INOUT | Billing ZIP |
@ENEWSLETTERSIGNUP | nvarchar(1000) | INOUT | eNewsletter sign-up |
@SHIPPINGADDRESS | nvarchar(200) | INOUT | Shipping Address |
@SHIPPINGCITY | nvarchar(50) | INOUT | Shipping city |
@SHIPPINGSTATE | nvarchar(100) | INOUT | Shipping state |
@SHIPPINGZIP | nvarchar(12) | INOUT | Shipping ZIP |
@LASTLOGINDATE | datetime | INOUT | Last login date |
@COMMENTS | nvarchar(2000) | INOUT | Comments |
@RELATEDORGANIZATION | nvarchar(200) | INOUT | Related Organization |
@MANGEEMAILPREFERENCESURL | nvarchar(500) | INOUT | Mange email preferences URL |
@CONSTITUENTID | uniqueidentifier | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_PROFILEFIELDSDATA(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@LASTNAME nvarchar(200) = null output,
@FIRSTNAME nvarchar(100) = null output,
@MIDDLENAME nvarchar(100) = null output,
@TITLE nvarchar(20)= null output,
@SUFFIX nvarchar(20)= null output,
@NICKNAME nvarchar(20)= null output,
@MAIDENNAME nvarchar(20)= null output,
@BIRTHDATE nvarchar(20)= null output,
@GENDER nvarchar(20)= null output,
@MARITALSTATUS nvarchar(20)= null output,
@ADDRESSTYPE nvarchar(20)= null output,
@COUNTRY nvarchar(200)= null output,
@ADDRESS nvarchar(200)= null output,
@CITY nvarchar(200)= null output,
@STATE nvarchar(200)= null output,
@POSTCODE nvarchar(20)= null output,
@DONOTMAIL nvarchar(20)= null output,
@DONOTMAILREASON nvarchar(200)= null output,
@PHONETYPE nvarchar(20)= null output,
@PHONENUMBER nvarchar(20)= null output,
@EMAILTYPE nvarchar(200)= null output,
@EMAILADDRESS nvarchar(200)= null output,
@USERNAME nvarchar(200)=null output,
@PASSWORD nvarchar(200)=null output,
@NAME nvarchar(308) = null output,
@BILLINGADDRESS nvarchar(200) = null output,
@BILLINGCOUNTRY nvarchar(100) = null output,
@BILLINGCITY nvarchar(50) = null output,
@BILLINGSTATE nvarchar(100) = null output,
@BILLINGZIP nvarchar(12) = null output,
@ENEWSLETTERSIGNUP nvarchar(1000) = null output,
@SHIPPINGADDRESS nvarchar(200) = null output,
@SHIPPINGCITY nvarchar(50) = null output,
@SHIPPINGSTATE nvarchar(100) = null output,
@SHIPPINGZIP nvarchar(12) = null output,
@LASTLOGINDATE DATETIME = null output,
@COMMENTS NVARCHAR(2000) = null output,
@RELATEDORGANIZATION nvarchar(200)= null output,
@MANGEEMAILPREFERENCESURL nvarchar(500)=null output,
@CONSTITUENTID uniqueidentifier = null output
)
as
set nocount on;
set @DATALOADED = 0;
declare @EVENTID uniqueidentifier
declare @EmailPreferencePageID int --get the manager Preference Page url
declare @ClientSitesID int
-- get the event id
if @EVENTID is null
select @EVENTID = EVENTID from REGISTRANT WHERE CONSTITUENTID = @ID
if @EVENTID is null
select @EVENTID = EVENTID FROM EVENTSPONSOR WHERE CONSTITUENTID = @ID
--get the ClientSitesID
if @EVENTID is not null
select @ClientSitesID = CLIENTSITESID from EVENTEXTENSION where EVENTID = @EVENTID
--get the enews letter sign up
set @ENEWSLETTERSIGNUP = '';
select @ENEWSLETTERSIGNUP = @ENEWSLETTERSIGNUP +
case when @ENEWSLETTERSIGNUP = '' then ET.NAME else '; ' + ET.NAME end
from dbo.EmailList_Subscription ES
INNER JOIN dbo.EmailList EL ON EL.ID=ES.EmailListID
INNER JOIN dbo.EmailTemplate_EmailList ETEL ON ETEL.EmailListID=EL.ID
inner join dbo.EmailTemplate ET ON ET.ID=ETEL.EmailTemplateID
where ES.UserID = dbo.UFN_CLIENTUSERID_GET_BY_CONSTITUENT(@ID)
group by ET.Name
order by ET.Name;
--get username and password
SELECT @ClientSitesID = CLIENTSITESID
FROM dbo.EVENTEXTENSION EE
INNER JOIN REGISTRANT REG ON REG.EVENTID=EE.EVENTID and REG.CONSTITUENTID=@ID
--get the email preference page id
select top 1 @EmailPreferencePageID = VPC.PageID
from vwPageContent VPC
inner join dbo.SitePages SP on SP.ID = VPC.PageID
inner join dbo.EVENTEXTENSION EE ON EE.CLIENTSITESID = SP.ClientSitesID
LEFT OUTER JOIN
(select PAGEMODELITEM.OBJECTGUID
from dbo.PAGEMODELITEM
inner join dbo.PAGEMODEL on PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID
where PAGEMODEL.LOCKARTIFACTS = 1
) PMI on PMI.OBJECTGUID = VPC.PageGuid
inner join dbo.APEXFORMCONTENT AFC ON AFC.ID = VPC.Guid
inner join dbo.APEXFORM AF ON AF.ID = AFC.FORMID AND AF.FORMTYPEID = '89D3C4CC-4D01-4E8B-B82E-04AD966EEE09'
WHERE EE.EVENTID = @EVENTID
and VPC.IsTemplatePage = 0
and VPC.ContentTypesID = 121
and (PMI.OBJECTGUID is null)
--get username and password
declare @ClientUserID int
select @ClientUserID = dbo.UFN_CLIENTUSERID_GET_BY_CONSTITUENT(@ID)
if exists (select * from dbo.CLIENTUSERSEXTENSION where CLIENTUSERID = @ClientUserID)
begin
SELECT @USERNAME =COALESCE(PREFERREDUSERNAME, DISPLAYNAME, FORMATTEDNAME, '') + ' with ' + PROVIDERNAME
FROM CLIENTUSERSEXTENSION
WHERE CLIENTUSERID = @ClientUserID
set @PASSWORD = ''
end
else
begin
select @USERNAME = UserName from dbo.clientusers where ID= @ClientUserID
select @PASSWORD = Password from dbo.clientusers where ID= @ClientUserID
end
select
@CONSTITUENTID = C.ID,
@DATALOADED = 1,
@LASTNAME=C.KEYNAME,
@FIRSTNAME=C.FIRSTNAME,
@MIDDLENAME=C.MIDDLENAME,
@TITLE=TC.DESCRIPTION,
@SUFFIX=SC.DESCRIPTION,
@NICKNAME=C.NICKNAME,
@MAIDENNAME=C.MAIDENNAME,
@BIRTHDATE=(CASE C.BIRTHDATE WHEN '00000000' THEN NULL ELSE CONVERT(nvarchar(10), CAST(C.BIRTHDATE as datetime),101) END),
@GENDER=(CASE C.GENDERCODE WHEN (1) THEN 'Male' WHEN (2) THEN 'Female' ELSE 'Unknown' END),
@MARITALSTATUS=MSC.DESCRIPTION,
@ADDRESSTYPE=AT.DESCRIPTION,
@COUNTRY=COUNTRY.DESCRIPTION,
@ADDRESS=ADDR.ADDRESSBLOCK,
@CITY=ADDR.CITY,
@STATE=STATE.DESCRIPTION,
@POSTCODE=ADDR.POSTCODE,
@DONOTMAIL=(CASE ADDR.DONOTMAIL WHEN (1) then 'Yes' else 'No' End),
@DONOTMAILREASON=DNMRC.DESCRIPTION,
@PHONETYPE=PT.DESCRIPTION,
@PHONENUMBER=P.NUMBER,
@EMAILTYPE=EAC.DESCRIPTION,
@EMAILADDRESS=EA.EMAILADDRESS,
@NAME = C.NAME,
@BILLINGADDRESS = case AT.DESCRIPTION when 'billing' then ADDR.ADDRESSBLOCK else '' end,
@BILLINGCOUNTRY = case AT.DESCRIPTION when 'billing' then COUNTRY.DESCRIPTION else '' end,
@BILLINGCITY = case AT.DESCRIPTION when 'billing' then ADDR.CITY else '' end,
@BILLINGSTATE = case AT.DESCRIPTION when 'billing' then STATE.DESCRIPTION else '' end,
@BILLINGZIP = case AT.DESCRIPTION when 'billing' then ADDR.POSTCODE else '' end,
@SHIPPINGADDRESS = case AT.DESCRIPTION when 'shipping' then ADDR.ADDRESSBLOCK else '' end,
@SHIPPINGCITY = case AT.DESCRIPTION when 'shipping' then ADDR.CITY else '' end,
@SHIPPINGSTATE = case AT.DESCRIPTION when 'shipping' then STATE.DESCRIPTION else '' end,
@SHIPPINGZIP = case AT.DESCRIPTION when 'shipping' then ADDR.POSTCODE else '' end,
@LASTLOGINDATE=(select DateLastLogin from dbo.clientusers where ID= dbo.UFN_CLIENTUSERID_GET_BY_CONSTITUENT(c.ID)),
@COMMENTS=FC.COMMENTTEXT,
@RELATEDORGANIZATION='',
@MANGEEMAILPREFERENCESURL=cmss3.VALUE +'page.aspx?pid=' + CAST(@EmailPreferencePageID as nvarchar(10)) + '&frmfaf=1' -- to identify that the link is in a faf email
From CONSTITUENT C
left JOIN dbo.REGISTRANT R on R.CONSTITUENTID=C.ID
LEFT JOIN TITLECODE TC ON C.TITLECODEID=TC.ID
LEFT JOIN SUFFIXCODE SC ON C.SUFFIXCODEID=SC.ID
LEFT JOIN MARITALSTATUSCODE MSC ON C.MARITALSTATUSCODEID=MSC.ID
LEFT JOIN ADDRESS ADDR ON C.ID=ADDR.CONSTITUENTID
LEFT JOIN ADDRESSTYPECODE AT ON ADDR.ADDRESSTYPECODEID=AT.ID
LEFT JOIN COUNTRY ON ADDR.COUNTRYID=COUNTRY.ID
LEFT JOIN STATE ON ADDR.STATEID=STATE.ID
LEFT JOIN DONOTMAILREASONCODE DNMRC ON ADDR.DONOTMAILREASONCODEID=DNMRC.ID
LEFT JOIN PHONE P ON P.CONSTITUENTID=C.ID AND P.ISPRIMARY=1
LEFT JOIN PHONETYPECODE PT ON P.PHONETYPECODEID=PT.ID
LEFT JOIN EMAILADDRESS EA ON EA.CONSTITUENTID=C.ID AND EA.ISPRIMARY=1
LEFT JOIN EMAILADDRESSTYPECODE EAC ON EA.EMAILADDRESSTYPECODEID=EAC.ID
LEFT JOIN dbo.FAFCOMMENTS FC ON FC.REGISTRANTID=R.ID AND FC.EVENTID=R.EVENTID
left join dbo.TEAMFUNDRAISER TF ON TF.CONSTITUENTID=C.ID
left join dbo.TEAMFUNDRAISINGTEAMMEMBER TFTM ON TFTM.TEAMFUNDRAISERID=TF.ID
left join dbo.TEAMFUNDRAISINGTEAM TFT ON TFT.ID=TFTM.TEAMFUNDRAISINGTEAMID
left join dbo.CMSSITESETTING CMSS3 on CMSS3.CLIENTSITESID=@ClientSitesID and CMSS3.ENUMID = 11
WHERE C.ID=@ID
if LEN(@CITY)>0 and LEN(@STATE)>0
SET @CITY=@CITY + ','
RETURN 0