Пример #1
0
        public string CreateCFDI(Invoicing.BindingModels.Comprobante apiComprobante, bool Timbrado = true)
        {
            try
            {
                long transaccion = 100;
                var  comprobante = Translates.TranslateModelToCFDI.TranslateToCFDI(apiComprobante);
                comprobante.Certificado = CertificatesRepository.GetCertificate(comprobante.NoCertificado).CerFile;
                var xmlComprobante = GetXML(comprobante);
                comprobante.Sello = SetSeal(comprobante, xmlComprobante, comprobante.NoCertificado);
                var xmlComprobanteSellado = GetXML(comprobante);

                if (!Timbrado)
                {
                    return(xmlComprobante);
                }
                else
                {
                    return(Timbrar(apiComprobante, xmlComprobanteSellado, transaccion));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
 public string Timbrar(Invoicing.BindingModels.Comprobante apiComprobante, string xmlComprobanteSellado, long transaccion)
 {
     try
     {
         var xmlTimbrado = SatProvider.Timbrar(apiComprobante.Emisor.RFC, xmlComprobanteSellado, transaccion);
         var timbrado    = UtilTimbrado.ObtenerDatosTimbrado(xmlTimbrado);
         apiComprobante.UUID          = Guid.Parse(timbrado.UUID);
         apiComprobante.FechaTimbrado = timbrado.FechaTimbrado;
         return(xmlTimbrado);
     }
     catch (Exception ex)
     {
         throw;
         //Console.WriteLine(ex.Message);
         // Escribir en el log el error del timbrado y avisar al usuario
         //return xmlComprobanteSellado;
     }
 }