USP_DATAFORMTEMPLATE_VIEW_CONSTITUENTGIVINGINFORMATIONPAGEDATA

The load procedure used by the view dataform template "Constituent Giving Information 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(400) INOUT NAME
@ISORG bit INOUT ISORG
@ISPROSPECT bit INOUT ISPROSPECT
@ISFORMERPROSPECT bit INOUT ISFORMERPROSPECT
@ISFUNDRAISER bit INOUT ISFUNDRAISER
@ISFORMERFUNDRAISER bit INOUT ISFORMERFUNDRAISER
@ISVOLUNTEER bit INOUT ISVOLUNTEER
@ISFORMERVOLUNTEER bit INOUT ISFORMERVOLUNTEER
@ISCOMMUNITYMEMBER bit INOUT ISCOMMUNITYMEMBER
@ISREGISTRANT bit INOUT ISREGISTRANT
@ISVENDOR bit INOUT ISVENDOR
@ISALUMNUS bit INOUT ISALUMNUS
@ISSTUDENT bit INOUT ISSTUDENT
@ISFORMERSTUDENT bit INOUT ISFORMERSTUDENT
@APPUSERID uniqueidentifier INOUT APPUSERID
@HASCOMMUNITYDATA bit INOUT HASCOMMUNITYDATA
@ISGROUP bit INOUT ISGROUP
@ISHOUSEHOLD bit INOUT ISHOUSEHOLD
@ISGROUPMEMBER bit INOUT ISGROUPMEMBER
@HASSTEWARDSHIPPLAN bit INOUT HASSTEWARDSHIPPLAN
@ISBANK bit INOUT ISBANK
@ISCOMMITTEE bit INOUT ISCOMMITTEE
@ISGRANTOR bit INOUT ISGRANTOR
@ISSPONSOR bit INOUT ISSPONSOR
@ISCOMMITTEEMEMBER bit INOUT ISCOMMITTEEMEMBER
@SPONSORTYPECODE tinyint INOUT SPONSORTYPECODE
@ISPLANNEDGIVER bit INOUT ISPLANNEDGIVER
@ISFACULTY bit INOUT ISFACULTY
@ISFORMERSPONSOR bit INOUT ISFORMERSPONSOR
@CANBEDONOR bit INOUT CANBEDONOR
@HASRECEIVEDFUNDS bit INOUT HASRECEIVEDFUNDS
@ISHOUSEHOLDMEMBER bit INOUT ISHOUSEHOLDMEMBER
@ISFAFREGISTRANT bit INOUT ISFAFREGISTRANT
@VIEWREVENUETEXTLINKTEXT varchar(25) INOUT VIEWREVENUETEXTLINKTEXT
@CURRENTAPPUSERID uniqueidentifier IN
@USER_GRANTED_CONSTITPERSONALINFO_EDIT bit INOUT
@ISNATIONALFUNDRAISINGGROUP bit INOUT
@MEMBERSHIPID uniqueidentifier INOUT
@USER_GRANTED_REVENUESUMMARY_VIEW bit INOUT
@USER_GRANTED_HOUSEHOLDSUMMARY_VIEW bit INOUT
@USER_GRANTED_REVENUESUMMARYBRKDWN_VIEW bit INOUT
@USER_GRANTED_REVENUESUMMARYPARAMETER_VIEW bit INOUT

Definition

Copy

                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_CONSTITUENTGIVINGINFORMATIONPAGEDATA
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @NAME nvarchar(400) = null output,
                    @ISORG bit = null output,
                    @ISPROSPECT bit = null output,
                    @ISFORMERPROSPECT bit = null output,
                    @ISFUNDRAISER bit = null output,
                    @ISFORMERFUNDRAISER bit = null output,
                    @ISVOLUNTEER bit = null output,
                    @ISFORMERVOLUNTEER bit = null output,
                    @ISCOMMUNITYMEMBER bit = null output,
                    @ISREGISTRANT bit = null output,
                    @ISVENDOR bit = null output,
                    @ISALUMNUS bit = null output,
                    @ISSTUDENT bit = null output,
                    @ISFORMERSTUDENT bit = null output,
                    @APPUSERID uniqueidentifier = null output,
                    @HASCOMMUNITYDATA bit = null output,
                    @ISGROUP bit = null output,
                    @ISHOUSEHOLD bit = null output,
                    @ISGROUPMEMBER bit = null output,
                    @HASSTEWARDSHIPPLAN bit = null output,
                    @ISBANK bit = null output,
                    @ISCOMMITTEE bit = null output,
                    @ISGRANTOR bit = null output,
          @ISSPONSOR bit = null output,
                    @ISCOMMITTEEMEMBER bit = null output,
                    @SPONSORTYPECODE tinyint = null output,
                    @ISPLANNEDGIVER bit = null output,
                    @ISFACULTY bit = null output,
                    @ISFORMERSPONSOR bit = null output,
                    @CANBEDONOR bit = null output,
                    @HASRECEIVEDFUNDS bit = null output,
          --for the recognition summary split view
          @ISHOUSEHOLDMEMBER bit = null output,

          @ISFAFREGISTRANT bit = null output,
          @VIEWREVENUETEXTLINKTEXT varchar(25) = null output,
          @CURRENTAPPUSERID uniqueidentifier = null,
          @USER_GRANTED_CONSTITPERSONALINFO_EDIT bit = null output,
                    @ISNATIONALFUNDRAISINGGROUP  bit = null output,
          @MEMBERSHIPID uniqueidentifier = null output,

          @USER_GRANTED_REVENUESUMMARY_VIEW bit = null output,
          @USER_GRANTED_HOUSEHOLDSUMMARY_VIEW bit = null output,
          @USER_GRANTED_REVENUESUMMARYBRKDWN_VIEW bit = null output,
          @USER_GRANTED_REVENUESUMMARYPARAMETER_VIEW bit = null output
                )
                as
                    set nocount on;

                    set @DATALOADED = 0;

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

                    Set @ISNATIONALFUNDRAISINGGROUP = dbo.UFN_CONSTITUENT_ISNATIONALFUNDRAISINGGROUP(@ID)

          declare @MEMBERSHIPCOUNT int = (select count(MEMBERSHIP.ID) from dbo.MEMBERSHIP 
                                         inner join dbo.MEMBER on MEMBER.MEMBERSHIPID = MEMBERSHIP.ID
                                                 inner join dbo.MEMBER PRIMARYMEMBER on PRIMARYMEMBER.MEMBERSHIPID = MEMBERSHIP.ID and PRIMARYMEMBER.ISPRIMARY = 1
                                                 where MEMBER.CONSTITUENTID = @ID)
          if @MEMBERSHIPCOUNT = 1
          set @MEMBERSHIPID = (select MEMBERSHIP.ID from dbo.MEMBERSHIP 
                                         inner join dbo.MEMBER on MEMBER.MEMBERSHIPID = MEMBERSHIP.ID
                                                 inner join dbo.MEMBER PRIMARYMEMBER on PRIMARYMEMBER.MEMBERSHIPID = MEMBERSHIP.ID and PRIMARYMEMBER.ISPRIMARY = 1
                                                 where MEMBER.CONSTITUENTID = @ID)

                    declare @DECEASED bit;
                    declare @GROUPCANBEDONOR bit;
                    declare @ISDISSOLVED bit;

                    select 
                        @DATALOADED = 1,
                        @NAME = NF.NAME,
                        @ISORG = CONSTITUENT.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 = CONSTITUENT.NETCOMMUNITYMEMBER,
                        @ISREGISTRANT = dbo.UFN_CONSTITUENT_ISREGISTRANT(@ID),
                        @ISVENDOR = dbo.UFN_CONSTITUENT_ISVENDOR(@ID),
                        @ISALUMNUS = dbo.UFN_CONSTITUENT_ISALUMNUS(@ID),
                        @ISSTUDENT = dbo.UFN_CONSTITUENT_ISSTUDENT(@ID),
                        @ISFORMERSTUDENT = dbo.UFN_CONSTITUENT_ISFORMERSTUDENT(@ID),
                        @HASCOMMUNITYDATA = dbo.UFN_CONSTITUENT_HASCOMMUNITYDATA(@ID),
                        @ISGROUP = CONSTITUENT.ISGROUP,
                        @ISHOUSEHOLD = (case when GD.GROUPTYPECODE = 0 then '1' else '0' end),
                        @ISGROUPMEMBER = dbo.UFN_CONSTITUENT_HASGROUPMEMBERRECORD(@ID),
                        @HASSTEWARDSHIPPLAN = dbo.UFN_CONSTITUENT_HASSTEWARDSHIPPLAN(@ID),
                        @ISBANK = dbo.UFN_CONSTITUENT_ISBANK(@ID),
                        @ISCOMMITTEE = dbo.UFN_CONSTITUENT_ISCOMMITTEE(@ID),
                        @ISGRANTOR = dbo.UFN_CONSTITUENT_ISGRANTOR(@ID),
                        @ISCOMMITTEEMEMBER = dbo.UFN_CONSTITUENT_ISCOMMITTEEMEMBER(@ID),
                        @ISPLANNEDGIVER = dbo.UFN_CONSTITUENT_ISPLANNEDGIVER(@ID),
                        @ISFACULTY = dbo.UFN_CONSTITUENT_ISFACULTY(@ID),
                        @DECEASED = case when DECEASEDCONSTITUENT.ID is null then 0 else 1 end,
                        @GROUPCANBEDONOR = ISNULL(GT.CANBEDONOR,1),
                        @ISDISSOLVED = case when DISSOLVEDGROUP.ID is null then 0 else 1 end,
            --for the recognition summary split view
            @ISHOUSEHOLDMEMBER = case when (select count(*) from dbo.GROUPDATA GR inner join dbo.GROUPMEMBER GM on GR.ID = GM.GROUPID where GROUPTYPECODE = 0 and MEMBERID = @ID and dbo.UFN_GROUPMEMBER_ISCURRENTMEMBER(GM.ID) = 1) > 0 then 1 else 0 end
                    from
                        dbo.CONSTITUENT
                    left outer join
                        dbo.GROUPDATA GD on GD.ID = CONSTITUENT.ID
                    left join 
                        dbo.DECEASEDCONSTITUENT on DECEASEDCONSTITUENT.ID = CONSTITUENT.ID
                    left outer join 
                        dbo.GROUPTYPE as GT on GD.GROUPTYPECODE = 1 and GD.GROUPTYPEID = GT.ID
                    left join 
                        dbo.DISSOLVEDGROUP on DISSOLVEDGROUP.ID = CONSTITUENT.ID
                    outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENT.ID) NF
                    where
                        CONSTITUENT.ID = @ID;

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

                    declare @HOUSEHOLDSCANBEDONORS bit = dbo.UFN_INSTALLATIONINFO_GETHOUSEHOLDSCANBEDONORS();

                    if (@DECEASED = 0 and (@ISGROUP = 0 or (@ISGROUP = 1 and @ISHOUSEHOLD = 0 and @GROUPCANBEDONOR = 1)
                                                        or (@ISHOUSEHOLD = 1 and @HOUSEHOLDSCANBEDONORS = 1 and @ISDISSOLVED = 0)))
                        set @CANBEDONOR = 1;
                    else
                        set @CANBEDONOR = 0;    

                    set @HASRECEIVEDFUNDS = dbo.UFN_CONSTITUENT_HASRECEIVEDFUNDS(@ID)

                    --check if FAF registrants
          Set @ISFAFREGISTRANT = 0
          Set @VIEWREVENUETEXTLINKTEXT = 'Revenue and recognition'

          Set @ISFAFREGISTRANT = dbo.UFN_FAF_ISPARTICIPANTS(@ID)
          if @ISFAFREGISTRANT = 1
             Begin
                Set @VIEWREVENUETEXTLINKTEXT = 'Gifts & registrations'
             End    

            if dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 
          begin
            set @USER_GRANTED_CONSTITPERSONALINFO_EDIT = 1;
            set @USER_GRANTED_REVENUESUMMARY_VIEW = 1;
            set @USER_GRANTED_HOUSEHOLDSUMMARY_VIEW = 1;
            set @USER_GRANTED_REVENUESUMMARYBRKDWN_VIEW = 1;
            set @USER_GRANTED_REVENUESUMMARYPARAMETER_VIEW = 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')
                  when @ISHOUSEHOLD = 1 then dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_IN_SYSTEMROLE(@CURRENTAPPUSERID,'2f419cfd-9e70-406c-8277-ba2c4b7bdfba')
                  when @ISGROUP = 1 then dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_IN_SYSTEMROLE(@CURRENTAPPUSERID,'292ee330-a63c-4cc5-98c2-a1168a1b7150')
                  else dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_IN_SYSTEMROLE(@CURRENTAPPUSERID,'788AB947-26ED-40C4-865E-8FE29577E593')
                end;

            set @USER_GRANTED_REVENUESUMMARY_VIEW = dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_IN_SYSTEMROLE(@CURRENTAPPUSERID,'0c365651-d7c2-4caf-923c-b5f271ccf23e');
            set @USER_GRANTED_HOUSEHOLDSUMMARY_VIEW = dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_IN_SYSTEMROLE(@CURRENTAPPUSERID,'deae7918-1537-449f-a2b5-2e37a1230232');
            set @USER_GRANTED_REVENUESUMMARYBRKDWN_VIEW = dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_IN_SYSTEMROLE(@CURRENTAPPUSERID,'48d29cc7-2033-4570-8b76-df9d983f994e');

            set @USER_GRANTED_REVENUESUMMARYPARAMETER_VIEW = 
                case
                  when @USER_GRANTED_REVENUESUMMARY_VIEW = 1 then 1
                  when @ISHOUSEHOLDMEMBER = 1 And @USER_GRANTED_HOUSEHOLDSUMMARY_VIEW = 1 then 1
                  when @USER_GRANTED_REVENUESUMMARYBRKDWN_VIEW = 1 then 1
                  else 0
                end
          end

                    return 0;