USP_DATAFORMTEMPLATE_ADD_AUCTIONITEMBATCHROW_COMMIT
The save procedure used by the add dataform template "Auction Item Batch Row Commit 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. |
@BATCHNUMBER | nvarchar(100) | IN | |
@VALIDATEONLY | bit | IN | |
@BATCHROWID | uniqueidentifier | IN | |
@CONSTITUENTID | uniqueidentifier | IN | Constituent |
@CONSTITUENTLOOKUPID | uniqueidentifier | IN | Lookup ID |
@NEWCONSTITUENT | xml | IN | New constituent |
@NAME | nvarchar(100) | IN | Item name |
@AUCTIONITEMCATEGORYID | uniqueidentifier | IN | Category |
@AUCTIONITEMSUBCATEGORYID | uniqueidentifier | IN | Subcategory |
@DESCRIPTION | nvarchar(255) | IN | Description |
@EVENTAUCTIONID | uniqueidentifier | IN | Auction |
@DESIGNATIONID | uniqueidentifier | IN | Designation |
@VALUE | money | IN | Value |
@MINIMUMBID | money | IN | Minimum bid |
@DONATIONDATE | date | IN | Donation date |
@EXPIRATIONDATE | date | IN | Expiration date |
@GIVENANONYMOUSLY | bit | IN | Given anonymously |
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | Account system |
@POSTDATE | datetime | IN | Post date |
@POSTSTATUSCODE | tinyint | IN | Post status |
@TRANSACTIONCURRENCYID | uniqueidentifier | IN | Transaction currency |
@BASECURRENCYID | uniqueidentifier | IN | Base currency |
@BASEEXCHANGERATEID | uniqueidentifier | IN | Base exchange rate |
@EXCHANGERATE | decimal(20, 8) | IN | Exchange rate |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_AUCTIONITEMBATCHROW_COMMIT
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier,
@BATCHNUMBER nvarchar(100),
@VALIDATEONLY bit = 0,
@BATCHROWID uniqueidentifier = null,
@CONSTITUENTID uniqueidentifier = null,
@CONSTITUENTLOOKUPID uniqueidentifier = null,
@NEWCONSTITUENT xml = null,
@NAME nvarchar(100),
@AUCTIONITEMCATEGORYID uniqueidentifier = null,
@AUCTIONITEMSUBCATEGORYID uniqueidentifier = null,
@DESCRIPTION nvarchar(255) = null,
@EVENTAUCTIONID uniqueidentifier = null,
@DESIGNATIONID uniqueidentifier = null,
@VALUE money = 0,
@MINIMUMBID money = 0,
@DONATIONDATE date = null,
@EXPIRATIONDATE date = null,
@GIVENANONYMOUSLY bit = 0,
@PDACCOUNTSYSTEMID uniqueidentifier,
@POSTDATE datetime = null,
@POSTSTATUSCODE tinyint,
@TRANSACTIONCURRENCYID uniqueidentifier = null,
@BASECURRENCYID uniqueidentifier = null,
@BASEEXCHANGERATEID uniqueidentifier = null,
@EXCHANGERATE decimal(20,8) = null,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
begin try
-- Multicurrency setup
declare @BASEAMOUNT money;
declare @ORGANIZATIONAMOUNT money;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
declare @TRANSACTIONVATAMOUNT money;
declare @TRANSACTIONAMOUNTTOTAX money;
declare @BASEVATAMOUNT money;
declare @BASEAMOUNTTOTAX money;
declare @ORGANIZATIONVATAMOUNT money;
declare @ORGANIZATIONAMOUNTTOTAX money;
set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
if @TRANSACTIONCURRENCYID is null
set @TRANSACTIONCURRENCYID = @BASECURRENCYID;
if @EXCHANGERATE is null
set @EXCHANGERATE = 0;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CHANGEDATE datetime;
set @CHANGEDATE = getdate();
if @ID is null
set @ID = newid();
if @DESCRIPTION is null
set @DESCRIPTION = N'';
if @VALUE is null
set @VALUE = 0;
if @MINIMUMBID is null
set @MINIMUMBID = 0;
if @POSTDATE is null
set @POSTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
if @POSTSTATUSCODE is null
set @POSTSTATUSCODE = 1;
if @CONSTITUENTID is null
raiserror('ERR_REQUIRED_CONSTITUENT', 13, 1);
if @EXPIRATIONDATE < @DONATIONDATE
raiserror('ERR_INVALID_EXPIRATIONDATE_DONATIONDATE', 13, 1);
if @DESIGNATIONID is null
raiserror('ERR_REQUIRED_DESIGNATION', 13, 1);
if @PDACCOUNTSYSTEMID is null
set @PDACCOUNTSYSTEMID = dbo.UFN_PDACCOUNTSYSTEM_GETDEFAULTSYSTEMIDSFORUSER(@CURRENTAPPUSERID)
-- Get base currency from account system's currency set, if available; from user's default set otherwise.
if @BASECURRENCYID is null
begin
declare @CURRENCYSETID uniqueidentifier
select @CURRENCYSETID = CURRENCYSETID
from dbo.PDACCOUNTSYSTEM
where ID = @PDACCOUNTSYSTEMID
select
@BASECURRENCYID = CURRENCYSET.BASECURRENCYID
from
dbo.CURRENCYSET
where
CURRENCYSET.ID = coalesce(@CURRENCYSETID,dbo.UFN_CURRENCYSET_GETAPPUSERDEFAULTCURRENCYSET())
end
if @EXCHANGERATE is null
set @EXCHANGERATE = 0;
declare @CONSTITUENTEXISTS bit;
if exists(select ID from dbo.CONSTITUENT where ID = @CONSTITUENTID)
set @CONSTITUENTEXISTS = 1;
else
set @CONSTITUENTEXISTS = 0;
if @CONSTITUENTEXISTS = 1
exec dbo.USP_AUCTIONITEMBATCH_VALIDATENEWCONSTITUENT @BATCHCONSTITUENTID = @CONSTITUENTID, @ISDONOR = 1, @BATCHROWID = @BATCHROWID;
if @VALIDATEONLY = 0
begin
-- Create the base exchange rate when "Spot rate" is selected.
if @BASEEXCHANGERATEID = '00000000-0000-0000-0000-000000000001'
begin
set @BASEEXCHANGERATEID = newid();
insert into dbo.CURRENCYEXCHANGERATE(ID, FROMCURRENCYID, TOCURRENCYID, RATE, ASOFDATE, TYPECODE,
SOURCECODEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values(@BASEEXCHANGERATEID, @TRANSACTIONCURRENCYID, @BASECURRENCYID, @EXCHANGERATE, @DONATIONDATE, 2, null,
@CHANGEAGENTID, @CHANGEAGENTID, @CHANGEDATE, @CHANGEDATE);
end
if @CONSTITUENTEXISTS = 0
begin
declare @BATCHCONSTITUENTID uniqueidentifier;
set @BATCHCONSTITUENTID = @CONSTITUENTID;
set @CONSTITUENTID = newid();
exec dbo.USP_AUCTIONITEMBATCH_CONSTITUENT_COMMIT
@ID = @CONSTITUENTID output,
@CHANGEAGENTID = @CHANGEAGENTID,
@BATCHAUCTIONITEMCONSTITUENTID = @BATCHCONSTITUENTID,
@BATCHAUCTIONITEMCONSTITUENTACCOUNTID = null,
@CONSTITUENTACCOUNTID = null,
@CURRENTRECOGNITIONS = null,
@UPDATEDRECOGNITIONS = null,
@UPDATEDAPPLICATIONRECOGNITIONS = null;
--delete the temporary batch version of the constituent
exec dbo.USP_AUCTIONITEMBATCH_CONSTITUENT_DELETE @BATCHAUCTIONITEMCONSTITUENTID = @BATCHCONSTITUENTID, @CHANGEAGENTID = @CHANGEAGENTID
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 = @CONSTITUENTID,
@EVENTAUCTIONID = @EVENTAUCTIONID,
@PACKAGEID = null,
@TYPECODE = 0,
@COPIEDFROMID = null,
@DESIGNATIONID = @DESIGNATIONID,
@ISANONYMOUS = @GIVENANONYMOUSLY,
@PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID,
@BATCHNUMBER = @BATCHNUMBER,
@POSTDATE = @POSTDATE,
@POSTSTATUSCODE = @POSTSTATUSCODE,
@BASECURRENCYID = @BASECURRENCYID,
@TRANSACTIONCURRENCYID = @TRANSACTIONCURRENCYID,
@BASEEXCHANGERATEID = @BASEEXCHANGERATEID,
@EXCHANGERATE= @EXCHANGERATE,
@CHANGEDATE = @CHANGEDATE
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;