UFN_CREDITCARDPROCESSING_MERCHANTACCOUNTSVALIDFORUSER
Verifies that an application user has access to all merchant accounts associated with a credit card processing process.
Return
| Return Type |
|---|
| bit |
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @CURRENTAPPUSERID | uniqueidentifier | IN | |
| @CREDITCARDPROCESSINGID | uniqueidentifier | IN | |
| @SECURITYFEATUREID | uniqueidentifier | IN | |
| @SECURITYFEATURETYPE | tinyint | IN |
Definition
Copy
create function dbo.UFN_CREDITCARDPROCESSING_MERCHANTACCOUNTSVALIDFORUSER
(
@CURRENTAPPUSERID uniqueidentifier,
@CREDITCARDPROCESSINGID uniqueidentifier,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
returns bit
as begin
declare @valid bit = 1;
declare @MULTICURRENCYENABLED bit;
set @MULTICURRENCYENABLED = dbo.UFN_CONDITIONSETTING_EVALUATEEXISTSCONDITION('Multicurrency');
if @MULTICURRENCYENABLED = 0
begin
if exists
(
select
1
from
dbo.CREDITCARDPROCESSING
inner join dbo.MERCHANTACCOUNT on CREDITCARDPROCESSING.MERCHANTACCOUNTID = MERCHANTACCOUNT.ID
where
CREDITCARDPROCESSING.ID = @CREDITCARDPROCESSINGID
and
dbo.UFN_MERCHANTACCOUNT_USERHASSITEACCESS(MERCHANTACCOUNT.ID, @CURRENTAPPUSERID, @SECURITYFEATUREID, @SECURITYFEATURETYPE) = 0
)
select @valid = 0;
end
if @MULTICURRENCYENABLED = 1
begin
if exists
(
select
1
from
dbo.CREDITCARDPROCESSING
inner join dbo.CREDITCARDPROCESSINGMERCHANTACCOUNT on CREDITCARDPROCESSING.ID = CREDITCARDPROCESSINGMERCHANTACCOUNT.CREDITCARDPROCESSINGID
inner join dbo.MERCHANTACCOUNT on MERCHANTACCOUNT.ID = CREDITCARDPROCESSINGMERCHANTACCOUNT.MERCHANTACCOUNTID
where
CREDITCARDPROCESSINGMERCHANTACCOUNT.CREDITCARDPROCESSINGID = @CREDITCARDPROCESSINGID
and
dbo.UFN_MERCHANTACCOUNT_USERHASSITEACCESS(MERCHANTACCOUNT.ID, @CURRENTAPPUSERID, @SECURITYFEATUREID, @SECURITYFEATURETYPE) = 0
)
select @valid = 0;
end
return @valid;
end