UFN_INSTALLEDPRODUCTS_PRODUCTIS

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@PRODUCTCODE uniqueidentifier IN

Definition

Copy

        create function dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS(@PRODUCTCODE uniqueidentifier)
        returns bit
        with execute as caller
        as

    --EXTERNAL NAME [Blackbaud.AppFx.Platform.SqlClr].[Blackbaud.AppFx.Platform.SqlClr.InstalledProducts].[ProductIsInstalled]
    --pdg 4.30.2012 changed this to a non-clr implementation to optimize performance

    begin

        declare @isInstalled bit=0;

        declare @expire_date_text nvarchar(8);

        select top 1 @isInstalled=1, @expire_date_text= [EXPIREDATE] from dbo.INSTALLEDPRODUCTLIST with (nolock) where ID = @PRODUCTCODE;

        if (@isInstalled=1) AND (LEN(@expire_date_text) = 8)
        begin
            declare @expireDate datetime;

            select @expireDate = convert(datetime, substring(@expire_date_text,1,4) + '-' + substring(@expire_date_text,5,2) + '-' + substring(@expire_date_text,7,2) + 'T00:00:00');  

            declare @curretDate datetime=GETDATE();

            if @curretDate > @expireDate
            begin
                set @isInstalled=0;
            end
        end

        return @isInstalled;

    end