USP_DATALIST_PROGRAMCALENDAR_SPECIALEVENTS

Displays the events on the event calendar.

Parameters

Parameter Parameter Type Mode Description
@INCLUDEINACTIVE bit IN Include inactive
@ONLYSHOWUSERSEVENTS bit IN Only show my events
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SECURITYFEATUREID uniqueidentifier IN Input parameter indicating the ID of the feature to use for site security checking.
@SECURITYFEATURETYPE tinyint IN Input parameter indicating the type of the feature to use for site security checking.
@SITEID uniqueidentifier IN Site
@STARTDATE date IN Start date
@ENDDATE date IN End date

Definition

Copy


CREATE procedure dbo.USP_DATALIST_PROGRAMCALENDAR_SPECIALEVENTS
(
  @INCLUDEINACTIVE bit = 0,
  @ONLYSHOWUSERSEVENTS bit = 0,
  @CURRENTAPPUSERID uniqueidentifier = null,
  @SECURITYFEATUREID uniqueidentifier = null,
  @SECURITYFEATURETYPE tinyint = null,
  @SITEID uniqueidentifier = null,
  @STARTDATE date = null,
  @ENDDATE date = null
)
as
    set nocount on;

    if @ONLYSHOWUSERSEVENTS = 1
            select 
                EVENT.ID,                        
                EVENT.NAME,
                EVENT.DESCRIPTION,
                EVENT.STARTDATE,
                EVENT.STARTTIME,
                EVENT.ENDDATE,                        
                EVENT.ENDTIME
            from 
                dbo.EVENT                                 
                inner join dbo.EVENTCOORDINATOR on EVENTCOORDINATOR.EVENTID = EVENT.ID
            where
                (
                    (@INCLUDEINACTIVE = 1
                    or 
                    (ISACTIVE = 1)
                )
                and
                (
                    (@STARTDATE is null
                    or 
                    (EVENT.STARTDATE between @STARTDATE and @ENDDATE)
                )    
        and
                (
                    (@SITEID is null)
                    or
                    (EVENT.ID in(select EVENTID from dbo.EVENTSITE where EVENTSITE.SITEID = @SITEID))
                )
        and (select count(*) from dbo.UFN_SITEID_MAPFROM_EVENTID(EVENT.ID) as EVENTSITE where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[EVENTSITE].[SITEID] or (SITEID is null and [EVENTSITE].[SITEID] is null)))) > 0
                and EVENT.PROGRAMID is null
                and EVENTCOORDINATOR.CONSTITUENTID = dbo.UFN_CONSTITUENT_GETIDFROMAPPUSERID(@CURRENTAPPUSERID)

            and EVENT.HIDEFROMCALENDAR = 0
            order by 
                EVENT.NAME;
        else
            select 
                EVENT.ID,                        
                EVENT.NAME,
                EVENT.DESCRIPTION,
                EVENT.STARTDATE,
                EVENT.STARTTIME,
                EVENT.ENDDATE,                        
                EVENT.ENDTIME
            from 
                dbo.EVENT 
            where
                (
                    (@INCLUDEINACTIVE = 1
                    or 
                    (ISACTIVE = 1)
                )
                and
                (
                    (@STARTDATE is null
                    or 
                    (EVENT.STARTDATE between @STARTDATE and @ENDDATE)
                )
        and
                (
                    (@SITEID is null)
                    or
                    (EVENT.ID in(select EVENTID from dbo.EVENTSITE where EVENTSITE.SITEID = @SITEID))
                )
        and (select count(*) from dbo.UFN_SITEID_MAPFROM_EVENTID(EVENT.ID) as EVENTSITE where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[EVENTSITE].[SITEID] or (SITEID is null and [EVENTSITE].[SITEID] is null)))) > 0 
                and EVENT.PROGRAMID is null

            and EVENT.HIDEFROMCALENDAR = 0
            order by 
                EVENT.NAME;