EntregarDeclaracaoComDasResponse.fromResponses constructor
- required EntregarDeclaracaoResponse declaracaoResponse,
- required GerarDasResponse dasResponse,
Cria resposta quando ambas operações foram bem-sucedidas
declaracaoResponse Resposta de entregarDeclaracao
dasResponse Resposta de gerarDas
Implementation
factory EntregarDeclaracaoComDasResponse.fromResponses({
required EntregarDeclaracaoResponse declaracaoResponse,
required GerarDasResponse dasResponse,
}) {
// Combinar mensagens de ambas as respostas
final mensagensCombinadas = <Mensagem>[
...declaracaoResponse.mensagens,
// Converter mensagens de GerarDasResponse para o tipo Mensagem de EntregarDeclaracaoResponse
...dasResponse.mensagens.map(
(m) => Mensagem(codigo: m.codigo, texto: m.texto),
),
];
// Status é 200 apenas se ambos foram 200
final statusCombinado =
declaracaoResponse.status == 200 && dasResponse.status == 200
? 200
: 500;
return EntregarDeclaracaoComDasResponse(
status: statusCombinado,
mensagens: mensagensCombinadas,
dadosDeclaracao: declaracaoResponse.dados,
dadosDas: dasResponse.dados,
);
}