USP_DATALIST_PROGRAMBYDATEBYSALESMETHOD

Lists all programs filtered by date and sales method.

Parameters

Parameter Parameter Type Mode Description
@STARTDATE datetime IN
@ENDDATE datetime IN
@SALESMETHODTYPECODE tinyint IN On-sale via specified sales method
@PROGRAMCATEGORYCODEID uniqueidentifier IN
@INCLUDEPREREGISTERED bit IN

Definition

Copy


            CREATE procedure dbo.USP_DATALIST_PROGRAMBYDATEBYSALESMETHOD
            (
                @STARTDATE datetime = null,
                @ENDDATE datetime = null,
                @SALESMETHODTYPECODE tinyint,
                @PROGRAMCATEGORYCODEID uniqueidentifier = null,
                @INCLUDEPREREGISTERED bit = 0
            )
            as
                set nocount on;    

                /* begin preparing parameters for UFN_SALESORDER_PROGRAMTICKETSELECT */    
                    declare @SALESMETHODID uniqueidentifier 
                    set @SALESMETHODID = [dbo].[UFN_SALESMETHOD_GETIDFROMTYPECODE] (@SALESMETHODTYPECODE)

                    --set @NAME = '%' + replace(replace(@NAME, '*', '%'), '?', '_') + '%';


                    declare @CURRENTDATETIMEOFFSET datetimeoffset = dbo.UFN_TIMEZONEENTRY_GETSYSTEMDEFAULTDATEWITHTIMEOFFSET(sysutcdatetime(), 1)

                    declare @STARTDATETIMEOFFSET as datetimeoffset = TODATETIMEOFFSET(@STARTDATE, DATEPART(tz, SYSDATETIMEOFFSET()))
                    declare @ENDDATETIMEOFFSET as datetimeoffset = TODATETIMEOFFSET(@ENDDATE, DATEPART(tz, SYSDATETIMEOFFSET()))

                    set @STARTDATETIMEOFFSET = dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATETIMEOFFSET)
                    set @ENDDATETIMEOFFSET = dbo.UFN_DATE_GETLATESTTIME(@ENDDATETIMEOFFSET)

                    --if the start date is before now, bring the start date forward to now

                    if (@STARTDATETIMEOFFSET < @CURRENTDATETIMEOFFSET)
                        set @STARTDATETIMEOFFSET = @CURRENTDATETIMEOFFSET;
                /* end preparing parameters for UFN_SALESORDER_PROGRAMTICKETSELECT */                    

                select 
                    ID,
                    NAME,
                    PUBLICDESCRIPTIONHTML,
                    ISPREREGISTERED
                from dbo.PROGRAM
                where (ISACTIVE = 1)
                    and ((PROGRAMCATEGORYCODEID = @PROGRAMCATEGORYCODEID) or (@PROGRAMCATEGORYCODEID IS NULL))
                    and exists (select PROGRAMID from [dbo].[UFN_SALESORDER_PROGRAMTICKETSELECT_DATETIMEOFFSET] (@SALESMETHODID, NULL, 4, @STARTDATETIMEOFFSET, @ENDDATETIMEOFFSET, NULL, 0, @CURRENTDATETIMEOFFSET) where PROGRAMID = PROGRAM.ID)
                    and (ISDAILYADMISSION = 0)    
                    and ((ISPREREGISTERED = 0) or (ISPREREGISTERED = @INCLUDEPREREGISTERED))