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