1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace hiqdev\php\billing\charge\derivative; |
4
|
|
|
|
5
|
|
|
use hiqdev\php\billing\charge\Charge; |
6
|
|
|
use hiqdev\php\billing\charge\ChargeInterface; |
7
|
|
|
|
8
|
|
|
/** |
9
|
|
|
* Class ChargeDerivative |
10
|
|
|
* |
11
|
|
|
* @author Dmytro Naumenko <[email protected]> |
12
|
|
|
*/ |
13
|
|
|
final class ChargeDerivative implements ChargeDerivativeInterface |
14
|
|
|
{ |
15
|
|
|
public function __invoke(ChargeInterface $originalCharge, ChargeDerivativeQueryInterface $query): ChargeInterface |
16
|
|
|
{ |
17
|
|
|
$tempCharge = new Charge( |
18
|
|
|
$query->get('id', $originalCharge->getId()), |
|
|
|
|
19
|
|
|
$query->get('type', $originalCharge->getType()), |
20
|
|
|
$query->get('target', $originalCharge->getTarget()), |
21
|
|
|
$query->get('action', $originalCharge->getAction()), |
22
|
|
|
$query->get('price', $originalCharge->getPrice()), |
23
|
|
|
$query->get('usage', $originalCharge->getUsage()), |
24
|
|
|
$query->get('sum', $originalCharge->getSum()), |
25
|
|
|
$query->get('bill', $originalCharge->getBill()) |
|
|
|
|
26
|
|
|
); |
27
|
|
|
|
28
|
|
|
if ($query->get('comment', $originalCharge->getComment()) !== null) { |
29
|
|
|
$tempCharge->setComment($query->get('comment', $originalCharge->getComment())); |
30
|
|
|
} |
31
|
|
|
if ($query->get('parent', $originalCharge->getParent()) !== null) { |
32
|
|
|
$tempCharge->setParent($query->get('parent', $originalCharge->getParent())); |
33
|
|
|
} |
34
|
|
|
|
35
|
|
|
return $tempCharge; |
36
|
|
|
} |
37
|
|
|
} |
38
|
|
|
|
This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.
This is most likely a typographical error or the method has been renamed.