UFN_AUCTIONITEMPURCHASE_VALIDATEPPURCHASEEXCHANGERATE
Validates that the exchange rate information on an auction item donation is set correctly before purchasing that item.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ITEMID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_AUCTIONITEMPURCHASE_VALIDATEPPURCHASEEXCHANGERATE
(
@ITEMID uniqueidentifier
)
returns bit
as
begin
declare @R bit = 1;
declare @MULTICURRENCY bit = 0;
declare @EXCHANGERATEERROR bit = 0;
if (select dbo.UFN_CONDITIONSETTING_EVALUATEEXISTSCONDITION(N'Multicurrency')) = 1
set @MULTICURRENCY = 1;
if not @MULTICURRENCY = 1
return @R;
declare @ISPACKAGE bit = 0;
select @ISPACKAGE = 1
from dbo.AUCTIONITEM
where AUCTIONITEM.ID = @ITEMID and AUCTIONITEM.TYPECODE = 1;
if @ISPACKAGE = 1
begin
if (
select count (*) from dbo.AUCTIONITEM
where AUCTIONITEM.PACKAGEID = @ITEMID
and @MULTICURRENCY = 1
and (AUCTIONITEM.BASECURRENCYID <> AUCTIONITEM.TRANSACTIONCURRENCYID and AUCTIONITEM.BASEEXCHANGERATEID is null)
) > 0
set @EXCHANGERATEERROR = 1;
else
set @EXCHANGERATEERROR = 0;
if @EXCHANGERATEERROR = 1
set @R = 0;
else
set @R = 1;
end
else
begin
select
@EXCHANGERATEERROR =
case when @MULTICURRENCY = 1 and
(AUCTIONITEM.BASECURRENCYID <> AUCTIONITEM.TRANSACTIONCURRENCYID and AUCTIONITEM.BASEEXCHANGERATEID is null)
then 1
else 0
end
from dbo.AUCTIONITEM
where AUCTIONITEM.ID = @ITEMID;
if @EXCHANGERATEERROR = 1
set @R = 0;
else
set @R = 1;
end
return @R;
end