USP_DATAFORMTEMPLATE_VIEW_FUNDRAISERPAGEDATA

The load procedure used by the view dataform template "Fundraiser Page Expression 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.
@NAME nvarchar(700) INOUT NAME
@ISINACTIVE bit INOUT ISINACTIVE
@DECEASED bit INOUT DECEASED
@ISORG bit INOUT ISORG
@ISPROSPECT bit INOUT ISPROSPECT
@ISFORMERPROSPECT bit INOUT ISFORMERPROSPECT
@ISFUNDRAISER bit INOUT ISFUNDRAISER
@ISVOLUNTEER bit INOUT ISVOLUNTEER
@ISFORMERVOLUNTEER bit INOUT ISFORMERVOLUNTEER
@PROSPECTTABICON nvarchar(20) INOUT PROSPECTTABICON
@ISREGISTRANT bit INOUT ISREGISTRANT
@ISVENDOR bit INOUT ISVENDOR
@APPUSERID uniqueidentifier INOUT APPUSERID
@ISCOMMUNITYMEMBER bit INOUT ISCOMMUNITYMEMBER
@HASCOMMUNITYDATA bit INOUT HASCOMMUNITYDATA
@ISGROUPMEMBER bit INOUT ISGROUPMEMBER
@HASKPIRIGHTS bit INOUT HASKPIRIGHTS
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@HASSTEWARDSHIPPLAN bit INOUT HASSTEWARDSHIPPLAN
@ISPLANNEDGIVER bit INOUT ISPLANNEDGIVER
@ALERTSENABLED bit INOUT ALERTSENABLED
@ISBANK bit INOUT ISBANK
@ISGRANTOR bit INOUT ISGRANTOR
@ISSPONSOR bit INOUT ISSPONSOR
@ISCOMMITTEEMEMBER bit INOUT ISCOMMITTEEMEMBER
@SPONSORTYPECODE tinyint INOUT SPONSORTYPECODE
@ISALUMNUS bit INOUT ISALUMNUS
@ISSTUDENT bit INOUT ISSTUDENT
@ISFACULTY bit INOUT ISFACULTY
@ISFORMERSPONSOR bit INOUT ISFORMERSPONSOR
@HASRECEIVEDFUNDS bit INOUT HASRECEIVEDFUNDS
@USER_GRANTED_CONSTITPERSONALINFO_EDIT bit INOUT

Definition

Copy

                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_FUNDRAISERPAGEDATA
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @NAME nvarchar(700) = null output,
                    @ISINACTIVE bit = null output,
                    @DECEASED bit = null output,
                    @ISORG bit = null output,
                    @ISPROSPECT bit = null output,
                    @ISFORMERPROSPECT bit = null output,
                    @ISFUNDRAISER bit = null output,
                    @ISVOLUNTEER bit = null output,
                    @ISFORMERVOLUNTEER bit = null output,
                    @PROSPECTTABICON nvarchar(20) = null output,
                    @ISREGISTRANT bit = null output,
                    @ISVENDOR bit = null output,
                    @APPUSERID uniqueidentifier = null output,
                    @ISCOMMUNITYMEMBER bit = null output,
                    @HASCOMMUNITYDATA bit = null output,
                    @ISGROUPMEMBER bit = null output,
                    @HASKPIRIGHTS bit = null output,
                    @CURRENTAPPUSERID uniqueidentifier,
                    @HASSTEWARDSHIPPLAN bit = null output,
                      @ISPLANNEDGIVER bit = null output,
                    @ALERTSENABLED bit = null output,
                    @ISBANK bit = null output,
                    @ISGRANTOR bit = null output,
                    @ISSPONSOR bit = null output,
                    @ISCOMMITTEEMEMBER bit = null output,
                    @SPONSORTYPECODE tinyint = null output,
                    @ISALUMNUS bit = null output,
                    @ISSTUDENT bit = null output,
                    @ISFACULTY bit = null output,
                    @ISFORMERSPONSOR bit = null output,
                    @HASRECEIVEDFUNDS bit = null output,
          @USER_GRANTED_CONSTITPERSONALINFO_EDIT bit = null output
                )
                as
                    set nocount on;

                    set @DATALOADED = 0;

                    declare @TODAY datetime;
                    set @TODAY = dbo.UFN_DATE_GETEARLIESTTIME(getdate());

                    declare @ISFORMERFUNDRAISER bit;

                    select @APPUSERID = ID from dbo.APPUSER where CONSTITUENTID = @ID;

                    select
                        @ISINACTIVE = C.ISINACTIVE,
                        @DECEASED = case when DECEASEDCONSTITUENT.ID is null then 0 else 1 end,
                        @NAME = NF.NAME,
                        @ISORG=C.ISORGANIZATION,
                        @ISPROSPECT = dbo.UFN_CONSTITUENT_ISPROSPECT(@ID),
                        @ISFORMERPROSPECT = dbo.UFN_CONSTITUENT_ISFORMERPROSPECT(@ID),
                        @ISFUNDRAISER = dbo.UFN_CONSTITUENT_ISFUNDRAISER(@ID),
                        @ISFORMERFUNDRAISER = dbo.UFN_CONSTITUENT_ISFORMERFUNDRAISER(@ID),
                        @ISVOLUNTEER = dbo.UFN_CONSTITUENT_ISVOLUNTEER(@ID),
                        @ISFORMERVOLUNTEER = dbo.UFN_CONSTITUENT_ISFORMERVOLUNTEER(@ID),
                        @ISCOMMUNITYMEMBER = C.NETCOMMUNITYMEMBER,
                        @ISREGISTRANT = dbo.UFN_CONSTITUENT_ISREGISTRANT(@ID),
                        @ISVENDOR = dbo.UFN_CONSTITUENT_ISVENDOR(@ID),
                        @HASCOMMUNITYDATA = dbo.UFN_CONSTITUENT_HASCOMMUNITYDATA(@ID),
                        @ISBANK = dbo.UFN_CONSTITUENT_ISBANK(@ID),
                        @PROSPECTTABICON = case when exists (
                            select 
                                1
                            from
                                dbo.PROSPECT P
                                inner join dbo.PROSPECTPLAN PP on PP.PROSPECTID=P.ID 
                                inner join dbo.INTERACTION I on I.PROSPECTPLANID=PP.ID 
                            where
                                P.PROSPECTMANAGERFUNDRAISERID=@ID
                                and
                                PP.ISACTIVE = 1
                            group by
                                PP.PROSPECTID
                            having
                                datediff(day,max(I.ACTUALDATE),@TODAY)>=90
                        ) or exists (
                            select 
                                1
                            from
                                dbo.UFN_FUNDRAISER_PROSPECTPLANS(@ID) FPP 
                                inner join dbo.PROSPECTPLAN PP on PP.ID=FPP.ID 
                                inner join dbo.INTERACTION I on I.PROSPECTPLANID=FPP.ID 
                            where
                                PP.ISACTIVE = 1
                            group by
                                PP.PROSPECTID
                            having
                                datediff(day,max(I.ACTUALDATE),@TODAY)>=90
                        ) then 'RES:warning' else null end,
                        @ISGROUPMEMBER = dbo.UFN_CONSTITUENT_HASGROUPMEMBERRECORD(@ID),
                        @HASKPIRIGHTS = dbo.UFN_SECURITY_APPUSER_GRANTED_KPI(@CURRENTAPPUSERID,'3ac33006-0c14-4227-b375-3bf2e61da1e1'),
                        @HASSTEWARDSHIPPLAN = dbo.UFN_CONSTITUENT_HASSTEWARDSHIPPLAN(@ID),
                        @ISPLANNEDGIVER = dbo.UFN_CONSTITUENT_ISPLANNEDGIVER(@ID),
                        @ISGRANTOR = dbo.UFN_CONSTITUENT_ISGRANTOR(@ID),
                        @ISCOMMITTEEMEMBER = dbo.UFN_CONSTITUENT_ISCOMMITTEEMEMBER(@ID),
                        @ISALUMNUS = dbo.UFN_CONSTITUENT_ISALUMNUS(@ID),
                        @ISSTUDENT = dbo.UFN_CONSTITUENT_ISSTUDENT(@ID),
                        @ISFACULTY = dbo.UFN_CONSTITUENT_ISFACULTY(@ID)
                    from
                        dbo.CONSTITUENT AS C
                        left join dbo.DECEASEDCONSTITUENT on DECEASEDCONSTITUENT.ID = C.ID
                        outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(C.ID) NF
                    where
                        C.ID = @ID;

                    exec dbo.USP_SPONSOR_GETINFORMATION
                    @ID,
                    @ISSPONSOR output,
                    @ISFORMERSPONSOR output,
                    @SPONSORTYPECODE output            

                    if @ISFUNDRAISER = 1 or @ISFORMERFUNDRAISER = 1
                        set @DATALOADED = 1;
                    else begin
                        raiserror('The specified record does not have a Fundraiser constituency.', 13, 1);
                        return 1;
                    end

                    select @ALERTSENABLED = ENABLED from dbo.DATABASEMAILSETTINGS;

                    set @HASRECEIVEDFUNDS = dbo.UFN_CONSTITUENT_HASRECEIVEDFUNDS(@ID)

            if dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 
          begin
            set @USER_GRANTED_CONSTITPERSONALINFO_EDIT = 1;
            end
            else 
          begin
            set @USER_GRANTED_CONSTITPERSONALINFO_EDIT = 
                case 
                  when @ISORG = 1 then dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_IN_SYSTEMROLE(@CURRENTAPPUSERID,'a9954902-ea62-48ae-8e6f-4e2ed3c3f4f9')
                  else dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_IN_SYSTEMROLE(@CURRENTAPPUSERID,'788AB947-26ED-40C4-865E-8FE29577E593')
                end;
            end

                    return 0;