timbre method

String timbre({
  1. required String portal,
  2. required String xmlSigned,
})

Implementation

String timbre({required String portal, required String xmlSigned}) {
  //  generando timbrez
  var rncEmisor = 'RncEmisor=${Encabezado.Emisor.RNCEmisor.value}';

  var rncComprador = Encabezado.Comprador.RNCComprador.value;

  var eNcf = '&ENCF=${Encabezado.IdDoc.eNCF.value}';

  var fechahoraFirma = FechaHoraFirma.value;

  var fechaEmision = '&fechaemision=${Encabezado.Emisor.FechaEmision.value}'
      .replaceAll(' ', '%20');

  var montoTotal = '&MontoTotal=${Encabezado.Totales.MontoTotal.value}';

  if (rncComprador.isNotEmpty) {
    rncComprador = '&rnccomprador=$rncComprador';
  }
  var fechahoraFirmaTimbre = '';
  if (fechahoraFirma.isNotEmpty) {
    fechahoraFirmaTimbre =
        '&fechafirma=$fechahoraFirma'.replaceAll(' ', '%20');
  }
  var dominio = 'https://ecf.dgii.gov.do/$portal';
  if (isRFCE) {
    dominio = 'https://fc.dgii.gov.do/$portal';
  }
  var path = 'ConsultaTimbre';

  var codigoSeguridad = isRFCE
      ? Encabezado.CodigoSeguridadeCF.value
      : this.codigoSeguridad(xmlSigned: xmlSigned);

  if (isRFCE) {
    path = 'ConsultaTimbreFC';
    fechaEmision = '';
    codigoSeguridad = Encabezado.CodigoSeguridadeCF.value;
  }

  var codigoSeguridadTimbre = codigoSeguridad
      .replaceAll('/', '%2F')
      .replaceAll('=', '%3D')
      .replaceAll('@', '%40')
      .replaceAll('+', '%2B');
  codigoSeguridadTimbre = '&CodigoSeguridad=$codigoSeguridadTimbre';

  var args =
      '$rncEmisor$rncComprador$eNcf$fechaEmision$montoTotal$fechahoraFirmaTimbre$codigoSeguridadTimbre'
          .replaceAll(' ', '%20');

  return '$dominio/$path?$args';
}