RemessasCliente::getRemessaPorId()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 1
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
/*
4
 * To change this license header, choose License Headers in Project Properties.
5
 * To change this template file, choose Tools | Templates
6
 * and open the template in the editor.
7
 */
8
9
namespace OBRSDK\HttpClient;
10
11
/**
12
 * Description of RemessasCliente
13
 *
14
 * @author Antonio
15
 */
16
class RemessasCliente extends Nucleo\Instancia {
17
18
    /**
19
     * 
20
     * @param \OBRSDK\Entidades\Remessas $remessas
21
     * @return \OBRSDK\Entidades\Remessas[]
22
     */
23
    public function gerarRemessa(\OBRSDK\Entidades\Remessas $remessas) {
24
        $remessas_dados = $this->organizarDadosRemessa($remessas->getAtributes());
25
26
        $this->apiCliente->addAuthorization()
27
                ->postJson('remessas', $remessas_dados);
28
29
        return $this->getListaEntidade('remessas', new \OBRSDK\Entidades\Remessas());
30
    }
31
32
    /**
33
     * @param string $remessa_id
34
     * @return \OBRSDK\Entidades\Remessas
35
     */
36
    public function getRemessaPorId($remessa_id) {
37
        $resposta = $this->apiCliente->addAuthorization()
38
                        ->get('remessas/' . $remessa_id)->getRespostaArray();
39
40
        $remessa_resposta = new \OBRSDK\Entidades\Remessas();
41
        $remessa_resposta->setAtributos($resposta);
42
43
        return $remessa_resposta;
44
    }
45
46
    /**
47
     * 
48
     * @param array $remessas_dados
49
     * @return array
50
     */
51
    private function organizarDadosRemessa(array $remessas_dados) {
52
        if (!isset($remessas_dados['boletos']) || !is_array($remessas_dados['boletos'])) {
53
            $remessas_dados['boletos'] = [];
54
        }
55
56
        $boletos = [];
57
        foreach ($remessas_dados['boletos'] as $boleto) {
58
            $boletos[] = [
59
                "boleto_id" => $boleto['boleto_id']
60
            ];
61
        }
62
        // remove dados anterior
63
        unset($remessas_dados['boletos']);
64
        // seta com dados atualizado
65
        $remessas_dados['boletos'] = $boletos;
66
67
        return $remessas_dados;
68
    }
69
70
}
71