Ejemplo n.º 1
0
 private bool EnviarMailCanc(string correo, string uuid)
 {
     try
     {
         if (string.IsNullOrEmpty(correo))
         {
             return(false);
         }
         var EM              = new EnviarMail();
         var servidor        = "";
         var puerto          = 0;
         var ssl             = false;
         var emailCredencial = "";
         var passCredencial  = "";
         var emailEnviar     = "";
         DB.Conectar();
         DB.CrearComando("select servidorSMTP,puertoSMTP,sslSMTP,userSMTP,passSMTP,emailEnvio from ParametrosSistema");
         DbDataReader DR1 = DB.EjecutarConsulta();
         while (DR1.Read())
         {
             servidor        = DR1[0].ToString();
             puerto          = Convert.ToInt32(DR1[1].ToString());
             ssl             = Convert.ToBoolean(DR1[2].ToString());
             emailCredencial = DR1[3].ToString();
             passCredencial  = DR1[4].ToString();
             emailEnviar     = DR1[5].ToString();
         }
         DB.Desconectar();
         var asunto  = "Retencion DHL";
         var mensaje = "Saludos Cordiales! <br>Se acaba de cancelar el comprobante de retención \"" + uuid + "\"";
         mensaje += "<br><br>No responder a este correo, es solo informativo";
         EM.servidorSTMP(servidor, puerto, ssl, emailCredencial, passCredencial);
         EM.llenarEmail(emailEnviar, correo, "*****@*****.**", "", asunto, mensaje);
         //EM.llenarEmail(emailEnviar, "*****@*****.**", "", "", asunto, mensaje);
         return(EM.enviarEmail());
     }
     catch { return(false); }
 }
Ejemplo n.º 2
0
        protected void bEnviarEmail_Click(object sender, EventArgs e)
        {
            //if (Archivos(idfact))
            //{
            try
            {
                resulVal   = consultarResulVal(idfact).Replace("\r", "").Replace("\n", "");
                detalleVal = consultarDetalleVal(idfact);

                //Resultado de la validacion
                string[] rv = resulVal.Split('*');
                estructura         = rv[0];
                Valsello           = rv[1];
                existenciaCer      = rv[2];
                vigeciaCer         = rv[3];
                versionComprobante = rv[4];
                noCertificado      = rv[5];
                string[] auxCer = noCertificado.Split(':');
                noCertificado = auxCer[1].ToString();
                cadenaO       = rv[6];
                string[] auxCO = cadenaO.Split(':');
                cadenaO = auxCO[1].ToString() + auxCO[2].ToString() + auxCO[3].ToString();
                sello   = rv[7];

                //estructura = rv[0];
                //Valsello = rv[1];

                EnviarMail em = new EnviarMail();
                mail = tbEmail.Text;
                string mensaje = "";
                string asunto  = "";

                if (mail.Length > 0)
                {
                    //Valida que imagen corresponde
                    if (estructura.IndexOf("Válida") != -1)
                    {
                        imgEstruct = @"http://dataexpressintmx.com/ok-small.png";
                    }
                    else
                    {
                        imgEstruct = @"http://dataexpressintmx.com/x_small.png";
                    }


                    if (Valsello.IndexOf("Sello válido") != -1)
                    {
                        imgSello = @"http://dataexpressintmx.com/ok-small.png";
                    }
                    else
                    {
                        imgSello = @"http://dataexpressintmx.com/x_small.png";
                    }

                    if (existenciaCer.IndexOf("Correcto") != -1)
                    {
                        imgExistCer = @"http://dataexpressintmx.com/ok-small.png";
                    }
                    else
                    {
                        imgExistCer = @"http://dataexpressintmx.com/x_small.png";
                    }

                    if (vigeciaCer != "El certificado no esta vigente.")
                    {
                        imgVigCer = @"http://dataexpressintmx.com/ok-small.png";
                    }
                    else
                    {
                        imgVigCer = @"http://dataexpressintmx.com/x_small.png";
                    }
                    //Validacion de serie y folio para CFD

                    /*if (!banCFDI)
                     * {
                     *  if (banfolser)
                     *  { imgFolSer = @"http://dataexpressintmx.com/ok-small.png"; }
                     *
                     *  else
                     *  {
                     *      if (banRangofol)
                     *      {
                     *          imgRangoFol = @"http://dataexpressintmx.com/x_small.png";
                     *      }
                     *      else
                     *      { imgRangoFol = @"http://dataexpressintmx.com/ok-small.png"; }
                     *
                     *      if (banNoAprob)
                     *      {
                     *          imgNoaprobfol = @"http://dataexpressintmx.com/x_small.png";
                     *      }
                     *      else
                     *      { imgNoaprobfol = @"http://dataexpressintmx.com/ok-small.png"; }
                     *
                     *  }
                     * }*/
                    if (versionComprobante.IndexOf("2.2") != -1)
                    {
                        tipocomprobant = "CFD"; versionComprobante = "2.2";
                    }
                    else
                    {
                        tipocomprobant = "CFDI"; versionComprobante = "3.2";
                    }

                    if (detalleVal.IndexOf("RE002") != -1 || detalleVal.IndexOf("RE005") != -1 || detalleVal.IndexOf("RE013") != -1)    //Facturas invalidas
                    {
                        asunto = "Información sobre la factura que enviaste con Folio. " + folio + serie + ". ";

                        sHtml =
                            @"<h5><Font Color=" + "#3983B7" + "><center>DETALLE DE VALIDACION DE LA FACTURA DIGITAL BASADO EN EL ANEXO 20 <br>DE LA RESOLUCION MISCELANEA FISCAL PUBLICADA POR EL SAT</center></Font></h1></P>" +

                            " <TABLE BORDER=0>" +
                            "<TR>" +
                            "<TD>Estatus completo de la factura digital:</TD>" +
                            "<TD>" + detalleVal +
                            "<TD><img src=" + "http://dataexpressintmx.com/x_small.png" + "></TD>" +
                            "</TD>" +
                            "</TR>" +
                            " </TABLE>" +

                            "<table border=" + "0" + " width=" + "200px" + ">" +
                            "<tr>" +
                            "<th></th>" +

                            "<td> </td>" +
                            "<th>   Estatus validación  </th>" +
                            "</tr>" +
                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">Razon Social:</th>" +
                            "<td>" + nombreEmisor + "</td>" +
                            "</tr>" +
                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">RFC:</th>" +
                            "<td>" + emisor + "</td>" +
                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">Tipo comprobante:</th>" +
                            "<td>" + tipocomprobant + "</td>" +
                            "</tr>" +


                            "<tr>" +
                            "<th width=" + "50%" + " align=" + "right" + ">Versión del comprobante:</th>" +
                            "<td>" + versionComprobante + "</td>" +
                            "</tr>" +
                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">Folio y Serie:</th>" +
                            "<td>" + folio + " " + serie + "</td>" +
                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">Año   No. aprobación:</th>" +
                            "<td>" + anoAprobacion + " " + noAprobacion + "</td>" +
                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">Estructura:</th>" +
                            "<td>" + estructura + "</td>" +
                            "<th>   <img src=" + imgEstruct + ">  </th>" +

                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">Certificado:</th>" +
                            "<td>" + noCertificado + "</td>" +
                            "<th>   <img src=" + imgExistCer + ">  </th>" +

                            "</tr>" +

                            "<tr>" +
                            "<th align=" + "right" + ">Vigencia:</th>" +
                            "<td>" + vigeciaCer + "</td>" +
                            "<th>   <img src=" + imgVigCer + ">  </th>" +

                            "</tr>" +
                            "</table>" +
                            "<table>" +
                            "<tr>" +
                            "<th align=" + "left" + ">Sello:" + " <img src=" + imgSello + ">" + "</th>" +

                            "</tr>" +
                            "<tr>" +
                            "<th>" + "<textarea rows=" + "6" + " cols=" + "50" + " readonly >" + sello + "</textarea>" + "</th>" +
                            "</tr>" +

                            "</table>" +
                            "<table>" +
                            "<tr>" +
                            "<th align=" + "left" + " >Cadena Original:</th>" +
                            "</tr>" +
                            "<tr>" +
                            "<td width=" + "40%" + "HEIGHT=" + "50%" + "> " + "<textarea rows=" + "6" + " cols=" + "50" + " readonly >" + cadenaO + "</textarea>" + "</td>" +
                            "</tr>" +
                            "</table>";

                        mensaje += sHtml;
                    }
                    //CFD
                    if (detalleVal.IndexOf("RE004") != -1 || detalleVal.IndexOf("RE003") != -1)
                    {
                        asunto = "Información sobre la factura que enviaste con Folio. " + folio + serie + ". ";

                        sHtml =
                            @"<h5><Font Color=" + "#3983B7" + "><center>DETALLE DE VALIDACION DE LA FACTURA DIGITAL BASADO EN EL ANEXO 20 <br>DE LA RESOLUCION MISCELANEA FISCAL PUBLICADA POR EL SAT</center></Font></h1></P>" +

                            " <TABLE BORDER=0>" +
                            "<TR>" +
                            "<TD>Estatus completo de la factura digital:</TD>" +
                            "<TD>" + detalleVal +
                            "<TD><img src=" + "http://dataexpressintmx.com/x_small.png" + "></TD>" +
                            "</TD>" +
                            "</TR>" +
                            " </TABLE>" +

                            "<table border=" + "0" + " width=" + "200px" + ">" +
                            "<tr>" +
                            "<th></th>" +

                            "<td> </td>" +
                            "<th>   Estatus validación  </th>" +
                            "</tr>" +

                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">Razon Social:</th>" +
                            "<td>" + nombreEmisor + "</td>" +
                            "</tr>" +
                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">RFC:</th>" +
                            "<td>" + emisor + "</td>" +
                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">Tipo comprobante:</th>" +
                            "<td>" + tipocomprobant + "</td>" +
                            "</tr>" +

                            "<tr>" +
                            "<th width=" + "50%" + " align=" + "right" + ">Versión del comprobante:</th>" +
                            "<td>" + versionComprobante + "</td>" +
                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">Folio y Serie:</th>" +
                            "<td>" + folio + " " + serie + "</td>" +
                            "<th>   <img src=" + imgRangoFol + ">  </th>" +
                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">Año   No. aprobación:</th>" +
                            "<td>" + anoAprobacion + " " + noAprobacion + "</td>" +
                            "<th>   <img src=" + imgNoaprobfol + ">  </th>" +
                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">Estructura:</th>" +
                            "<td>" + estructura + "</td>" +
                            "<th>   <img src=" + imgEstruct + ">  </th>" +


                            "</tr>" +
                            "<tr>" +
                            "<th align=" + "right" + ">Certificado:</th>" +
                            "<td>" + noCertificado + "</td>" +
                            "<th>   <img src=" + imgExistCer + ">  </th>" +

                            "</tr>" +

                            "<tr>" +
                            "<th align=" + "right" + ">Vigencia:</th>" +
                            "<td>" + vigeciaCer + "</td>" +
                            "<th>   <img src=" + imgVigCer + ">  </th>" +

                            "</tr>" +
                            "</table>" +
                            "<table>" +
                            "<tr>" +
                            "<th align=" + "left" + ">Sello:" + " <img src=" + imgSello + ">" + "</th>" +

                            "</tr>" +
                            "<tr>" +
                            "<th>" + "<textarea rows=" + "6" + " cols=" + "50" + " readonly >" + sello + "</textarea>" + "</th>" +
                            "</tr>" +

                            "</table>" +
                            "<table>" +
                            "<tr>" +
                            "<th align=" + "left" + " >Cadena Original:</th>" +
                            "</tr>" +
                            "<tr>" +
                            "<td width=" + "40%" + "HEIGHT=" + "50%" + "> " + "<textarea rows=" + "6" + " cols=" + "50" + " readonly >" + cadenaO + "</textarea>" + "</td>" +
                            "</tr>" +
                            "</table>";

                        mensaje += sHtml;
                    }
                    em.servidorSTMP(servidor, puerto, ssl, emailCredencial, passCredencial);
                    em.llenarEmail(emailEnviar, mail, "", "", asunto, mensaje);

                    try
                    {
                        em.enviarEmail();
                        lMensaje.Text = "E-mail enviado";

                        DB.Conectar();
                        DB.CrearComando((@"insert into LogErrorFacturas
                                (detalle,fecha,numeroDocumento) 
                                values 
                                (@detalle,@fecha,@numeroDocumento)"));
                        DB.AsignarParametroCadena("@detalle", "E-mail enviado: " + mail);
                        DB.AsignarParametroCadena("@fecha", System.DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss"));
                        DB.AsignarParametroCadena("@numeroDocumento", folio + serie);
                        DB.EjecutarConsulta1();
                        DB.Desconectar();
                    }
                    catch (System.Net.Mail.SmtpException ex)
                    {
                        DB.Conectar();
                        DB.CrearComando((@"insert into LogErrorFacturas
                                (detalle,fecha,numeroDocumento) 
                                values 
                                (@detalle,@fecha,@numeroDocumento)"));

                        DB.AsignarParametroCadena("@detalle", "E-mail no enviado: " + ex.ToString());
                        DB.AsignarParametroCadena("@fecha", System.DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss"));
                        DB.AsignarParametroCadena("@numeroDocumento", folio + serie);
                        DB.EjecutarConsulta1();
                        string errorConsulta = DB.comando.CommandText;
                        lMensaje.Text = errorConsulta;
                        DB.Desconectar();
                    }
                }    //if mail.length
            }
            catch (Exception ex)
            {
                DB.Conectar();
                DB.CrearComando((@"insert into LogErrorFacturas
                                (detalle,fecha,numeroDocumento) 
                                values 
                                (@detalle,@fecha,@numeroDocumento)"));

                DB.AsignarParametroCadena("@detalle", "E-mail no enviado: " + ex.ToString());
                DB.AsignarParametroCadena("@fecha", System.DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss"));
                DB.AsignarParametroCadena("@numeroDocumento", folio + serie);
                DB.EjecutarConsulta1();
                DB.Desconectar();
            }

            //}
        }
Ejemplo n.º 3
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            string cliente = txtCliente.Text;

            if (cliente.Equals(""))
            {
                MessageBox.Show("Falta datos del Cliente", "Mensaje de advertencia");
            }
            else
            {
                for (int count = 0; count < dataGridViewFactura.Rows.Count; count++)
                {
                    string codigo = (string)dataGridViewFactura.Rows[count].Cells["columnProducto"].Value;
                    contador = contador + 1;
                }
                if (contador >= 1)
                {
                    Console.Write("contador es " + contador);
                    if (consumidorF == true)
                    {
                        txtCliente.Text   = "";
                        txtRUC.Text       = "";
                        txtDireccion.Text = "";
                        txtTelefono.Text  = "";
                        dataGridViewProducto.ClearSelection();
                        dataGridViewFactura.Rows.Clear();
                        txtSubTotal.Text = "";
                        txtIva.Text      = "";
                        txtTotal.Text    = "";


                        rbFactura.Enabled            = false;
                        rbConsumidorFinal.Enabled    = false;
                        rbCodigo.Enabled             = false;
                        rbProducto.Enabled           = false;
                        txtBusqueda.Enabled          = false;
                        dataGridViewProducto.Enabled = false;
                        btnGuardar.Enabled           = false;
                        btnAgregarProducto.Enabled   = false;
                        txtCantidad.Enabled          = false;
                        txtEmpleado.Text             = Login.ROL;
                        consumidorF = false;
                    }
                    else
                    {
                        contador = 0;
                        // es una factura
                        ced        = txtRUC.Text;
                        numFactura = num;
                        Console.Write("num fact " + numFactura);
                        cedEmpleado = MetodosBD.retornaCedulaEmpleado(txtEmpleado.Text);
                        subT        = Convert.ToDouble(txtSubTotal.Text);
                        I           = Convert.ToDouble(txtIva.Text);
                        T           = Convert.ToDouble(txtTotal.Text);
                        string cod    = "";
                        string prod   = "";
                        int    cant   = 0;
                        double precio = 0;
                        double total  = 0;


                        MetodosBD.InsertarFacturaC(numFactura, ced, cedEmpleado, fechaActual, subT, I, T, false);
                        for (int count = 0; count < dataGridViewFactura.Rows.Count; count++)
                        {
                            cod    = (string)dataGridViewFactura.Rows[count].Cells["columnProducto"].Value;
                            prod   = MetodosBD.buscarCodigoProducto(cod);
                            cant   = (int)dataGridViewFactura.Rows[count].Cells["columnCantidad"].Value;
                            precio = (double)dataGridViewFactura.Rows[count].Cells["columnPrecioUnit"].Value;
                            total  = (double)dataGridViewFactura.Rows[count].Cells["columnTotal"].Value;


                            MetodosBD.InsertarDetalleFactura(numFactura, prod, cant, precio, total);
                        }

                        string n = lblNumFact.Text; // aqui obtengo el numero de factura



                        FormFacturaC           form = new FormFacturaC();
                        ReportDocument         oRep = new ReportDocument();
                        ParameterField         pf   = new ParameterField();
                        ParameterFields        pfs  = new ParameterFields();
                        ParameterDiscreteValue pdv  = new ParameterDiscreteValue();
                        pf.Name   = "@numFact";
                        pdv.Value = n;
                        pf.CurrentValues.Add(pdv);
                        pfs.Add(pf);
                        form.crystalReportViewer1.ParameterFieldInfo = pfs;
                        oRep.Load(@"C:\Users\Usuario\Documents\GitHub\ProyectoProgramacion5\ProyectoProgV\ProyectoProgV\Presentacion\reporteFacturaCliente2.rpt");
                        oRep.ExportToDisk(ExportFormatType.PortableDocFormat, @"C:\Users\Usuario\Documents\GitHub\ProyectoProgramacion5\Facturas\Factura Nro." + n + ".pdf");



                        form.crystalReportViewer1.ReportSource = oRep;

                        form.Show();



                        txtCliente.Text   = "";
                        txtRUC.Text       = "";
                        txtDireccion.Text = "";
                        txtTelefono.Text  = "";
                        lblNumFact.Text   = "";
                        dataGridViewProducto.ClearSelection();
                        dataGridViewFactura.Rows.Clear();
                        txtSubTotal.Text = "";
                        txtIva.Text      = "";
                        txtTotal.Text    = "";


                        rbFactura.Enabled            = false;
                        rbConsumidorFinal.Enabled    = false;
                        rbCodigo.Enabled             = false;
                        rbProducto.Enabled           = false;
                        txtBusqueda.Enabled          = false;
                        dataGridViewProducto.Enabled = false;
                        btnGuardar.Enabled           = false;
                        btnAgregarProducto.Enabled   = false;
                        txtCantidad.Enabled          = false;
                        txtEmpleado.Text             = Login.ROL;
                        consumidorF = false;


                        urlEnvio = "C:\\Users\\Usuario\\Documents\\GitHub\\ProyectoProgramacion5\\Facturas\\Factura Nro." + n + ".pdf";
                        //creamos nuestro objeto de la clase que hicimos
                        email             = MetodosBD.buscarEmailCliente(txtRUC.Text);
                        btnEnviar.Enabled = true;
                        EnviarMail oMail = new EnviarMail();


                        bool resultado = oMail.enviarCorreo("Gracias por comprar Att. Code Enterprise ", "Facturacion", email, urlEnvio);
                        if (resultado)
                        {
                            MessageBox.Show("Mensaje enviado");
                        }
                        else
                        {
                            MessageBox.Show("Mensaje no enviado");
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Falta datos de Productos", "Mensaje de advertencia");
                }
            }
        }
Ejemplo n.º 4
0
        protected void Button1_Click2(object sender, EventArgs e)
        {
            DB.Conectar();
            DB.CrearComando("select servidorSMTP,puertoSMTP,sslSMTP,userSMTP,passSMTP,dirdocs,emailEnvio from Par_ParametrosSistema");
            DbDataReader DR1 = DB.EjecutarConsulta();

            while (DR1.Read())
            {
                servidor        = DR1[0].ToString();
                puerto          = Convert.ToInt32(DR1[1].ToString());
                ssl             = Convert.ToBoolean(DR1[2].ToString());
                emailCredencial = DR1[3].ToString();
                passCredencial  = DR1[4].ToString();
                RutaDOC         = DR1[5].ToString();
                emailEnviar     = DR1[6].ToString();
            }
            DB.Desconectar();

            string emails  = "";
            string asunto  = "";
            string mensaje = "";
            //string temp = "";
            Boolean bCHK = false;

            DB.Desconectar();
            consulta = "";
            cantidad = gvFacturas.Rows.Count;
            foreach (GridViewRow row in gvFacturas.Rows)
            {
                CheckBox    chk_Seleccionar   = (CheckBox)row.FindControl("check");
                HiddenField hd_SeleccionaPDF  = (HiddenField)row.FindControl("checkHdPDF");
                HiddenField hd_SeleccionarXML = (HiddenField)row.FindControl("checkHdXML");
                Label       l_Label2          = (Label)row.FindControl("Label2");
                // Label l_Label4 = (Label)row.FindControl("Label4");
                Label l_Label5 = (Label)row.FindControl("Label5");
                Label l_Label1 = (Label)row.FindControl("Label1");
                EM = new EnviarMail();
                EM.servidorSTMP(servidor, puerto, ssl, emailCredencial, passCredencial);
                if (chk_Seleccionar.Checked)
                {
                    bCHK   = true;
                    emails = "";
                    if (chkReglas.Checked)
                    {
                        if (!l_Label2.Text.Trim().Equals("9999999999999"))
                        {
                            DB.Conectar();
                            DB.CrearComando("select emailsRegla from Cat_EmailsReglas  where Receptor=@rfcrec and estadoRegla=1");
                            DB.AsignarParametroCadena("@rfcrec", l_Label2.Text.Trim());
                            DbDataReader DR3 = DB.EjecutarConsulta();
                            if (DR3.Read())
                            {
                                emails = DR3[0].ToString();
                            }
                        }
                    }
                    emails = tbEmail.Text + "," + emails;
                    emails = emails.Trim();
                    emails = emails.Trim(',');

                    if (checkPDF.Checked)
                    {
                        EM.adjuntar(RutaDOC + hd_SeleccionaPDF.Value.ToString().Replace("docus/", ""));
                    }
                    if (checkXML.Checked)
                    {
                        EM.adjuntar(RutaDOC + hd_SeleccionarXML.Value.ToString().Replace("docus/", ""));
                    }
                    if (emails.Length > 15)
                    {
                        asunto   = "Documento electrónico No: " + l_Label5.Text + " de DeCameron Ecuador";
                        mensaje  = @"Estimado(a) cliente;  <br>
							Acaba de recibir su documento electrónico generado el "                             + l_Label1.Text + @"<br>
							con folio No: "                             + l_Label5.Text + ".";
                        mensaje += "<br><br>Saludos cordiales, ";
                        mensaje += "<br>Hotel DeCameron Ecuador, ";
                        mensaje += "<br><br>Servicio proporcionado por DataExpress Latinoamerica";

                        EM.llenarEmail(emailEnviar, emails.Trim(','), "", "", asunto, mensaje);
                        try
                        {
                            EM.enviarEmail();
                            lbMsgZip.Text = "E-Mail enviado";
                        }
                        catch (System.Net.Mail.SmtpException ex)
                        {
                            DB.Desconectar();
                            DB.Conectar();
                            DB.CrearComando(@"insert into Log_ErrorFacturas
								(detalle,fecha,archivo,linea,numeroDocumento,tipo)
								values
								(@detalle,@fecha,@archivo,@linea,@numeroDocumento,@tipo)"                                );
                            DB.AsignarParametroCadena("@detalle", ex.Message.Replace("'", "''"));
                            DB.AsignarParametroCadena("@fecha", System.DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));
                            DB.AsignarParametroCadena("@archivo", "");
                            DB.AsignarParametroCadena("@linea", "");
                            DB.AsignarParametroCadena("@tipo", "E-Mail");
                            DB.AsignarParametroCadena("@numeroDocumento", l_Label5.Text + " ");
                            DB.EjecutarConsulta1();
                            DB.Desconectar();
                            lbMsgZip.Text = ex.Message;
                        }
                    }
                    else
                    {
                        lbMsgZip.Text = "Tienes seleccionar algún E-Mail";
                    }
                }
            }
            if (!bCHK)
            {
                lbMsgZip.Text = "Debes seleccionar una factura";
            }
        }
Ejemplo n.º 5
0
        protected void Button1_Click2(object sender, EventArgs e)
        {
            string    emails          = "";
            string    emailEnviar     = "";
            string    asunto          = "";
            string    mensaje         = "";
            string    FOLFAC          = "";
            string    SERFAC          = "";
            string    FECHEMI         = "";
            string    servidor        = "";
            int       puerto          = 25;
            Boolean   ssl             = false;
            string    emailCredencial = "";
            string    passCredencial  = "";
            string    RutaDOC         = "";
            string    RFCREC          = "";
            ArrayList Arraycons       = new ArrayList();

            string[] cons;

            DB.Conectar();
            DB.CrearComando("select servidorSMTP,puertoSMTP,sslSMTP,userSMTP,passSMTP,dirdocs,emailEnvio from ParametrosSistema");
            DbDataReader DR1 = DB.EjecutarConsulta();

            while (DR1.Read())
            {
                servidor        = DR1[0].ToString();
                puerto          = Convert.ToInt32(DR1[1].ToString());
                ssl             = Convert.ToBoolean(DR1[2].ToString());
                emailCredencial = DR1[3].ToString();
                passCredencial  = DR1[4].ToString();
                RutaDOC         = DR1[5].ToString();
                emailEnviar     = DR1[6].ToString();
            }
            DB.Desconectar();
            consulta = "";
            DT.Clear();
            if (tbFolioAnterior.Text.Length != 0)
            {
                if (consulta.Length != 0)
                {
                    consulta = consulta + "FA" + tbFolioAnterior.Text + separador;
                }
                else
                {
                    consulta = "FA" + tbFolioAnterior.Text + separador;
                }
            }
            if (tbNombre.Text.Length != 0)
            {
                if (consulta.Length != 0)
                {
                    consulta = consulta + "RS" + tbNombre.Text + separador;
                }
                else
                {
                    consulta = "RS" + tbNombre.Text + separador;
                }
            }
            if (tbRFC.Text.Length != 0)
            {
                if (consulta.Length != 0)
                {
                    consulta = consulta + "RF" + tbRFC.Text + separador;
                }
                else
                {
                    consulta = "RF" + tbRFC.Text + separador;
                }
            }
            if (tbSerie.Text.Length != 0)
            {
                if (consulta.Length != 0)
                {
                    consulta = consulta + "SE" + tbSerie.Text + separador;
                }
                else
                {
                    consulta = "SE" + tbSerie.Text + separador;
                }
            }

            /*     if (ddlTipoDocumento.SelectedIndex != 0)
             *   {
             *       if (consulta.Length != 0) { consulta = consulta + "TD" + ddlTipoDocumento.SelectedValue + separador; }
             *       else { consulta = "TD" + ddlTipoDocumento.SelectedValue + separador; }
             *   }*/
            if (ddlSucursal.SelectedIndex != 0)
            {
                if (consulta.Length != 0)
                {
                    consulta = consulta + "SU" + ddlSucursal.SelectedValue + separador;
                }
                else
                {
                    consulta = "SU" + ddlSucursal.SelectedValue + separador;
                }
            }

            if (!calFechaAnterior.SelectedDate.ToString("yyyyMMdd").Equals("00010101") &&
                !calFechaFin.SelectedDate.ToString("yyyyMMdd").Equals("00010101")
                )
            {
                if (consulta.Length != 0)
                {
                    consulta = consulta + "DA" + calFechaAnterior.SelectedDate.ToString("MM/dd/yyyy") + separador;
                }
                else
                {
                    consulta = "DA" + calFechaAnterior.SelectedDate.ToString("MM/dd/yyyy") + separador;
                }
            }
            if (!calFechaFin.SelectedDate.ToString("yyyyMMdd").Equals("00010101") &&
                !calFechaAnterior.SelectedDate.ToString("yyyyMMdd").Equals("00010101")
                )
            {
                if (consulta.Length != 0)
                {
                    consulta = consulta + "DF" + calFechaFin.SelectedDate.ToString("MM/dd/yyyy") + separador;
                }
                else
                {
                    consulta = "DF" + calFechaFin.SelectedDate.ToString("MM/dd/yyyy") + separador;
                }
            }
            if (consulta.Length != 0)
            {
                //if (((String)Session["coFactTodas"])=="") { miSucursal = "S---"; } else { miSucursal = (String)Session["sucursalUser"]; }
                // miSucursal = "S---";
                consulta = consulta.Substring(0, consulta.Length - 1);
            }

            if (Convert.ToBoolean(Session["coFactTodas"]))
            {
                aux = "1";
            }
            else
            {
                aux = "0";
            }

            string a = "sucursal" + (String)Session["sucursalUser"] + " cliente" + (String)Session["rfcCliente"];

            DB.Conectar();
            DB.CrearComandoProcedimiento("PA_facturasInv_basico_rec");
            DB.AsignarParametroProcedimiento("@QUERY", System.Data.DbType.String, consulta);
            DB.AsignarParametroProcedimiento("@SUCURSAL", System.Data.DbType.String, (String)Session["sucursalUser"]);
            DB.AsignarParametroProcedimiento("@RFC", System.Data.DbType.String, (String)Session["rfcCliente"]);
            DB.AsignarParametroProcedimiento("@ROL", System.Data.DbType.Byte, Convert.ToByte(aux));
            DB.AsignarParametroProcedimiento("@MODULO", System.Data.DbType.String, (String)modulo);
            DbDataReader DR = DB.EjecutarConsulta();

            while (DR.Read())
            {
                cons    = new string[5];
                RFCREC  = DR[0].ToString();
                FOLFAC  = DR[3].ToString();
                SERFAC  = DR[2].ToString();
                FECHEMI = DR[5].ToString();
                //emails = DR[11].ToString();

                cons[0] = RFCREC;
                cons[1] = FOLFAC;
                cons[2] = SERFAC;
                cons[3] = FECHEMI;
                cons[4] = emails;
                Arraycons.Add(cons);
            }
            DB.Desconectar();



            foreach (string[] datFact in Arraycons)
            {
                DB.Conectar();
                DB.CrearComando("select emailsRegla from EmailsReglas  where Receptor=@rfcrec and estadoRegla=1");
                DB.AsignarParametroCadena("@rfcrec", datFact[0]);
                DbDataReader DR3 = DB.EjecutarConsulta();
                if (DR3.Read())
                {
                    emails = DR3[0].ToString();
                }
                DB.Desconectar();
                if (emails.Length > 1)
                {
                    EM = new EnviarMail();
                    EM.servidorSTMP(servidor, puerto, ssl, emailCredencial, passCredencial);
                    if (ddlDocumentosEnviar.SelectedValue == "2")
                    {
                        EM.adjuntar(RutaDOC + datFact[0] + "_" + datFact[1] + datFact[2] + ".pdf");
                    }
                    else if (ddlDocumentosEnviar.SelectedValue == "1")
                    {
                        EM.adjuntar(RutaDOC + datFact[0] + "_" + datFact[1] + datFact[2] + ".xml");
                    }
                    if (ddlDocumentosEnviar.SelectedValue == "0")
                    {
                        EM.adjuntar(RutaDOC + datFact[0] + "_" + datFact[1] + datFact[2] + ".xml");
                        EM.adjuntar(RutaDOC + datFact[0] + "_" + datFact[1] + datFact[2] + ".pdf");
                    }
                    if (emails.Length != 0)
                    {
                        asunto   = "Factura con folio" + datFact[1] + datFact[2] + " de BDI de México";
                        mensaje  = @"Buenas! <br>
                            Acabas de Recibir tu factura generada el" + datFact[3] + @"<br>
                            con folio" + datFact[1] + datFact[2] + ".";
                        mensaje += "<br>Saludos cordiales ";
                        mensaje += "<br>BDI Distribuciones de Mexico S. de R.L. de C.V. ";
                        mensaje += "<br><br>Servicio proporcionado por DataExpress";

                        EM.llenarEmail(emailEnviar, (datFact[4].Trim(',') + "," + emails.Trim(',')).Trim(','), "", "", asunto, mensaje);
                        try
                        {
                            EM.enviarEmail();
                            lMensaje.Text = "Email enviado";
                        }
                        catch (System.Net.Mail.SmtpException ex)
                        {
                            //setMsj(ex.Message);
                            DB.Desconectar();

                            DB.Conectar();
                            DB.CrearComando(@"insert into LogErrorFacturas
                                (detalle,fecha,archivo,linea,numeroDocumento,tipo) 
                                values 
                                (@detalle,@fecha,@archivo,@linea,@numeroDocumento,@tipo)");
                            DB.AsignarParametroCadena("@detalle", ex.Message);
                            DB.AsignarParametroCadena("@fecha", System.DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));
                            DB.AsignarParametroCadena("@archivo", "");
                            DB.AsignarParametroCadena("@linea", "");
                            DB.AsignarParametroCadena("@tipo", "E-mail");
                            DB.AsignarParametroCadena("@numeroDocumento", datFact[1] + datFact[2]);
                            DB.EjecutarConsulta1();
                            DB.Desconectar();
                        }
                    }
                }
            }
        }