USP_DATALIST_EVENTCALENDAREVENTS

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
@DATEFILTER tinyint IN Events
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SITEID uniqueidentifier IN Site
@EVENTCATEGORYCODEID uniqueidentifier IN Category
@EVENTLOCATIONID uniqueidentifier IN Location
@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.
@HIDEEVENTS bit IN Hide events

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_EVENTCALENDAREVENTS
                (
                    @INCLUDEINACTIVE bit = 0,
                    @ONLYSHOWUSERSEVENTS bit = 0,
                    @DATEFILTER tinyint = 2,
                    @CURRENTAPPUSERID uniqueidentifier = null,
                    @SITEID uniqueidentifier = null,
                    @EVENTCATEGORYCODEID uniqueidentifier = null,
                    @EVENTLOCATIONID uniqueidentifier = null,
                    @SECURITYFEATUREID uniqueidentifier = null,
                    @SECURITYFEATURETYPE tinyint = null,
                    @HIDEEVENTS bit = 0
                )
                as
                    set nocount on;                    

                    declare @DATE datetime
                    declare @STARTDATE datetime
                    declare @ENDDATE datetime

                    set @DATE = getdate();

                    if @DATEFILTER = 0        -- all

                        begin
                            set @STARTDATE = null
                            set @ENDDATE = null
                        end

                    if @DATEFILTER = 1        -- this week

                        begin
                            set @STARTDATE = dbo.UFN_DATE_THISWEEK_FIRSTDAY(@DATE, 0)
                            set @ENDDATE = dbo.UFN_DATE_THISWEEK_LASTDAY(@DATE, 0)
                        end

                    if @DATEFILTER = 2        -- this month

                        begin
                            set @STARTDATE = dbo.UFN_DATE_THISMONTH_FIRSTDAY(@DATE, 0)
                            set @ENDDATE = dbo.UFN_DATE_THISMONTH_LASTDAY(@DATE, 0)
                        end

                    if @DATEFILTER = 3        -- this quarter

                        begin
                            set @STARTDATE = dbo.UFN_DATE_THISQUARTER_FIRSTDAY(@DATE, 0)
                            set @ENDDATE = dbo.UFN_DATE_THISQUARTER_LASTDAY(@DATE, 0)
                        end

                    if @DATEFILTER = 4        --this calendar year

                        begin

                            set @STARTDATE = dbo.UFN_DATE_THISCALENDARYEAR_FIRSTDAY(@DATE, 0)
                            set @ENDDATE = dbo.UFN_DATE_THISCALENDARYEAR_LASTDAY(@DATE, 0)
                        end

                    if @ONLYSHOWUSERSEVENTS = 1
                        select 
                            EVENT.ID,                        
                            EVENT.NAME,
                            EVENT.STARTDATE,
                            EVENT.STARTTIME,
                            EVENT.ENDDATE,                        
                            EVENT.ENDTIME,
                            (select count(ID) from dbo.REGISTRANT where REGISTRANT.EVENTID = EVENT.ID),
                            (select sum(coalesce(BUDGETEDAMOUNT,0)) from dbo.EVENTEXPENSE where EVENTEXPENSE.EVENTID = EVENT.ID),
                            (select sum(coalesce(ACTUALAMOUNT,0)) from dbo.EVENTEXPENSE where EVENTEXPENSE.EVENTID = EVENT.ID),
                            dbo.UFN_EVENT_GETNAME(EVENT.MAINEVENTID),
                            (select top(1) BASECURRENCYID from dbo.EVENTEXPENSE where EVENTEXPENSE.EVENTID = EVENT.ID),
              dbo.UFN_IS_FRIENDS_ASKING_FRIENDS_EVENT(EVENT.ID) as ISFRIENDSASKINGFRIENDS
                        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
                            (
                                (@EVENTCATEGORYCODEID is null)
                                or
                                (EVENT.EVENTCATEGORYCODEID = @EVENTCATEGORYCODEID)
                            )
                            and
                            (
                                (@EVENTLOCATIONID is null)
                                or
                                (EVENT.EVENTLOCATIONID = @EVENTLOCATIONID)
                            )
                            and
                            EVENT.PROGRAMID is null
                            and EVENTCOORDINATOR.CONSTITUENTID = dbo.UFN_CONSTITUENT_GETIDFROMAPPUSERID(@CURRENTAPPUSERID)
                            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.HIDEFROMCALENDAR = 0 or @HIDEEVENTS = 0)

                        order by 
                            EVENT.NAME;
                    else
                        select 
                            EVENT.ID,                        
                            EVENT.NAME,
                            EVENT.STARTDATE,
                            EVENT.STARTTIME,
                            EVENT.ENDDATE,                        
                            EVENT.ENDTIME,
                            (select count(ID) from dbo.REGISTRANT where REGISTRANT.EVENTID = EVENT.ID),
                            (select sum(coalesce(BUDGETEDAMOUNT,0)) from dbo.EVENTEXPENSE where EVENTEXPENSE.EVENTID = EVENT.ID),
                            (select sum(coalesce(ACTUALAMOUNT,0)) from dbo.EVENTEXPENSE where EVENTEXPENSE.EVENTID = EVENT.ID),
                            dbo.UFN_EVENT_GETNAME(EVENT.MAINEVENTID),
                            (select top(1) BASECURRENCYID from dbo.EVENTEXPENSE where EVENTEXPENSE.EVENTID = EVENT.ID),
              dbo.UFN_IS_FRIENDS_ASKING_FRIENDS_EVENT(EVENT.ID) as ISFRIENDSASKINGFRIENDS
                        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
                            (
                                (@EVENTCATEGORYCODEID is null)
                                or
                                (EVENT.EVENTCATEGORYCODEID = @EVENTCATEGORYCODEID)
                            )
                            and
                            (
                                (@EVENTLOCATIONID is null)
                                or
                                (EVENT.EVENTLOCATIONID = @EVENTLOCATIONID)
                            )
                            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 or @HIDEEVENTS = 0)

                        order by 
                            EVENT.NAME;