DocumentsException   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 0
dl 0
loc 33
ccs 0
cts 9
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A wrongDocument() 0 5 1
A replaceMsg() 0 4 1
1
<?php
2
3
namespace NFePHP\MDFe\Exception;
4
5
/**
6
 * @author     Cleiton Perin <cperin20 at gmail dot com>
7
 * @package    NFePHP\MDFe\Exception
8
 * @copyright  Copyright (c) 2008-2019
9
 * @license    http://www.gnu.org/licenses/lesser.html LGPL v3
10
 * @category   NFePHP
11
 * @link       http://github.com/nfephp-org/sped-common for the canonical source repository
12
 */
13
class DocumentsException extends \InvalidArgumentException implements ExceptionInterface
14
{
15
    public static $list = [
16
        0 => "Este documento [{{msg}}] não recebe protocolos. Confira a ordem dos parâmetros.",
17
        1 => "O arquivo indicado como MDFe não está protocolado ou não é um MDFe!!",
18
        2 => "O arquivo indicado como B2B não contêm a tagB2B indicada!!",
19
        3 => "O documento de resposta não contêm o NODE {{msg}}.",
20
        4 => "O documento de resposta relata um erro {{msg}}.",
21
        5 => "Os documentos se referem a diferentes objetos. {{msg}}.",
22
        6 => "O argumento passado não é um XML válido.",
23
        7 => "Este xml não pertence ao projeto SPED-MDFe.",
24
        8 => "A configuração (config.json) não é válido {{msg}}.",
25
        9 => "Falta o CSC no config.json.",
26
        10 => "Falta o CSCId no config.json.",
27
        11 => "Falta a URL do serviço NfeConsultaQR.",
28
        12 => "O TXT não representa uma MDFe",
29
        13 => "O numero de notas indicado na primeira linha do TXT é diferente do numero total de notas do txt.",
30
        14 => "Falha na validação do TXT:\n {{msg}}.",
31
        15 => "Um TXT de MDFe deve ser passado como parâmetro, e nada foi passado.",
32
        16 => "O txt tem um campo não definido {{msg}}"
33
    ];
34
35
    public static function wrongDocument($code, $msg = '')
36
    {
37
        $msg = self::replaceMsg(self::$list[$code], $msg);
38
        return new static($msg);
39
    }
40
41
    private static function replaceMsg($input, $msg)
42
    {
43
        return str_replace('{{msg}}', $msg, $input);
44
    }
45
}
46