Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
setPaymentMean example
$customer
=
new
Customer
(
)
;
}
if
(
!
(
$paymentData
instanceof PaymentData
)
&& !
empty
(
$params
[
'paymentData'
]
)
&& !
empty
(
array_filter
(
$params
[
'paymentData'
]
[
0
]
)
)
)
{
$paymentData
=
new
PaymentData
(
)
;
$customer
->
addPaymentData
(
$paymentData
)
;
/** @var Payment $payment */
$payment
=
$this
->
getManager
(
)
->
getRepository
(
Payment::
class
)
->
find
(
$paymentId
)
;
$paymentData
->
setPaymentMean
(
$payment
)
;
}
$params
=
$this
->
prepareCustomerData
(
$params
,
$customer
,
$paymentData
)
;
// Set parameter to the customer model.
$customer
->
fromArray
(
$params
)
;
// If user will be activated, but the first login is still 0, because he was in doi-process
if
(
$customer
->
getActive
(
)
&&
(
!
$customer
->
getFirstLogin
(
)
||
$customer
->
getFirstLogin
(
)
->
getTimestamp
(
)
=== 0
)
)
{
$customer
->
setFirstLogin
(
new
DateTime
(
)
)
;
}
catch
(
CustomValidationException
$cve
)
{
$paymentData
=
new
PaymentData
(
)
;
$this
->
getManager
(
)
->
persist
(
$paymentData
)
;
$paymentDataInstances
->
add
(
$paymentData
)
;
}
if
(
isset
(
$paymentDataData
[
'paymentMeanId'
]
)
)
{
$paymentMean
=
$this
->
getManager
(
)
->
getRepository
(
Payment::
class
)
->
find
(
$paymentDataData
[
'paymentMeanId'
]
)
;
if
(
$paymentMean
=== null
)
{
throw
new
CustomValidationException
(
sprintf
(
'%s by %s %s not found', Payment::
class
, 'id',
$paymentDataData
[
'paymentMeanId'
]
)
)
;
}
$paymentData
->
setPaymentMean
(
$paymentMean
)
;
unset
(
$paymentDataData
[
'paymentMeanId'
]
)
;
}
if
(
$paymentData
->
getCustomer
(
)
== null
)
{
$paymentData
->
setCustomer
(
$customer
)
;
}
$paymentData
->
fromArray
(
$paymentDataData
)
;
}
$data
[
'paymentData'
]
=
$paymentDataInstances
;