UFN_ITINERARYITEM_ISLOCATIONBLOCKED
Determines whether a custom item is currently blocking a location for an attempted itinerary item insertion.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTLOCATIONID | uniqueidentifier | IN | |
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN | |
@STARTTIME | UDT_HOURMINUTE | IN | |
@ENDTIME | UDT_HOURMINUTE | IN |
Definition
Copy
CREATE function dbo.UFN_ITINERARYITEM_ISLOCATIONBLOCKED
(
@EVENTLOCATIONID uniqueidentifier = null,
@STARTDATE datetime,
@ENDDATE datetime,
@STARTTIME dbo.UDT_HOURMINUTE,
@ENDTIME dbo.UDT_HOURMINUTE
)
returns bit
with execute as caller
as begin
declare @BLOCKED bit;
set @BLOCKED = 0;
declare @SDATE datetime;
set @SDATE = dbo.UFN_DATE_ADDHOURMINUTE(@STARTDATE, @STARTTIME)
declare @EDATE datetime;
set @EDATE = dbo.UFN_DATE_ADDHOURMINUTE(@ENDDATE, @ENDTIME)
if exists(select 1
from dbo.ITINERARYITEM IT1
inner join dbo.ITINERARY on ITINERARY.ID = IT1.ITINERARYID
inner join dbo.SALESORDER on SALESORDER.ID = ITINERARY.RESERVATIONID
where SALESORDER.STATUSCODE <> 5 and -- MDC - Ignore cancelled.
ITEMTYPECODE = 2 and
BLOCKEVENT = 1 and
IT1.EVENTLOCATIONID = @EVENTLOCATIONID and
((@SDATE >= IT1.STARTDATETIME and @SDATE < IT1.ENDDATETIME) or
(@EDATE > IT1.STARTDATETIME and @EDATE <= IT1.ENDDATETIME) or
(@SDATE <= IT1.STARTDATETIME and @EDATE >= IT1.ENDDATETIME) or
(@EDATE > IT1.STARTDATETIME and @EDATE <= IT1.ENDDATETIME))
)
begin
set @BLOCKED = 1
end
return @BLOCKED
end