Passed
Push — master ( 8afd7f...6463b8 )
by
unknown
02:43
created

TransferTranslator::convertMangoPayTransferToDTO()   C

Complexity

Conditions 7
Paths 64

Size

Total Lines 39
Code Lines 24

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 39
rs 6.7272
c 1
b 0
f 0
cc 7
eloc 24
nc 64
nop 1
1
<?php
2
/**
3
 * Created by Carl Owens ([email protected])
4
 * Company: PartFire Ltd (www.partfire.co.uk)
5
 * Copyright © 2016 PartFire Ltd. All rights reserved.
6
 *
7
 * User:    Carl Owens
8
 * Date:    06/12/2016
9
 * Time:    22:43
10
 * File:    TransferTranslator.php
11
 **/
12
13
namespace PartFire\MangoPayBundle\Models\DTOs\Translators;
14
15
16
use PartFire\MangoPayBundle\Models\DTOs\Transfer;
17
18
class TransferTranslator
19
{
20
    public function convertDTOToMangoPayTransfer(Transfer $transferDto)
21
    {
22
        $Transfer = new \MangoPay\Transfer();
23
        $Transfer->Tag = $transferDto->getTag();
24
        $Transfer->AuthorId = $transferDto->getAuthorId();
25
        $Transfer->CreditedUserId = $transferDto->getCreditedUserId();
26
27
        if ($transferDto->getDebitedCurrency() && $transferDto->getDebitedAmount()) {
28
            $Transfer->DebitedFunds = new \MangoPay\Money();
29
            $Transfer->DebitedFunds->Currency = $transferDto->getDebitedCurrency();
30
            $Transfer->DebitedFunds->Amount = $transferDto->getDebitedAmount();
31
        }
32
33
34
        $Transfer->Fees = new \MangoPay\Money();
35
        $Transfer->Fees->Currency = $transferDto->getFeeCurrency();
36
        $Transfer->Fees->Amount = $transferDto->getFeeAmount();
37
38
39
        $Transfer->DebitedWalletId = $transferDto->getDebitedWalledId();
40
        $Transfer->CreditedWalletId = $transferDto->getCreditedWalledId();
41
        return $Transfer;
42
    }
43
44
    public function convertMangoPayTransferToDTO(\MangoPay\Transfer $mangoPayTransfer) : Transfer
45
    {
46
        $transfer = new Transfer();
47
        $transfer->setAuthorId($mangoPayTransfer->AuthorId);
48
        $transfer->setTag($mangoPayTransfer->Tag);
49
        $transfer->setCreditedUserId($mangoPayTransfer->CreditedUserId);
50
        $transfer->setDebitedWalledId($mangoPayTransfer->DebitedWalletId);
51
        $transfer->setCreditedWalledId($mangoPayTransfer->CreditedWalletId);
52
        $transfer->setStatus($mangoPayTransfer->Status);
53
        $transfer->setResultCode($mangoPayTransfer->ResultCode);
54
        $transfer->setResultMessage($mangoPayTransfer->ResultMessage);
55
        $transfer->setResourceId($mangoPayTransfer->Id);
56
57
        if (isset($mangoPayTransfer->Fees->Currency)) {
58
            $transfer->setFeeCurrency($mangoPayTransfer->Fees->Currency);
59
        }
60
61
        if (isset($mangoPayTransfer->Fees->Amount)) {
62
            $transfer->setFeeAmount($mangoPayTransfer->Fees->Amount);
63
        }
64
65
        if (isset($mangoPayTransfer->DebitedFunds->Currency)) {
66
            $transfer->setDebitedCurrency($mangoPayTransfer->DebitedFunds->Currency);
67
        }
68
69
        if (isset($mangoPayTransfer->DebitedFunds->Amount)) {
70
            $transfer->setDebitedAmount($mangoPayTransfer->DebitedFunds->Amount);
71
        }
72
73
        if (isset($mangoPayTransfer->CreditedFunds->Currency)) {
74
            $transfer->setCreditedCurrency($mangoPayTransfer->CreditedFunds->Currency);
75
        }
76
77
        if (isset($mangoPayTransfer->CreditedFunds->Amount)) {
78
            $transfer->setCreditedAmount($mangoPayTransfer->CreditedFunds->Amount);
79
        }
80
81
        return $transfer;
82
    }
83
}