USP_DATALIST_EVENTCOPYWEEKSTARTDATEOFEVENT
Returns all of the events on the week of a given event and all the information needed to copy them.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_EVENTCOPYWEEKSTARTDATEOFEVENT
(
@EVENTID uniqueidentifier
)
as
set nocount on;
declare @DATETOCOPY datetime;
declare @FROMDATE datetime;
declare @TODATE datetime;
select @DATETOCOPY = EVENT.STARTDATE from dbo.EVENT where EVENT.ID = @EVENTID;
set @FROMDATE = dbo.UFN_DATE_THISWEEK_FIRSTDAY(@DATETOCOPY, 0);
set @TODATE = dbo.UFN_DATE_THISWEEK_LASTDAY(@DATETOCOPY, 1);
-- Making this query dynamic so that @FROMDATE and @TODATE can be parameterized
-- and the query engine will use the STARTDATE index
declare @SQL nvarchar(max) = '
select
EVENT.ID as EVENTID,
EVENT.NAME,
EVENT.STARTDATETIME as START,
EVENT.ENDDATETIME as [END],
EVENT.DESCRIPTION,
EVENT.CAPACITY,
EVENT.PROGRAMID,
PROGRAM.NAME,
dbo.UFN_EVENT_GETSEQUENCEDLOCATIONS_TOITEMLISTXML(EVENT.ID) as LOCATIONS,
dbo.UFN_EVENTRESOURCE_GETRESOURCES_TOITEMLISTXML(EVENT.ID) as RESOURCES,
dbo.UFN_EVENTSTAFFRESOURCE_GETRESOURCES_TOITEMLISTXML(EVENT.ID) as STAFFRESOURCES,
datepart(weekday, EVENT.STARTDATE) as DAYOFWEEK,
dbo.UFN_EVENT_GETEVENTPRICES_TOITEMLISTXML(EVENT.ID) as PRICES,
dbo.UFN_PROGRAMEVENTPREFERENCEGROUPS_GETPREFERENCEGROUPS_TOITEMLISTXML(EVENT.ID) as PREFERENCEGROUPS,
EVENT.SUPERCEDESPROGRAMPUBLICDESCRIPTION,
EVENT.PUBLICDESCRIPTIONTEXT,
EVENT.PUBLICDESCRIPTIONHTML
from
dbo.EVENT
inner join
dbo.PROGRAM on EVENT.PROGRAMID = PROGRAM.ID
where
EVENT.STARTDATE between @FROMDATE and @TODATE and
PROGRAM.ISACTIVE = 1
order by
EVENT.STARTDATETIME asc
';
exec sp_executesql @SQL, N'@FROMDATE datetime, @TODATE datetime', @FROMDATE = @FROMDATE, @TODATE = @TODATE;
return 0;