UFN_DAILYSALEITEM_BUILDMEMBERSHIPPROMOBUTTONTEXT

Returns the text for a daily sale membership promotion button.

Return

Return Type
nvarchar(65)

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CURRENCYSYMBOL nchar IN

Definition

Copy


        CREATE function dbo.UFN_DAILYSALEITEM_BUILDMEMBERSHIPPROMOBUTTONTEXT
        (
            @ID uniqueidentifier, 
            @CURRENCYSYMBOL nchar(1)
        )
        returns nvarchar(65)
        with execute as caller
        as begin
            declare @LINESEPARATOR nchar(1) = char(10)

            declare @DESCRIPTIONTYPECODE1 tinyint
            declare @DESCRIPTIONTYPECODE2 tinyint
            declare @DESCRIPTIONTYPECODE3 tinyint

            declare @DESCRIPTION1 nvarchar(20)
            declare @DESCRIPTION2 nvarchar(20)
            declare @DESCRIPTION3 nvarchar(20)

            select
                @DESCRIPTIONTYPECODE1 = DESCRIPTIONFIELD1TYPECODE,
                @DESCRIPTIONTYPECODE2 = DESCRIPTIONFIELD2TYPECODE,
                @DESCRIPTIONTYPECODE3 = DESCRIPTIONFIELD3TYPECODE,
                @DESCRIPTION1 = DESCRIPTIONFIELD1,
                @DESCRIPTION2 = DESCRIPTIONFIELD2,
                @DESCRIPTION3 = DESCRIPTIONFIELD3
            from dbo.DAILYSALEITEM
            where ID = @ID

            declare @NAME nvarchar(20)
            declare @VALUE nvarchar(20)
            declare @CALCULATIONTYPE nvarchar(20)

            select
                @NAME = [NAME],
                @CALCULATIONTYPE = case [PROMOTIONTYPECODE]
                                       when 0 then [DISCOUNTCALCULATIONTYPE]
                                       else [EXTENSIONCALCULATIONTYPE]
                                   end,
                @VALUE = [FORMATTEDVALUE]
            from dbo.[MEMBERSHIPPROMO]
            inner join dbo.[DAILYSALEITEMMEMBERSHIPPROMO] [DSID] on [DSID].[MEMBERSHIPPROMOID] = [MEMBERSHIPPROMO].[ID]
            where [DSID].[ID] = @ID;


            select @DESCRIPTION1 = 
                case @DESCRIPTIONTYPECODE1
                    when 1 then @DESCRIPTION1
                    when 8 then @NAME
                    when 9 then @VALUE
                    when 10 then @CALCULATIONTYPE
                end

            select @DESCRIPTION2 = 
                case @DESCRIPTIONTYPECODE2
                    when 1 then @DESCRIPTION2
                    when 8 then @NAME
                    when 9 then @VALUE
                    when 10 then @CALCULATIONTYPE
                end

            select @DESCRIPTION3 = 
                case @DESCRIPTIONTYPECODE3
                    when 1 then @DESCRIPTION3
                    when 8 then @NAME
                    when 9 then @VALUE
                    when 10 then @CALCULATIONTYPE
                end

            return coalesce(@DESCRIPTION1, '') + @LINESEPARATOR + coalesce(@DESCRIPTION2, '') + @LINESEPARATOR + coalesce(@DESCRIPTION3, '')
        end