USP_DATALIST_PROGRAMTICKETSELECT
Lists programs available for sale.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@DATESELECTTYPE | tinyint | IN | Date |
@STARTDATE | datetime | IN | From |
@ENDDATE | datetime | IN | To |
@NAME | nvarchar(512) | IN | Name |
@SHOWPAST | bit | IN | Show past events |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_PROGRAMTICKETSELECT
(
@ID uniqueidentifier,
@DATESELECTTYPE tinyint = null,
@STARTDATE datetime = null,
@ENDDATE datetime = null,
@NAME nvarchar(512) = null,
@SHOWPAST bit = null
)
as
set nocount on;
-- Get sales method ID and constituent ID
declare @CONSTITUENTID uniqueidentifier
declare @SALESMETHODID uniqueidentifier
select @CONSTITUENTID = SALESORDER.CONSTITUENTID, @SALESMETHODID = SALESMETHOD.ID
from dbo.SALESORDER left outer join dbo.SALESMETHOD on SALESORDER.SALESMETHODTYPECODE = SALESMETHOD.TYPECODE
where SALESORDER.ID = @ID
set @NAME = '%' + replace(replace(@NAME, '*', '%'), '?', '_') + '%';
declare @CURRENTDATE datetime = getdate();
if @DATESELECTTYPE is null
set @DATESELECTTYPE = 1;
set @STARTDATE = case @DATESELECTTYPE
when 1 then dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE)
when 2 then dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE)
when 3 then dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE)
when 4 then dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE)
end;
set @ENDDATE = case @DATESELECTTYPE
when 1 then dbo.UFN_DATE_GETLATESTTIME(@CURRENTDATE)
when 2 then dbo.UFN_DATE_GETLATESTTIME(dateadd(week,1, @CURRENTDATE))
when 3 then dbo.UFN_DATE_GETLATESTTIME(@STARTDATE)
when 4 then dbo.UFN_DATE_GETLATESTTIME(@ENDDATE)
end;
--If past events shouldn't be shown and the start date is before now, fix start date to now
if (@SHOWPAST = 0 or @SHOWPAST is null) and (@STARTDATE < @CURRENTDATE)
set @STARTDATE = @CURRENTDATE;
select
[ID],
[PROGRAMID],
[NAME],
[AVAILABILITY],
[STARTDATE],
[STARTTIME],
[ENDTIME],
[PROGRAMCATEGORY],
[ISDAILYADMISSION],
[ISCOMBINATION],
[EVENTSTATUSCODE]
from dbo.UFN_SALESORDER_PROGRAMTICKETSELECT
(
@SALESMETHODID,
@CONSTITUENTID,
@DATESELECTTYPE,
@STARTDATE,
@ENDDATE,
@NAME,
@SHOWPAST,
@CURRENTDATE
)