USP_SIMPLEDATALIST_PROGRAM_DAILYADMISSIONSALES

Builds a list of daily admission programs available for sale.

Parameters

Parameter Parameter Type Mode Description
@TYPECODE tinyint IN TYPECODE
@ITINERARYITEMID uniqueidentifier IN ITINERARYITEMID

Definition

Copy


            CREATE procedure dbo.USP_SIMPLEDATALIST_PROGRAM_DAILYADMISSIONSALES(
                    @TYPECODE tinyint,
                    @ITINERARYITEMID uniqueidentifier = null
                ) as

                if @ITINERARYITEMID is null
                begin
                    select 
                        P.ID as VALUE
                        P.NAME as LABEL
                    from dbo.PROGRAM P
                    inner join dbo.PROGRAMSALESMETHOD PSM on PSM.PROGRAMID = P.ID
                    inner join dbo.SALESMETHOD SM on SM.ID = PSM.SALESMETHODID
                    inner join dbo.PROGRAMPRICE PP on P.ID = PP.PROGRAMID
                    where P.ISDAILYADMISSION = 1 and 
                        SM.TYPECODE = @TYPECODE and
                        P.ISACTIVE = 1
                    group by P.ID, P.NAME
                    order by NAME
                end
                else
                begin
                    declare @PROGRAMID uniqueidentifier;
                    select @PROGRAMID = PROGRAMID
                    from dbo.ITINERARYITEM
                    where ITINERARYITEM.ID = @ITINERARYITEMID 
                        and ITEMTYPECODE = 1

                    select 
                        P.ID as VALUE
                        P.NAME as LABEL
                    from dbo.PROGRAM P
                    inner join dbo.PROGRAMSALESMETHOD PSM on PSM.PROGRAMID = P.ID
                    inner join dbo.SALESMETHOD SM on SM.ID = PSM.SALESMETHODID
                    inner join dbo.PROGRAMPRICE PP on P.ID = PP.PROGRAMID
                    where P.ISDAILYADMISSION = 1 and 
                        SM.TYPECODE = @TYPECODE and
                        (P.ISACTIVE = 1 or P.ID = @PROGRAMID)
                    group by P.ID, P.NAME
                    order by NAME
                end