EntregarDeclaracaoComDasResponse.fromDasError constructor

EntregarDeclaracaoComDasResponse.fromDasError({
  1. required EntregarDeclaracaoResponse declaracaoResponse,
  2. required GerarDasResponse dasResponse,
})

Cria resposta de erro quando o DAS falhou após declaração bem-sucedida

declaracaoResponse Resposta de entregarDeclaracao (sucesso) dasResponse Resposta de gerarDas (erro)

Implementation

factory EntregarDeclaracaoComDasResponse.fromDasError({
  required EntregarDeclaracaoResponse declaracaoResponse,
  required GerarDasResponse dasResponse,
}) {
  // Combinar mensagens e adicionar explicação do erro
  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),
    ),
    Mensagem(
      codigo: 'ERRO_DAS',
      texto:
          'Declaração entregue com sucesso, mas falha ao gerar DAS. Você pode gerar o DAS manualmente usando o ID da declaração.',
    ),
  ];

  return EntregarDeclaracaoComDasResponse(
    status: 500,
    mensagens: mensagensCombinadas,
    dadosDeclaracao: declaracaoResponse.dados,
    dadosDas: null,
  );
}