USP_DATAFORMTEMPLATE_VIEW_MEMBERSHIPCONSTITUENT

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@DATALOADED bit INOUT
@CURRENTAPPUSERID uniqueidentifier IN
@NAME nvarchar(700) INOUT
@LOOKUPID nvarchar(36) INOUT
@ADDRESSID uniqueidentifier INOUT
@ADDRESSTYPE nvarchar(100) INOUT
@ADDRESS nvarchar(300) INOUT
@EMAILADDRESSID uniqueidentifier INOUT
@EMAILADDRESS UDT_EMAILADDRESS INOUT
@PHONENUMBERID uniqueidentifier INOUT
@PHONENUMBER nvarchar(100) INOUT
@SCHOOLNAME nvarchar(100) INOUT
@CLASSOF UDT_YEAR INOUT
@ISORGANIZATION bit INOUT
@ISGROUP bit INOUT
@ISHOUSEHOLD bit INOUT

Definition

Copy

                CREATE procedure dbo.[USP_DATAFORMTEMPLATE_VIEW_MEMBERSHIPCONSTITUENT]
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @CURRENTAPPUSERID uniqueidentifier,
                    @NAME nvarchar(700) = null output,
                    @LOOKUPID nvarchar(36) = null output,
                    @ADDRESSID uniqueidentifier = null output,
                    @ADDRESSTYPE nvarchar(100) = null output,
                    @ADDRESS nvarchar(300) = null output,
                    @EMAILADDRESSID uniqueidentifier = null output,
                    @EMAILADDRESS dbo.[UDT_EMAILADDRESS] = null output,
                    @PHONENUMBERID uniqueidentifier = null output,
                    @PHONENUMBER nvarchar(100) = null output,
                    @SCHOOLNAME nvarchar(100) = null output,
                    @CLASSOF dbo.[UDT_YEAR] = null output,
                    @ISORGANIZATION bit = null output,
                    @ISGROUP bit = null output,
                    @ISHOUSEHOLD bit = null output
                )
                as
                begin
                    set @DATALOADED = 0;

                    if exists (select top 1 ID from dbo.CONSTITUENT where ID = @ID)
                    begin
                        -- check constituent security and site security in the context of the membership dues add form
                        if (dbo.[UFN_APPUSER_ISSYSADMIN](@CURRENTAPPUSERID) = 1) or
                            ((dbo.[UFN_SECURITY_APPUSER_GRANTED_FORM_FORCONSTIT](@CURRENTAPPUSERID, '2852e35e-9b16-4f98-906c-51b7740e1ab4', @ID) = 1) and -- constituent group security
                            exists (select top 1 1 from dbo.[UFN_SITEID_MAPFROM_CONSTITUENTID](@ID) as [SITE]                                           -- site security
                                    where dbo.[UFN_SECURITY_APPUSER_GRANTED_FORM_FORSITE](@CURRENTAPPUSERID, '2852e35e-9b16-4f98-906c-51b7740e1ab4', [SITE].[SITEID]) = 1))
                            select
                                @DATALOADED = 1,
                                @NAME = [NAMEFORMAT].[NAME],
                                @LOOKUPID = [CONSTITUENT].[LOOKUPID],
                                @ADDRESSID = [ADDRESS].[ID],
                                @ADDRESSTYPE = [ADDRESSTYPECODE].[DESCRIPTION],
                                @ADDRESS = dbo.[UFN_BUILDFULLADDRESS]([ADDRESS].[ID], [ADDRESS].[ADDRESSBLOCK], [ADDRESS].[CITY], [ADDRESS].[STATEID], [ADDRESS].[POSTCODE], [ADDRESS].[COUNTRYID]),
                                @EMAILADDRESSID = [EMAILADDRESS].[ID],
                                @EMAILADDRESS = [EMAILADDRESS].[EMAILADDRESS],
                                @PHONENUMBERID = [PHONE].[ID],
                                @PHONENUMBER = dbo.[UFN_PHONE_GETINTERNATIONALNUMBER]([PHONE].[COUNTRYID], [PHONE].[NUMBER]),
                                @SCHOOLNAME = [EDUCATIONALINSTITUTION].[NAME],
                                @CLASSOF = [EDUCATIONALHISTORY].[CLASSOF],
                                @ISORGANIZATION = [CONSTITUENT].[ISORGANIZATION],
                                @ISGROUP = [CONSTITUENT].[ISGROUP],
                                @ISHOUSEHOLD = dbo.[UFN_CONSTITUENT_ISHOUSEHOLD]([CONSTITUENT].[ID])
                            from dbo.CONSTITUENT
                                left join dbo.[ADDRESS] on [ADDRESS].[CONSTITUENTID] = [CONSTITUENT].[ID] and [ADDRESS].[ISPRIMARY] = 1
                                left join dbo.[ADDRESSTYPECODE] on [ADDRESS].[ADDRESSTYPECODEID] = [ADDRESSTYPECODE].[ID]
                                left join dbo.[EMAILADDRESS] on [EMAILADDRESS].[CONSTITUENTID] = [CONSTITUENT].[ID] and [EMAILADDRESS].[ISPRIMARY] = 1
                                left join dbo.[PHONE] on [PHONE].[CONSTITUENTID] = [CONSTITUENT].ID and [PHONE].[ISPRIMARY] = 1
                                left join dbo.[EDUCATIONALHISTORY] on [CONSTITUENT].[ID] = [EDUCATIONALHISTORY].[CONSTITUENTID] and [EDUCATIONALHISTORY].[ISPRIMARYRECORD] = 1
                                left join dbo.[EDUCATIONALINSTITUTION] on [EDUCATIONALHISTORY].[EDUCATIONALINSTITUTIONID] = [EDUCATIONALINSTITUTION].[ID]
                                outer apply dbo.[UFN_CONSTITUENT_DISPLAYNAME]([CONSTITUENT].[ID]) as [NAMEFORMAT]
                            where [CONSTITUENT].[ID] = @ID;
                    end
                    else
                    begin
                        select
                            @DATALOADED = 1,
                            @NAME = BATCHREVENUECONSTITUENT.NAME,
                            @ADDRESSTYPE = ADDRESSTYPECODE.DESCRIPTION,
                            @ADDRESS = dbo.UFN_BUILDFULLADDRESS(null, BATCHREVENUECONSTITUENT.ADDRESSBLOCK, BATCHREVENUECONSTITUENT.CITY, BATCHREVENUECONSTITUENT.STATEID, BATCHREVENUECONSTITUENT.POSTCODE, BATCHREVENUECONSTITUENT.COUNTRYID),
                            @EMAILADDRESS = BATCHREVENUECONSTITUENT.EMAILADDRESS,
                            @PHONENUMBER = BATCHREVENUECONSTITUENT.NUMBER,
                            @ISORGANIZATION=ISORGANIZATION,
                            @ISGROUP=BATCHREVENUECONSTITUENT.ISGROUP,
                            @ISHOUSEHOLD = case when BATCHREVENUECONSTITUENT.GROUPTYPECODE = 0 and BATCHREVENUECONSTITUENT.ISGROUP = 1 then 1 else 0 end
                        from dbo.BATCHREVENUECONSTITUENT
                            left join dbo.ADDRESSTYPECODE on BATCHREVENUECONSTITUENT.ADDRESSTYPECODEID = ADDRESSTYPECODE.ID
                        where BATCHREVENUECONSTITUENT.ID = @ID
                    end
                end