USP_DATALIST_MEMBERSHIPAPPEAL

Returns a list of appeals for the membership.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the context ID for the data list.

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_MEMBERSHIPAPPEAL (@ID uniqueidentifier)
                as
                set nocount on;

        declare @MEMBERSHIPPROGRAMID uniqueidentifier;
        declare @CONSTITUENTID uniqueidentifier;

        select 
          @MEMBERSHIPPROGRAMID=MEMBERSHIP.MEMBERSHIPPROGRAMID,
          @CONSTITUENTID=MEMBER.CONSTITUENTID
        from 
          dbo.MEMBERSHIP
       left join dbo.MEMBER on 
          MEMBER.MEMBERSHIPID=MEMBERSHIP.ID
        where 
          MEMBER.ID=@ID;


                select
                    CONSTITUENTAPPEAL.ID,
                    CONSTITUENTAPPEAL.APPEALID,
                    APPEAL.NAME APPEALNAME,
                    APPEAL.DESCRIPTION,
                    CONSTITUENTAPPEAL.DATESENT,
                    CONSTITUENTAPPEAL.SOURCECODE,
                    case when CONSTITUENTAPPEAL.FINDERNUMBER = 0 then null else CONSTITUENTAPPEAL.FINDERNUMBER end as FINDERNUMBER,
                    CONSTITUENTAPPEAL.COMMENTS,
                    CONSTITUENTAPPEAL.MKTSEGMENTATIONID,
                    CONSTITUENTAPPEAL.MKTSEGMENTATIONSEGMENTID,
                    MKTPACKAGE.NAME as PACKAGE,
                    MKTSEGMENTATION.NAME as MAILING,
                    dbo.UFN_MKTSEGMENTATIONSEGMENT_GETNAME(CONSTITUENTAPPEAL.MKTSEGMENTATIONSEGMENTID) as SEGMENT,
                    dbo.UFN_MKTSEGMENTATIONTESTSEGMENT_GETNAME(CONSTITUENTAPPEAL.MKTSEGMENTATIONTESTSEGMENTID) as TESTSEGMENT,
                    (case when exists(select 1 from dbo.CONSTITUENTAPPEALRESPONSE where CONSTITUENTAPPEALRESPONSE.CONSTITUENTAPPEALID=CONSTITUENTAPPEAL.ID)
                        then convert(bit,1) else convert(bit,0) end) as HASRESPONSES,
                    cast((case when APPEALMAILING.ID is not null then 1 else 0 end) as bit) as ISAPPEALMAILING,
                    case
                        when CONSTITUENTAPPEAL.DATESENT >= dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0) then 'This month'
                        when CONSTITUENTAPPEAL.DATESENT >= dateadd(month, -1, dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0)) then 'Last month'
                        when CONSTITUENTAPPEAL.DATESENT >= dateadd(month, -2, dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0)) then 'Two months ago'
                        else 'Older'
                    end TIMEFRAMETEXT,
                    case
                        when CONSTITUENTAPPEAL.DATESENT >= dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0) then '0'
                        when CONSTITUENTAPPEAL.DATESENT >= dateadd(month, -1, dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0)) then '2'
                        when CONSTITUENTAPPEAL.DATESENT >= dateadd(month, -2, dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0)) then '4'
                        else '6'
                    end TIMEFRAMEGROUPSORT,
                    case
                        when MAILLETTER.ID is not null then MAILLETTER.NAME + ' (Mail)'
                        when EMAILLETTER.ID is not null then EMAILLETTER.NAME + ' (Email)'
                        else ''
                    end    LETTER
                from 
                    dbo.CONSTITUENTAPPEAL
                inner join 
                    dbo.APPEAL on APPEAL.ID = CONSTITUENTAPPEAL.APPEALID
                left join dbo.MKTPACKAGE on MKTPACKAGE.ID = CONSTITUENTAPPEAL.MKTPACKAGEID
                left join dbo.MKTSEGMENTATION on MKTSEGMENTATION.ID = CONSTITUENTAPPEAL.MKTSEGMENTATIONID 
                left join dbo.APPEALMAILING on APPEALMAILING.ID = CONSTITUENTAPPEAL.MKTSEGMENTATIONID
                left join dbo.APPEALMAILINGSETUPLETTER MAILLETTER
                    on MKTPACKAGE.ID = MAILLETTER.MAILPACKAGEID
                left join dbo.APPEALMAILINGSETUPLETTER EMAILLETTER
                    on MKTPACKAGE.ID = EMAILLETTER.EMAILPACKAGEID
                where 
          APPEAL.MEMBERSHIPPROGRAMID=@MEMBERSHIPPROGRAMID and 
                    CONSTITUENTAPPEAL.CONSTITUENTID = @CONSTITUENTID
                order by
                    TIMEFRAMEGROUPSORT asc, APPEAL.NAME;