Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 1
SeniorPurchaseOrderImportDTO
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 4
20
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
2
 toArray
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 fromRequest
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
 fromArray
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace Domain\PurchaseOrder\DTOs;
4
5use Domain\Shared\Interfaces\DataTransferObjectInterface;
6use Illuminate\Foundation\Http\FormRequest;
7
8final readonly class SeniorPurchaseOrderImportDTO implements DataTransferObjectInterface
9{
10    public ?int $numocp;
11    public ?int $codemp;
12    public ?int $codfil;
13    public ?int $codfor;
14    public ?string $chvnel;
15
16    public function __construct(array $args)
17    {
18        $this->numocp = $args['numocp'] ?? null;
19        $this->codemp = $args['codemp'] ?? null;
20        $this->codfil = $args['codfil'] ?? null;
21        $this->codfor = $args['codfor'] ?? null;
22        $this->chvnel = $args['chvnel'] ?? null;
23    }
24
25    public function toArray(): array
26    {
27        return [
28            'numOcp' => $this->numocp,
29            'codEmp' => $this->codemp,
30            'codFil' => $this->codfil,
31            'codFor' => $this->codfor,
32            'chvNel' => $this->chvnel,
33        ];
34    }
35
36    public static function fromRequest(FormRequest $request): SeniorPurchaseOrderImportDTO
37    {
38        return new self([
39            'numocp' => $request->validated('numocp'),
40            'codemp' => $request->validated('codemp'),
41            'codfil' => $request->validated('codfil'),
42            'codfor' => $request->validated('codfor'),
43            'chvnel' => $request->validated('chvnel'),
44        ]);
45    }
46
47    public static function fromArray(array $request): SeniorPurchaseOrderImportDTO
48    {
49        return new self([
50            'numocp' => $request['numocp'] ?? null,
51            'codemp' => $request['codemp'] ?? null,
52            'codfil' => $request['codfil'] ?? null,
53            'codfor' => $request['codfor'] ?? null,
54            'chvnel' => $request['chvnel'] ?? null,
55        ]);
56    }
57}