USP_AUCTIONITEM_DELETE
Executes the "Delete an auction item" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being deleted. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the delete. |
Definition
Copy
CREATE procedure dbo.USP_AUCTIONITEM_DELETE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as begin
declare @REVENUEPOSTEDID uniqueidentifier;
declare @PURCHASEID uniqueidentifier;
declare @RESERVATIONID uniqueidentifier;
declare @INRESERVEDPACKAGEID uniqueidentifier;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
select
@REVENUEPOSTEDID = REVENUEPOSTED.ID,
@PURCHASEID = AUCTIONITEMPURCHASE.PURCHASEID,
@RESERVATIONID = AUCTIONITEMRESERVATION.ID,
@INRESERVEDPACKAGEID = [RESERVEDPARENTPACKAGE].AUCTIONITEMID
from dbo.AUCTIONITEM
left join dbo.AUCTIONITEMPURCHASE
on AUCTIONITEM.ID = AUCTIONITEMPURCHASE.AUCTIONITEMID
left join dbo.REVENUEPOSTED
on REVENUEPOSTED.ID = AUCTIONITEM.REVENUEAUCTIONDONATIONID
left join dbo.AUCTIONITEMRESERVATION
on AUCTIONITEMRESERVATION.AUCTIONITEMID = AUCTIONITEM.ID
left join dbo.AUCTIONITEMRESERVATION [RESERVEDPARENTPACKAGE]
on [RESERVEDPARENTPACKAGE].AUCTIONITEMID = AUCTIONITEM.PACKAGEID
where AUCTIONITEM.ID = @ID
begin try
if @REVENUEPOSTEDID is not null
raiserror('Posted items should not be deleted with this task.', 13, 1);
if @RESERVATIONID is not null
raiserror('This item is pending purchase and cannot be deleted.', 13, 1);
if @INRESERVEDPACKAGEID is not null
raiserror('This item is part of a package that is pending purchase and cannot be deleted.', 13, 1);
if @PURCHASEID is not null
raiserror('Purchased items cannot be deleted.', 13, 1);
declare @REVENUEID uniqueidentifier;
select @REVENUEID = REVENUEAUCTIONDONATIONID from dbo.AUCTIONITEM where ID = @ID;
update dbo.AUCTIONITEM
set COPIEDFROMID = null,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where COPIEDFROMID = @ID;
exec dbo.USP_AUCTIONITEM_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID;
exec dbo.USP_REVENUE_DELETE @REVENUEID, @CHANGEAGENTID;
return 0;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
end