USP_REPORT_TICKETAVAILABILITY

Parameters

Parameter Parameter Type Mode Description
@FROMDATE date IN
@TODATE date IN
@PROGRAMID uniqueidentifier IN
@PROGRAMSELECTIONID uniqueidentifier IN

Definition

Copy

                create procedure dbo.USP_REPORT_TICKETAVAILABILITY
                (
                    @FROMDATE date = null,
                    @TODATE date = null,
                    @PROGRAMID uniqueidentifier = null,
                    @PROGRAMSELECTIONID uniqueidentifier = null
                )
                as 
                    set nocount on;

                    declare @SELECTEDPROGRAMS table (
                        ID uniqueidentifier
                    );

                    if @PROGRAMSELECTIONID is not null
                        insert into @SELECTEDPROGRAMS (ID)
                        select ID from dbo.UFN_IDSETREADER_GETRESULTS_GUID(@PROGRAMSELECTIONID);

                    select
                        EVENT.ID as EVENTID,
                        EVENT.STARTDATE as EVENTDATE,
                        EVENT.NAME as EVENTNAME,
                        EVENT.STARTTIME as EVENTTIME,
                        EVENT.CAPACITY as EVENTCAPACITY,
                        (TICKETCOUNTS.SOLD + TICKETCOUNTS.CONFIRMEDORFINALIZED) as TICKETSSOLD,
                        (TICKETCOUNTS.INORDER - TICKETCOUNTS.CONFIRMEDORFINALIZED) as TICKETSRESERVED
                    from
                        dbo.EVENT
                    inner join
                        dbo.V_PROGRAMEVENT_TICKETCOUNTS as TICKETCOUNTS on TICKETCOUNTS.ID = EVENT.ID
                    where
                        (@FROMDATE is null or EVENT.STARTDATE >= @FROMDATE)
                        and (@TODATE is null or EVENT.STARTDATE <= @TODATE)
                        and (@PROGRAMID is null or @PROGRAMID = EVENT.PROGRAMID)
                        and (@PROGRAMSELECTIONID is null or exists (select top 1 1 from @SELECTEDPROGRAMS where ID = EVENT.PROGRAMID));

                    return 0;