UFN_DESIGNATIONLEVEL_SITEVALIDFORLINKEDAUCTIONITEMS
Ensures that the designation level site does not conflict with the auction site(s) of auction items.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DESIGNATIONLEVELID | uniqueidentifier | IN | |
@SITEID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_DESIGNATIONLEVEL_SITEVALIDFORLINKEDAUCTIONITEMS
(
@DESIGNATIONLEVELID uniqueidentifier,
@SITEID uniqueidentifier
)
returns bit
as begin
declare @VALID bit = 1;
select
@VALID = 0
from
dbo.AUCTIONITEM
left join dbo.REVENUESPLIT on AUCTIONITEM.REVENUEAUCTIONDONATIONID = REVENUESPLIT.REVENUEID
left join dbo.DESIGNATION on REVENUESPLIT.DESIGNATIONID = DESIGNATION.ID
left join dbo.DESIGNATIONLEVEL DL1 on DL1.ID = DESIGNATION.DESIGNATIONLEVEL1ID
left join dbo.DESIGNATIONLEVEL DL2 on DL2.ID = DESIGNATION.DESIGNATIONLEVEL2ID
left join dbo.DESIGNATIONLEVEL DL3 on DL3.ID = DESIGNATION.DESIGNATIONLEVEL3ID
left join dbo.DESIGNATIONLEVEL DL4 on DL4.ID = DESIGNATION.DESIGNATIONLEVEL4ID
left join dbo.DESIGNATIONLEVEL DL5 on DL5.ID = DESIGNATION.DESIGNATIONLEVEL5ID
where
(
DL1.ID = @DESIGNATIONLEVELID or DL2.ID = @DESIGNATIONLEVELID or DL3.ID = @DESIGNATIONLEVELID
or DL4.ID = @DESIGNATIONLEVELID or DL5.ID = @DESIGNATIONLEVELID
)
and
AUCTIONITEM.EVENTAUCTIONID is not null
and
(
(@SITEID is null and exists(select 1 from dbo.EVENTSITE where EVENTSITE.EVENTID = AUCTIONITEM.EVENTAUCTIONID))
or
(@SITEID is not null and not exists(select 1 from dbo.EVENTSITE where EVENTSITE.EVENTID = AUCTIONITEM.EVENTAUCTIONID and EVENTSITE.SITEID = @SITEID))
)
return @VALID;
end