UFN_DAILYSALEITEM_BUILDEVENTREGISTRATIONBUTTONTEXT

Returns the text for a daily sale event registration 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_BUILDEVENTREGISTRATIONBUTTONTEXT
        (
            @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

            select @DESCRIPTION1 = 
                case @DESCRIPTIONTYPECODE1
                    when 3 then EP.NAME
                    when 14 then dbo.UFN_HOURMINUTE_DISPLAYTIME(E.STARTTIME)
                    when 15 then convert(nvarchar,E.CAPACITY)
                    when 16 then convert(nvarchar,E.STARTDATE,101)
                    when 17 then coalesce(EL.NAME,'Event location')
                    when 18 then E.NAME
                    else @DESCRIPTION1
                end
            from dbo.DAILYSALEITEMEVENTREGISTRATION DSIER
            inner join dbo.EVENT E on DSIER.EVENTID = E.ID
            inner join dbo.EVENTPRICE EP on DSIER.EVENTPRICEID = EP.ID
            left outer join dbo.EVENTLOCATION EL on E.EVENTLOCATIONID = EL.ID
            where DSIER.ID = @ID;

            select @DESCRIPTION2 = 
                case @DESCRIPTIONTYPECODE2
                    when 3 then EP.NAME
                    when 14 then dbo.UFN_HOURMINUTE_DISPLAYTIME(E.STARTTIME)
                    when 15 then convert(nvarchar,E.CAPACITY)
                    when 16 then convert(nvarchar,E.STARTDATE,101)
                    when 17 then coalesce(EL.NAME,'Event location')
                    when 18 then E.NAME
                    else @DESCRIPTION2
                end
            from dbo.DAILYSALEITEMEVENTREGISTRATION DSIER
            inner join dbo.EVENT E on DSIER.EVENTID = E.ID
            inner join dbo.EVENTPRICE EP on DSIER.EVENTPRICEID = EP.ID
            left outer join dbo.EVENTLOCATION EL on E.EVENTLOCATIONID = EL.ID
            where DSIER.ID = @ID;

            select @DESCRIPTION3 = 
                case @DESCRIPTIONTYPECODE3
                    when 3 then EP.NAME
                    when 14 then dbo.UFN_HOURMINUTE_DISPLAYTIME(E.STARTTIME)
                    when 15 then convert(nvarchar,E.CAPACITY)
                    when 16 then convert(nvarchar,E.STARTDATE,101)
                    when 17 then coalesce(EL.NAME,'Event location')
                    when 18 then E.NAME
                    else @DESCRIPTION3
                end
            from dbo.DAILYSALEITEMEVENTREGISTRATION DSIER
            inner join dbo.EVENT E on DSIER.EVENTID = E.ID
            inner join dbo.EVENTPRICE EP on DSIER.EVENTPRICEID = EP.ID
            left outer join dbo.EVENTLOCATION EL on E.EVENTLOCATIONID = EL.ID
            where DSIER.ID = @ID;

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