USP_DATALIST_CONSTITUENTPROFILEDASHBOARDCONSTITUENTCHRONOLOGY
This datalist returns chronology information that is used by the constituent profile dashboard.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | Constituent |
@ISVISIBLE | bit | IN | Visible |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONSTITUENTPROFILEDASHBOARDCONSTITUENTCHRONOLOGY
(
@CONSTITUENTID uniqueidentifier,
@ISVISIBLE bit = 1
)
as
set nocount on;
if @ISVISIBLE = 1
begin
select
[CONSTITUENTCORRESPONDENCE].[DATESENT] DATESENT,
'General Correspondence' CORRESPONDENCETYPE,
[CORRESPONDENCECODE].[NAME] DETAILS
from
dbo.[CONSTITUENTCORRESPONDENCE]
left join dbo.[CORRESPONDENCECODE] on [CORRESPONDENCECODE].[ID] = [CONSTITUENTCORRESPONDENCE].[CORRESPONDENCECODEID]
where
[CONSTITUENTCORRESPONDENCE].[CONSTITUENTID] = @CONSTITUENTID
union all
select
[PLEDGEREMINDERSENT].[SENTDATE],
'Reminder',
[PLEDGEREMINDERPROCESS].[NAME]
from
dbo.[PLEDGEREMINDERSENT]
left join dbo.[PLEDGEREMINDERPROCESSSTATUS] on [PLEDGEREMINDERPROCESSSTATUS].[ID] = [PLEDGEREMINDERSENT].[PLEDGEREMINDERPROCESSSTATUSID]
left join dbo.[PLEDGEREMINDERPROCESS] on [PLEDGEREMINDERPROCESS].[ID] = [PLEDGEREMINDERPROCESSSTATUS].[PARAMETERSETID]
left join dbo.[REVENUE] on [REVENUE].[ID] = [PLEDGEREMINDERSENT].[REVENUEID]
where
[REVENUE].[CONSTITUENTID] = @CONSTITUENTID and
[PLEDGEREMINDERSENT].[SENTDATE] is not null
union all
select
[INVITATIONHISTORY].[DATECHANGED],
'Event Invitation',
[INVITATIONHISTORY].[NAME] + case when [INVITATIONHISTORY].[NAME] is not null and [INVITATIONHISTORY].[NAME] <> '' and [EVENT].[NAME] is not null and [EVENT].[NAME] <> '' then ' - ' else '' end + [EVENT].[NAME]
from
dbo.[INVITEEHISTORY]
left join dbo.[INVITATIONHISTORY] on [INVITATIONHISTORY].[ID] = [INVITEEHISTORY].[INVITATIONHISTORYID]
left join dbo.[EVENT] on [EVENT].[ID] = [INVITEEHISTORY].[EVENTID]
where
[INVITEEHISTORY].[CONSTITUENTID] = @CONSTITUENTID
union all
select
[CONSTITUENTAPPEAL].[DATESENT],
'Appeal Mailing',
[APPEAL].[NAME] + case when [APPEAL].[NAME] is not null and [APPEAL].[NAME] <> '' and [MKTSEGMENTATION].[NAME] is not null and [MKTSEGMENTATION].[NAME] <> '' then ' - ' else '' end + coalesce([MKTSEGMENTATION].[NAME], '')
from
dbo.[CONSTITUENTAPPEAL]
left join dbo.[APPEAL] on [APPEAL].[ID] = [CONSTITUENTAPPEAL].[APPEALID]
left join dbo.[MKTSEGMENTATION] on [MKTSEGMENTATION].[ID] = [CONSTITUENTAPPEAL].[MKTSEGMENTATIONID]
where
[CONSTITUENTAPPEAL].[CONSTITUENTID] = @CONSTITUENTID
and [CONSTITUENTAPPEAL].DATESENT is not null
union all
select
DATE,
'Interaction',
OBJECTIVE
from
dbo.INTERACTION
where
CONSTITUENTID = @CONSTITUENTID
and COMPLETED = 1
union all
select
DATE,
TRANSACTIONTYPE,
convert(nvarchar(20), AMOUNT)
from
dbo.REVENUE
where
CONSTITUENTID = @CONSTITUENTID
order by
DATESENT desc;
end