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; } }
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; } }