UFN_CONSTITUENT_ISMEMBER

Validates whether the constituent holds any membership.

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


        CREATE function dbo.UFN_CONSTITUENT_ISMEMBER
        (
            @CONSTITUENTID uniqueidentifier,
            @CURRENTAPPUSERID uniqueidentifier
        ) 
            returns bit
            with execute as caller
            as begin

            declare @MEMBERSHIPS table (ID uniqueidentifier,MEMBERSHIPLEVELID uniqueidentifier,EXPIRATIONDATE datetime,MEMBERSHIPPROGRAMID uniqueidentifier,STATUSCODE tinyint);
      insert into @MEMBERSHIPS
      select MEMBERSHIP.ID,MEMBERSHIP.MEMBERSHIPLEVELID,MEMBERSHIP.EXPIRATIONDATE,MEMBERSHIP.MEMBERSHIPPROGRAMID,MEMBERSHIP.STATUSCODE 
      from dbo.MEMBER
      inner join dbo.MEMBERSHIP on MEMBERSHIP.ID = MEMBER.MEMBERSHIPID
      where MEMBER.CONSTITUENTID = @CONSTITUENTID
      and MEMBER.ISDROPPED = 0

     if exists
                (
                    select
                        1
                    from @MEMBERSHIPS MEMBERSHIP
                        inner join dbo.MEMBERSHIPPROGRAM on MEMBERSHIP.MEMBERSHIPPROGRAMID = MEMBERSHIPPROGRAM.ID
                    where 
                            (
                                getdate() <= dbo.UFN_MEMBERSHIPLEVEL_CREATERENEWALAFTEREXPIRATIONDATE(MEMBERSHIP.MEMBERSHIPLEVELID,MEMBERSHIP.EXPIRATIONDATE)
                                or MEMBERSHIPPROGRAM.PROGRAMTYPECODE <> 0
                            )
                        and MEMBERSHIP.STATUSCODE <> 1
                        and
                            (
                                dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID,dbo.UFN_SITEID_MAPFROM_MEMBERSHIPPROGRAMID(MEMBERSHIP.MEMBERSHIPPROGRAMID)) = 1
                                or @CURRENTAPPUSERID is null
                            )
                )
                    return 1;

                return 0;
      end