UFN_SALESORDER_GETITEMDESCRIPTION

Returns a description of the items on a sales order.

Return

Return Type
nvarchar(max)

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN

Definition

Copy


            create function dbo.UFN_SALESORDER_GETITEMDESCRIPTION(@ID uniqueidentifier)
            returns nvarchar(max)
            with execute as caller
            as begin
                declare @DESCRIPTION nvarchar(max);
                declare @SALESMETHODTYPECODE tinyint;
                declare @NUMBEROFVISITORS int;

                select @SALESMETHODTYPECODE = SALESMETHODTYPECODE from dbo.SALESORDER where ID = @ID;

                if @SALESMETHODTYPECODE is not null
                begin
                    if @SALESMETHODTYPECODE = 3
                    begin
                        select
                            @DESCRIPTION = isnull(dbo.UDA_BUILDLIST(ITINERARYITEM.NAME), '')
                        from
                            dbo.ITINERARYITEM
                        inner join
                            dbo.ITINERARY on ITINERARYITEM.ITINERARYID = ITINERARY.ID
                        where
                            ITINERARY.RESERVATIONID = @ID;

                        if len(@DESCRIPTION) > 0
                            set @DESCRIPTION = ' - ' + @DESCRIPTION;

                        set @NUMBEROFVISITORS = dbo.UFN_RESERVATION_TOTALVISITORCOUNT(@ID);

                        if @NUMBEROFVISITORS = 1
                            set @DESCRIPTION = cast(@NUMBEROFVISITORS as nvarchar(50)) + ' visitor' + @DESCRIPTION;
                        else
                            set @DESCRIPTION = cast(@NUMBEROFVISITORS as nvarchar(50)) + ' visitors' + @DESCRIPTION;
                    end

                    else
                    begin
                        select
                            @DESCRIPTION = dbo.UDA_BUILDLIST(DESCRIPTION)
                        from
                            dbo.SALESORDERITEM
                        where
                            SALESORDERID = @ID
                            and TYPECODE not in (3,4,5);
                    end
                end

                return @DESCRIPTION;
            end