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