USP_DATAFORMTEMPLATE_ADD_AUCTIONITEMCOPY
The save procedure used by the add dataform template "Auction Item Copy Add Data Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@AUCTIONITEMID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@NAME | nvarchar(100) | IN | Name |
@AUCTIONITEMCATEGORYID | uniqueidentifier | IN | Category |
@AUCTIONITEMSUBCATEGORYID | uniqueidentifier | IN | Subcategory |
@DESCRIPTION | nvarchar(255) | IN | Description |
@VALUE | money | IN | Value |
@MINIMUMBID | money | IN | Minimum bid |
@DONATIONDATE | date | IN | Donation date |
@EXPIRATIONDATE | date | IN | Expiration date |
@DONORID | uniqueidentifier | IN | Donor |
@EVENTAUCTIONID | uniqueidentifier | IN | Auction |
@DESIGNATIONID | uniqueidentifier | IN | Designation |
@QUANTITY | int | IN | Number of copies |
@ISANONYMOUS | bit | IN | Donation is anonymous |
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | PD account system |
@POSTDATE | datetime | IN | Post date |
@POSTSTATUSCODE | tinyint | IN | Post status |
@BASECURRENCYID | uniqueidentifier | IN | Base currency |
@BASEEXCHANGERATEID | uniqueidentifier | IN | Exchange rate ID |
@TRANSACTIONCURRENCYID | uniqueidentifier | IN | Transaction currency |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_AUCTIONITEMCOPY
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@AUCTIONITEMID uniqueidentifier,
@NAME nvarchar(100) = '',
@AUCTIONITEMCATEGORYID uniqueidentifier = null,
@AUCTIONITEMSUBCATEGORYID uniqueidentifier = null,
@DESCRIPTION nvarchar(255) = null,
@VALUE money = null,
@MINIMUMBID money = null,
@DONATIONDATE date = null,
@EXPIRATIONDATE date = null,
@DONORID uniqueidentifier = null,
@EVENTAUCTIONID uniqueidentifier = null,
@DESIGNATIONID uniqueidentifier = null,
@QUANTITY integer = null,
@ISANONYMOUS bit = null,
@PDACCOUNTSYSTEMID uniqueidentifier = null,
@POSTDATE datetime = null,
@POSTSTATUSCODE tinyint = 1,
@BASECURRENCYID uniqueidentifier = null,
@BASEEXCHANGERATEID uniqueidentifier = null,
@TRANSACTIONCURRENCYID uniqueidentifier = null
)
as
set nocount on;
if @QUANTITY < 1
raiserror('Quantity must be greater than zero.', 13, 1);
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @COUNT integer;
set @COUNT = 0;
declare @BASEEXCHANGERATEISSPOTRATE bit = 0;
if (select top 1 TYPECODE from dbo.CURRENCYEXCHANGERATE where ID = @BASEEXCHANGERATEID) = 2
set @BASEEXCHANGERATEISSPOTRATE = 1;
declare @COPYBASEEXCHANGERATEID uniqueidentifier = @BASEEXCHANGERATEID;
begin try
while (@COUNT < @QUANTITY)
begin
set @ID = newid();
if @BASEEXCHANGERATEISSPOTRATE = 1
begin
set @COPYBASEEXCHANGERATEID = newid();
insert into dbo.CURRENCYEXCHANGERATE(ID, FROMCURRENCYID, TOCURRENCYID, RATE, ASOFDATE, TYPECODE, SOURCECODEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select @COPYBASEEXCHANGERATEID, FROMCURRENCYID, TOCURRENCYID, RATE, ASOFDATE, TYPECODE, SOURCECODEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from dbo.CURRENCYEXCHANGERATE
where ID = @BASEEXCHANGERATEID;
end
exec dbo.USP_AUCTIONITEM_ADD
@ID = @ID,
@CHANGEAGENTID = @CHANGEAGENTID,
@NAME = @NAME,
@AUCTIONITEMCATEGORYID = @AUCTIONITEMCATEGORYID,
@AUCTIONITEMSUBCATEGORYID = @AUCTIONITEMSUBCATEGORYID,
@DESCRIPTION = @DESCRIPTION,
@VALUE = @VALUE,
@MINIMUMBID = @MINIMUMBID,
@DONATIONDATE = @DONATIONDATE,
@EXPIRATIONDATE = @EXPIRATIONDATE,
@DONORID = @DONORID,
@EVENTAUCTIONID = @EVENTAUCTIONID,
@PACKAGEID = null,
@TYPECODE = 0,
@COPIEDFROMID = @AUCTIONITEMID,
@DESIGNATIONID = @DESIGNATIONID,
@ISANONYMOUS = @ISANONYMOUS,
@PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID,
@POSTDATE = @POSTDATE,
@POSTSTATUSCODE = @POSTSTATUSCODE,
@BASECURRENCYID = @BASECURRENCYID,
@TRANSACTIONCURRENCYID = @TRANSACTIONCURRENCYID,
@BASEEXCHANGERATEID = @COPYBASEEXCHANGERATEID;
set @COUNT = @COUNT + 1;
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0