public Boolean Reenviar(ref string error, UsuarioDto usuario, int facturaId, HttpContext context)
        {
            Modelo.Factura _factura     = new Modelo.Factura();
            ServicioXml    _servicioXml = new ServicioXml(this._logger);
            string         _nombre      = "";

            GetFile(ref _nombre, ref _factura, 1, facturaId, context);
            GetFile(ref _nombre, ref _factura, 2, facturaId, context);
            Ruta _ruta = new Ruta(context, _factura);

            if (!File.Exists(_ruta.RutaGuardadoXML) || !File.Exists(_ruta.RutaPDF))
            {
                error = "No se recuperaron los archivos necesarios.";
                return(false);
            }
            ServicioCorreo.Enviar(_factura.Sucursal.Asunto, _factura.Sucursal.Mensaje, _factura.Cliente.Correo, _ruta.RutaPDF, _ruta.RutaGuardadoXML, this._logger);

            return(true);
        }
        public Boolean Post(ref string error, Modelo.Factura factura, UsuarioDto usuario, HttpContext context)
        {
            var _servicioRelacion = new ServicioRelaciones(this._logger, this._contexto);

            _servicioRelacion.ObtenerRelacionFactura(ref factura);
            Ruta ruta = new Ruta(context, factura);

            if (!ValidarFactura(ref error, ref factura))
            {
                return(false);
            }
            ServicioXml _servicioXml = new ServicioXml(this._logger);

            if (!_servicioXml.GeneraCFDI(ref error, factura, ruta.RutaGuardadoXML, ruta.RutaCertificado, ruta.RutaKey, ruta.RutaArchivosXSLT, ruta.RutaCarpetaFacturasClientes))
            {
                return(false);
            }
            XmlDocument _xmlDocument = new XmlDocument();

            if (!_servicioXml.Timbrar(ref error, ref _xmlDocument, ruta.RutaGuardadoXML, ruta.RutaGuardadoXML))
            {
                return(false);
            }
            Put(ref error, ref factura, _xmlDocument);
            try
            {
                factura.ImagenCbb = ruta.RutaImagenCBB;
                _servicioXml.GeneraCBB(ref error, factura.Sucursal.Rfc, factura.Cliente.Rfc, factura.FolioFiscal, factura.Total, ruta.RutaCBB);
                var correo = factura.Cliente.Correo;
                GenerarPDF(factura, ruta);
                ServicioCorreo.Enviar(factura.Sucursal.Asunto, factura.Sucursal.Mensaje, correo, ruta.RutaPDF, ruta.RutaGuardadoXML, this._logger);
                _servicioRelacion.SanitizarFactura(ref factura);
                Save(ref error, factura);
                return(true);
            }
            catch (Exception e)
            {
                this._logger.EscribirError(e.ToString());
                error = "Ocurrio un error al guardar la factura";
                return(false);
            }
        }
Example #3
0
 public static void Enviar(string asunto, string mensaje, String correos, string rutaPDF, string rutaXML, Logger logger)
 {
     Task.Run(() =>
     {
         List <Object> Correos = null;
         try
         {
             Correos = JsonConvert.DeserializeObject <List <object> >(correos);
             if (Correos != null)
             {
                 if (Correos.Count() > 0)
                 {
                     new Smtp().EnviarCorreo(ServicioCorreo.GetMensaje(asunto, mensaje, rutaPDF, rutaXML, Correos, logger));
                 }
             }
         }
         catch (Exception e)
         {
             logger.EscribirError(e.ToString(), "Enviar Correo");
         }
     });
 }