Ejemplo n.º 1
0
        private void ComprobarCorreos()
        {
            List <EnvioCorreo> EntidadesMal  = new List <EnvioCorreo>();
            List <EnvioCorreo> EntidadesBien = new List <EnvioCorreo>();
            String             sql           = "SELECT com_subcuotas.IdBloque, com_asociacion.IdComunero, ctos_entidades.IDEntidad, com_asociacion.IdTipoAsoc, com_asociacion.Ppal, com_comuneros.IdDireccion, com_comuneros.IdEmail, com_comuneros.EnvioPostal, com_comuneros.EnvioEmail, com_divisiones.IdComunidad,com_comuneros.EmailCopia FROM(((com_subcuotas LEFT JOIN com_divisiones ON com_subcuotas.IdDivision = com_divisiones.IdDivision) LEFT JOIN com_asociacion ON com_divisiones.IdDivision = com_asociacion.IdDivision) LEFT JOIN com_comuneros ON com_asociacion.IdComunero = com_comuneros.IdComunero) LEFT JOIN ctos_entidades ON com_comuneros.IdEntidad = ctos_entidades.IDEntidad GROUP BY com_subcuotas.IdBloque, com_asociacion.IdComunero, ctos_entidades.Entidad, com_asociacion.IdTipoAsoc, com_asociacion.Ppal, com_comuneros.IdDireccion, com_comuneros.IdEmail, com_comuneros.EnvioPostal, com_comuneros.EnvioEmail, com_divisiones.IdComunidad HAVING(((com_subcuotas.IdBloque) = " + id_bloque + ") AND((com_asociacion.IdTipoAsoc) = 1) AND((com_asociacion.Ppal) = -1) AND((com_comuneros.EnvioEmail) = -1));";

            DataTable correos = Persistencia.SentenciasSQL.select(sql);

            for (int a = 0; a < correos.Rows.Count; a++)
            {
                if (correos.Rows[a]["IdEmail"].ToString() != "" || correos.Rows[a]["IdEmail"] != null)
                {
                    String    Sql = "SELECT Email FROM ctos_detemail WHERE IdEntidad = " + correos.Rows[a]["IDEntidad"] + " AND Ppal = -1";
                    DataTable correo;

                    try {
                        correo = Persistencia.SentenciasSQL.select(Sql);

                        if (!ComprobarFormatoEmail(correo.Rows[0][0].ToString()))
                        {
                            EnvioCorreo envio = new EnvioCorreo(correos.Rows[a]["IdComunidad"].ToString(), correos.Rows[a]["IDEntidad"].ToString(), correos.Rows[a]["IdEmail"].ToString(), correo.Rows[0][0].ToString(), correos.Rows[a]["EmailCopia"].ToString());
                            EntidadesMal.Add(envio);
                        }
                        else
                        {
                            EnvioCorreo envio = new EnvioCorreo(correos.Rows[a]["IdComunidad"].ToString(), correos.Rows[a]["IDEntidad"].ToString(), correos.Rows[a]["IdEmail"].ToString(), correo.Rows[0][0].ToString(), correos.Rows[a]["EmailCopia"].ToString());
                            EntidadesBien.Add(envio);
                        }
                    }
                    catch (IndexOutOfRangeException)
                    {
                        EnvioCorreo envio = new EnvioCorreo(correos.Rows[a]["IdComunidad"].ToString(), correos.Rows[a]["IDEntidad"].ToString(), correos.Rows[a]["IdEmail"].ToString());
                        EntidadesMal.Add(envio);
                    }
                }
            }
            if (EntidadesMal.Count > 0)
            {
                String entidadesMal = "";
                foreach (EnvioCorreo item in EntidadesMal)
                {
                    entidadesMal += item.IdEntidad1.ToString() + "\n";
                }

                DialogResult resultado_message;
                resultado_message = MessageBox.Show("Se han detectado correos incorrectos en las siguientes entidades:\n" + entidadesMal + "\n¿Quieres seguir enviado los " + EntidadesBien.Count.ToString() + " bien?", "Error Correos", MessageBoxButtons.YesNo);

                if (resultado_message == System.Windows.Forms.DialogResult.Yes)
                {
                    PanelControl existe = Application.OpenForms.OfType <PanelControl>().Where(pre => pre.Name == "PanelControl").SingleOrDefault <PanelControl>();
                    if (existe != null)
                    {
                        existe.WindowState = FormWindowState.Normal;
                        existe.BringToFront();

                        List <String> adjuntos = new List <string>();
                        if (textBox_adjunto_1.Text == "")
                        {
                            ruta = "No";
                            adjuntos.Add(@ruta);
                        }
                        else
                        {
                            String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_1.Text;
                            ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                            adjuntos.Add(@ruta);
                        }
                        if (textBox_adjunto_2.Text != "")
                        {
                            String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_2.Text;
                            ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                            adjuntos.Add(@ruta);
                        }

                        if (textBox_adjunto_3.Text != "")
                        {
                            String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_3.Text;
                            ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                            adjuntos.Add(@ruta);
                        }
                        if (textBox_adjunto_4.Text != "")
                        {
                            String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_4.Text;
                            ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                            adjuntos.Add(@ruta);
                        }
                        if (donde == "fallo")
                        {
                            int hasta = 0;
                            for (int a = 0; a < EntidadesBien.Count; a++)
                            {
                                if (EntidadesBien[a].Correo.ToString() == correoFallo)
                                {
                                    hasta = a;
                                }
                            }
                            EntidadesBien.RemoveRange(0, hasta + 1);
                        }
                        existe.EjecutarEnvio(EntidadesBien, textBox_asusnto.Text, textBox_cuerpo.Text, adjuntos, "Correos " + id_comunidad, id_tipo, textBox_adjunto_1.Text);
                        this.Close();
                    }
                }
            }
            else
            {
                PanelControl existe = Application.OpenForms.OfType <PanelControl>().Where(pre => pre.Name == "PanelControl").SingleOrDefault <PanelControl>();
                if (existe != null)
                {
                    existe.WindowState = FormWindowState.Normal;
                    existe.BringToFront();
                    List <String> adjuntos = new List <string>();
                    if (textBox_adjunto_1.Text == "")
                    {
                        ruta = "No";
                        adjuntos.Add(@ruta);
                    }
                    else
                    {
                        String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_1.Text;
                        ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                        adjuntos.Add(@ruta);
                    }
                    if (textBox_adjunto_2.Text != "")
                    {
                        String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_2.Text;
                        ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                        adjuntos.Add(@ruta);
                    }

                    if (textBox_adjunto_3.Text != "")
                    {
                        String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_3.Text;
                        ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                        adjuntos.Add(@ruta);
                    }
                    if (textBox_adjunto_4.Text != "")
                    {
                        String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_4.Text;
                        ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                        adjuntos.Add(@ruta);
                    }
                    String referencia = (Persistencia.SentenciasSQL.select("SELECT Referencia FROM com_comunidades WHERE IdComunidad = " + id_comunidad)).Rows[0][0].ToString();

                    if (donde == "fallo")
                    {
                        int hasta = 0;
                        for (int a = 0; a < EntidadesBien.Count; a++)
                        {
                            if (EntidadesBien[a].Correo.ToString() == correoFallo)
                            {
                                hasta = a;
                            }
                        }
                        EntidadesBien.RemoveRange(0, hasta + 1);
                    }

                    existe.EjecutarEnvio(EntidadesBien, textBox_asusnto.Text, textBox_cuerpo.Text, adjuntos, "[ " + referencia + " ] Correos", id_tipo, textBox_adjunto_1.Text);
                    this.Close();
                }
            }
        }
Ejemplo n.º 2
0
        private void EnviarCorreosComunidades()
        {
            String[]           comunidades_array = comunidades.Split(',');
            List <EnvioCorreo> EntidadesBien     = new List <EnvioCorreo>();
            List <EnvioCorreo> EntidadesMal      = new List <EnvioCorreo>();

            for (int a = 0; a < comunidades_array.Length; a++)
            {
                if (comunidades_array[a].ToString() != "")
                {
                    String sql = "SELECT com_comuneros.IdComunero, com_comuneros.IdEntidad, com_comuneros.IdEmail, ctos_detemail.Email, com_comuneros.EnvioEmail, com_asociacion.Ppal, com_comuneros.EmailCopia FROM(com_comuneros INNER JOIN ctos_detemail ON com_comuneros.IdEmail = ctos_detemail.IdEmail) INNER JOIN com_asociacion ON com_comuneros.IdComunero = com_asociacion.IdComunero GROUP BY com_comuneros.IdComunero, com_comuneros.IdEntidad, com_comuneros.IdEmail, ctos_detemail.Email, com_comuneros.EnvioEmail, com_comuneros.IdComunidad, com_asociacion.Ppal HAVING(((com_comuneros.EnvioEmail) = -1) AND((com_comuneros.IdComunidad) = " + comunidades_array[a].ToString() + ") AND ((com_asociacion.Ppal) = -1));";

                    DataTable tabla_envios_comunidades = Persistencia.SentenciasSQL.select(sql);
                    for (int b = 0; b < tabla_envios_comunidades.Rows.Count; b++)
                    {
                        if (ComprobarFormatoEmail(tabla_envios_comunidades.Rows[b]["Email"].ToString()))
                        {
                            EnvioCorreo envio = new EnvioCorreo(comunidades_array[a], tabla_envios_comunidades.Rows[b]["IdEntidad"].ToString(), tabla_envios_comunidades.Rows[b]["IdEmail"].ToString(), tabla_envios_comunidades.Rows[b]["Email"].ToString(), tabla_envios_comunidades.Rows[a]["EmailCopia"].ToString());
                            EntidadesBien.Add(envio);
                        }
                        else
                        {
                            EnvioCorreo envio = new EnvioCorreo(comunidades_array[a], tabla_envios_comunidades.Rows[b]["IdEntidad"].ToString(), tabla_envios_comunidades.Rows[b]["IdEmail"].ToString(), tabla_envios_comunidades.Rows[b]["Email"].ToString(), tabla_envios_comunidades.Rows[a]["EmailCopia"].ToString());
                            EntidadesMal.Add(envio);
                        }
                    }
                }
            }
            if (EntidadesMal.Count > 0)
            {
                String entidadesMal = "";
                foreach (EnvioCorreo item in EntidadesMal)
                {
                    entidadesMal += item.IdEntidad1.ToString() + "\n";
                }

                DialogResult resultado_message;
                resultado_message = MessageBox.Show("Se han detectado correos incorrectos en las siguientes entidades:\n" + entidadesMal + "\n¿Quieres seguir enviado los " + EntidadesBien.Count.ToString() + " bien?", "Error Correos", MessageBoxButtons.YesNo);

                if (resultado_message == System.Windows.Forms.DialogResult.Yes)
                {
                    PanelControl existe = Application.OpenForms.OfType <PanelControl>().Where(pre => pre.Name == "PanelControl").SingleOrDefault <PanelControl>();
                    if (existe != null)
                    {
                        existe.WindowState = FormWindowState.Normal;
                        existe.BringToFront();

                        List <String> adjuntos = new List <string>();
                        if (textBox_adjunto_1.Text == "")
                        {
                            ruta = "No";
                            adjuntos.Add(@ruta);
                        }
                        else
                        {
                            String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_1.Text;
                            ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                            adjuntos.Add(@ruta);
                        }
                        if (textBox_adjunto_2.Text != "")
                        {
                            String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_2.Text;
                            ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                            adjuntos.Add(@ruta);
                        }

                        if (textBox_adjunto_3.Text != "")
                        {
                            String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_3.Text;
                            ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                            adjuntos.Add(@ruta);
                        }
                        if (textBox_adjunto_4.Text != "")
                        {
                            String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_4.Text;
                            ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                            adjuntos.Add(@ruta);
                        }

                        existe.EjecutarEnvio(EntidadesBien, textBox_asusnto.Text, textBox_cuerpo.Text, adjuntos, "Correos Comunidades", id_tipo, textBox_adjunto_1.Text);
                        this.Close();
                    }
                }
            }
            else
            {
                PanelControl existe = Application.OpenForms.OfType <PanelControl>().Where(pre => pre.Name == "PanelControl").SingleOrDefault <PanelControl>();
                if (existe != null)
                {
                    existe.WindowState = FormWindowState.Normal;
                    existe.BringToFront();

                    List <String> adjuntos = new List <string>();
                    if (textBox_adjunto_1.Text == "")
                    {
                        ruta = "No";
                        adjuntos.Add(@ruta);
                    }
                    else
                    {
                        String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_1.Text;
                        ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                        adjuntos.Add(@ruta);
                    }
                    if (textBox_adjunto_2.Text != "")
                    {
                        String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_2.Text;
                        ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                        adjuntos.Add(@ruta);
                    }

                    if (textBox_adjunto_3.Text != "")
                    {
                        String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_3.Text;
                        ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                        adjuntos.Add(@ruta);
                    }
                    if (textBox_adjunto_4.Text != "")
                    {
                        String buscarRuta = "SELECT Ruta FROM com_Documentos WHERE IdDocumento = " + textBox_adjunto_4.Text;
                        ruta = (Persistencia.SentenciasSQL.select(buscarRuta)).Rows[0][0].ToString();
                        adjuntos.Add(@ruta);
                    }

                    for (int a = 0; a < adjuntos.Count; a++)
                    {
                        MessageBox.Show(adjuntos[a]);
                    }

                    existe.EjecutarEnvio(EntidadesBien, textBox_asusnto.Text, textBox_cuerpo.Text, adjuntos, "Correos Comunidades", id_tipo, textBox_adjunto_1.Text);
                    this.Close();
                }
            }
        }