UFN_CAMPAIGNFUNDRAISER_VALIDCONSTITUENT

Validates the start and end dates of a fundraiser on a campaign.

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@CAMPAIGNFUNDRAISERID uniqueidentifier IN
@CAMPAIGNID uniqueidentifier IN
@CONSTITUENTID uniqueidentifier IN
@DATEFROM datetime IN
@DATETO datetime IN

Definition

Copy


            CREATE function dbo.UFN_CAMPAIGNFUNDRAISER_VALIDCONSTITUENT
            (
                @CAMPAIGNFUNDRAISERID uniqueidentifier,
                @CAMPAIGNID uniqueidentifier,
                @CONSTITUENTID uniqueidentifier,
                @DATEFROM datetime,
                @DATETO datetime
            )
            returns bit
            with execute as caller
            as begin

                declare @DUPLICATECOUNT int;

                if (@CONSTITUENTID is null)
                    return 1;

                select
                    @DUPLICATECOUNT = count(*)
                from
                    dbo.CAMPAIGNFUNDRAISER
                where
                    CONSTITUENTID = @CONSTITUENTID and
                    ID <> @CAMPAIGNFUNDRAISERID and
                    CAMPAIGNID = @CAMPAIGNID and
                    (
                        ( DATETO   between @DATEFROM and @DATETO) or
                        (@DATETO   between  DATEFROM and  DATETO) or
                        ( DATEFROM between @DATEFROM and @DATETO) or
                        (@DATEFROM between  DATEFROM and  DATETO) or

                        ( DATEFROM is null and @DATEFROM <=  DATETO)   or
                        (@DATEFROM is null and  DATEFROM <= @DATETO)   or
                        ( DATETO   is null and @DATETO   >=  DATEFROM) or
                        (@DATETO   is null and  DATETO   >= @DATEFROM) or

                        (@DATEFROM is null and  DATEFROM is null) or
                        (@DATETO   is null and  DATETO   is null) or
                        (@DATEFROM is null and @DATETO   is null) or
                        ( DATEFROM is null and  DATETO   is null)
                    );

                if (@DUPLICATECOUNT = 0)
                    return 1;

                return 0;

            end