USP_DATALIST_EVENTMOBILE

Parameters

Parameter Parameter Type Mode Description
@STARTDATE date IN
@ENDDATE date IN

Definition

Copy


                create procedure dbo.USP_DATALIST_EVENTMOBILE
                (
                    @STARTDATE date = null,
                    @ENDDATE date = null
                )
                as
                    set nocount on;

                    declare @STARTDATEWITHOFFSET datetimeoffset;
                    declare @ENDDATEWITHOFFSET datetimeoffset;

                    if @STARTDATE is null
                        set @STARTDATEWITHOFFSET = dbo.UFN_TIMEZONEENTRY_GETSYSTEMDEFAULTDATEWITHTIMEOFFSET(dbo.UFN_DATE_GETEARLIESTTIME(getdate()), 0);
                    else
                        set @STARTDATEWITHOFFSET = dbo.UFN_TIMEZONEENTRY_GETSYSTEMDEFAULTDATEWITHTIMEOFFSET(dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE), 0);

                    if @ENDDATE is null
                        set @ENDDATEWITHOFFSET = dbo.UFN_TIMEZONEENTRY_GETSYSTEMDEFAULTDATEWITHTIMEOFFSET(dbo.UFN_DATE_GETLATESTTIME(@STARTDATEWITHOFFSET), 0);
                    else
                        set @ENDDATEWITHOFFSET = dbo.UFN_TIMEZONEENTRY_GETSYSTEMDEFAULTDATEWITHTIMEOFFSET(dbo.UFN_DATE_GETLATESTTIME(@ENDDATE), 0);

                    select 
                        EVENT.ID,
                        EVENT.NAME,
                        EVENT.STARTDATETIME,
                        EVENT.STARTTIME,
                        coalesce(
                            (
                                select count(1) from dbo.REGISTRANT 
                                left join dbo.SALESORDERITEMTICKETREGISTRANT on REGISTRANT.ID = SALESORDERITEMTICKETREGISTRANT.REGISTRANTID
                                left join dbo.SALESORDERITEM on SALESORDERITEMTICKETREGISTRANT.SALESORDERITEMTICKETID = SALESORDERITEM.ID
                                where 
                                    REGISTRANT.EVENTID = EVENT.ID and
                                    REGISTRANT.WILLNOTATTEND = 0
                            ),0
                        )
                    from dbo.EVENT
                    left join dbo.PROGRAM
                        on PROGRAM.ID = EVENT.PROGRAMID
                    where 
                        EVENT.STARTDATETIMEWITHOFFSET between 
                            @STARTDATEWITHOFFSET and @ENDDATEWITHOFFSET
                        and
                        (
                            (PROGRAM.ISPREREGISTERED = 1 and PROGRAM.ISACTIVE = 1)
                            or
                            EVENT.PROGRAMID is null
                        )
                    order by EVENT.STARTTIME asc, EVENT.NAME asc