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