public FacturaEmitida Decodificar(String pathXml) { Comprobante comprobante; var xml = _operacionesStreams.ArchivoByteArray(pathXml); try { comprobante = _decodificar.DecodificarComprobante(pathXml); } catch (Exception ex) { throw ex; } try { _validar.ChecarUuidRepetido(comprobante); } catch (Exception ex) { File.Delete(pathXml); throw ex; } try { _validar.ChecarRfcReceptor(comprobante); } catch (Exception ex) { throw ex; } try { //_cfdiInfodextra.Validar(xml, comprobante.Emisor.Rfc); } catch (Exception ex) { throw ex; } FacturaEmitida factura; try { factura = _guardar.GuardarFacturaEmitida(comprobante, xml); } catch (Exception ex) { throw ex; } File.Delete(pathXml); return(factura); }
public API.Operaciones.Facturacion.Validacion Sat(String pathFactura, string rfc) { var xml = _operacionesStreams.ArchivoByteArray(pathFactura); var validacion = _validacionInfodextra.Validar(xml, rfc); return(new API.Operaciones.Facturacion.Validacion { AddendaCorrecto = validacion.AddendaCorrecto, CadenaOriginal = validacion.CadenaOriginal, CadenaSat = validacion.CadenaSat, Certificado = validacion.Certificado, Cifrado = validacion.Cifrado, Conceptos = validacion.Conceptos, ConceptosCorrecto = validacion.ConceptosCorrecto, DescripcionSat = validacion.DescripcionSat, DetallesAddenda = validacion.DetallesAddenda, DigestionCadenaOriginal = validacion.DigestionCadenaOriginal, DigestionCadenaSat = validacion.DigestionCadenaSat, EntidadCertificadora = validacion.EntidadCertificadora, Esquema = validacion.Esquema, EsquemaCorrecto = validacion.EsquemaCorrecto, EstadoSat = validacion.EstadoSat, ExisteAddenda = validacion.ExisteAddenda, NumeroCertificadoSat = validacion.NumeroCertificadoSat, Retenciones = validacion.Retenciones, RetencionesCorrecto = validacion.RetencionesCorrecto, RetencionesLocales = validacion.RetencionesLocales, RetencionesLocalesCorrecto = validacion.RetencionesLocalesCorrecto, SelloCfdi = validacion.SelloCfdi, SelloCfdiValido = validacion.SelloCfdiValido, SelloSat = validacion.SelloSat, SelloSatValido = validacion.SelloSatValido, Subtotal = validacion.Subtotal, SubtotalCorrecto = validacion.SubtotalCorrecto, Total = validacion.Total, TotalCorrecto = validacion.TotalCorrecto, Traslados = validacion.Traslados, TrasladosCorrecto = validacion.TrasladosCorrecto, TrasladosLocales = validacion.TrasladosLocales, TrasladosLocalesCorrecto = validacion.TrasladosLocalesCorrecto, VigenciaCertificado = validacion.VigenciaCertificado }); }
public void EnviarCorreo(Cliente cliente, List <String> archivos, string mailAlterno) { var envioEmailDto = new EnvioEmailDto { CuerpoCorreo = cliente.Sucursal.CuerpoCorreo, EncabezadoCorreo = cliente.Sucursal.EncabezadoCorreo, EmailEmisor = cliente.Sucursal.MailEmisor, NombreSucursal = cliente.Sucursal.Nombre, EmailsReceptores = new List <string> { cliente.Email, cliente.Sucursal.MailConfirmacion, mailAlterno }, }; if (archivos.Count > 0) { var archivosAdjuntosDto = new List <ArchivoAdjuntoDto>(); foreach (var archivo in archivos) { archivosAdjuntosDto.Add(new ArchivoAdjuntoDto { Archivo = _operacionesStreams.ArchivoByteArray(archivo), NombreArchivo = String.Format("{0}_{1}{2}", cliente.Rfc, DateTime.Now.ToString("ddMMyyyyHHmmssffff"), Path.GetExtension(archivo)) }); } envioEmailDto.Archivos = archivosAdjuntosDto; } if (cliente.Sucursal.PasswordCorreo != null && cliente.Sucursal.Smtp != null && cliente.Sucursal.Puerto != null) { envioEmailDto.Contrasena = cliente.Sucursal.PasswordCorreo; envioEmailDto.Smtp = cliente.Sucursal.Smtp; envioEmailDto.Puerto = (int)cliente.Sucursal.Puerto; envioEmailDto.Ssl = cliente.Sucursal.Ssl; _utileriasInfodextra.EnviarCorreoTradicional(envioEmailDto); } else { _utileriasInfodextra.EnviarCorreo(envioEmailDto); } }