public List <mail_Cuentas_Correo_x_Empresa_Info> Consulta_mail_Cuentas_Correo_x_Empresa(ref string mensaje) { try { List <mail_Cuentas_Correo_x_Empresa_Info> lista_cuentas_Emisor = new List <mail_Cuentas_Correo_x_Empresa_Info>(); using (EntitiesFactElectronica conexion = new EntitiesFactElectronica()) { var q = from C in conexion.wv_mail_Cuentas_Correo_x_Empresa select new { C.IdEmpresa, C.IdCuenta, C.observacion, C.RazonSocial, C.Nombre_cuenta, C.direccion_correo }; foreach (var item in q) { mail_Cuentas_Correo_x_Empresa_Info InfoCuentaEmpresa = new mail_Cuentas_Correo_x_Empresa_Info(); InfoCuentaEmpresa.IdEmpresa = item.IdEmpresa; InfoCuentaEmpresa.IdCuenta = item.IdCuenta; InfoCuentaEmpresa.observacion = item.observacion; InfoCuentaEmpresa.RazonSocial = item.RazonSocial; InfoCuentaEmpresa.observacion = item.observacion; InfoCuentaEmpresa.direccion_correo = item.direccion_correo; lista_cuentas_Emisor.Add(InfoCuentaEmpresa); } } return(lista_cuentas_Emisor); } catch (Exception ex) { // string mensaje = ""; mensaje = ex.InnerException + " " + ex.Message; tb_sis_Log_Error_Vzen_Data oDataLog = new tb_sis_Log_Error_Vzen_Data(); tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), eTipoError.ERROR, mensaje, "", "", "", "", "", DateTime.Now); oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje); return(new List <mail_Cuentas_Correo_x_Empresa_Info>()); } }
private void BtnEnviarMail_Click(object sender, EventArgs e) { txt_correo_destinatario.Focus(); //if (ValidarCorreo.email_bien_escrito(txt_correo_destinatario.Text) == false) //{ // MessageBox.Show("Correo destinatario esta mal escrito ... Error mail no valido"); // return; //} listadosArchivoaAdjunto = new List <mail_Mensaje_Archi_Adjunto_Info>(); if (ValidarTxt() == true) { return; } Int32 Secuencia_Archivo_Adjunto = Bus_ArchivoAdjunto.SecuenciaArchivoAdjunto(); bool BCorreo_GraboOk; try { tb_Contribuyente_Info InfoContribuyente = ListaInfoContribuyente.FirstOrDefault(var => var.IdContribuyente == Convert.ToDecimal(cmbDestinatarios.EditValue)); mail_Mensaje_Info Mensaje = new mail_Mensaje_Info(); Mensaje.InfoContribuyente = InfoContribuyente; Mensaje.IdContribuyente = InfoContribuyente.IdContribuyente; Mensaje.Para = txt_correo_destinatario.Text; Mensaje.Para_CC = txt_correo_destinatario_CC.Text; Mensaje.Asunto = txtAsunto.Text; Mensaje.Texto_mensaje = txt_mensaje.Text; Mensaje.IdTipo_Mensaje = eTipoMail.Buzon_Sal; Mensaje.Fecha = DateTime.Now; Mensaje.Eliminado = false; Mensaje.Respondido = false; Mensaje.Leido = true; if (lbRuta.Text == "") { Mensaje.Tiene_Adjunto = false; } else { Mensaje.Tiene_Adjunto = true; } Mensaje.Prioridad = 1; Mensaje.No_Leido = false; Mensaje.mail_remitente = InfoContribuyente.Mail; // lleno la clase de archivos adjuntos con los item check =true //Listadors_de_Comprobante_Emisor var lista_Filtrada = from filtrado in Listadors_de_Comprobante_Emisor where filtrado.Checked == true select filtrado; //recorro los cbtes chequeados foreach (var item in lista_Filtrada) { try { mail_Mensaje_Archi_Adjunto_Info FilePdf = new mail_Mensaje_Archi_Adjunto_Info(); FilePdf.descripcion_archi = item.IdComprobante + ".pdf"; FilePdf.extensionArchivo = ".pdf"; FilePdf.Archivo_adjunto = null; FilePdf.Archivo_adjunto_stream = null; FilePdf.IdComprobante = item.IdComprobante; listadosArchivoaAdjunto.Add(FilePdf); FilePdf.Secuencia = 1; FilePdf.IdEmpresa = item.IdEmpresa; mail_Mensaje_Archi_Adjunto_Info FileXML = new mail_Mensaje_Archi_Adjunto_Info(); FileXML.descripcion_archi = item.IdComprobante + ".xml"; FileXML.extensionArchivo = ".xml"; FileXML.Archivo_adjunto = null; FileXML.Archivo_adjunto_stream = null; FileXML.IdComprobante = item.IdComprobante; listadosArchivoaAdjunto.Add(FileXML); FileXML.Secuencia = 2; FileXML.IdEmpresa = item.IdEmpresa; if (lbRuta.Text != "Ruta del Archivo Adjunto") { AdjuntoInfo = new mail_Mensaje_Archi_Adjunto_Info(); AdjuntoInfo.IdMensaje = BusMensaje.IdMensaje(); AdjuntoInfo.Secuencia = Secuencia_Archivo_Adjunto; FileStream file = new FileStream(lbRuta.Text, FileMode.Open); Byte[] ArchivoAdjunto = new byte[file.Length]; file.Read(ArchivoAdjunto, 0, Convert.ToInt32(file.Length)); AdjuntoInfo.Archivo_adjunto = ArchivoAdjunto; AdjuntoInfo.extensionArchivo = Path.GetExtension(lbRuta.Text); AdjuntoInfo.descripcion_archi = Path.GetFileName(lbRuta.Text); listadosArchivoaAdjunto.Add(AdjuntoInfo); Secuencia_Archivo_Adjunto = Secuencia_Archivo_Adjunto + 1; file.Close(); } } catch (Exception ex) { BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } } Mensaje.list_Archivos_Adjuntos = listadosArchivoaAdjunto;//le asigno la lista de archivo adjunto a la clase mensaje que lleva los datos para enviar el correo DialogResult result = DialogResult.Yes; if (txtAsunto.Text == "") { result = MessageBox.Show("El Mensaje no Tiene Asunto Desea Enviar sin Asunto?", "MailEfirm", MessageBoxButtons.YesNoCancel); } if (result == DialogResult.Yes) { mail_Cuentas_Correo_x_Empresa_Info InfoCtaxCorreo = new mail_Cuentas_Correo_x_Empresa_Info(); mail_Cuentas_Correo_Info InfoCtaCorreo = new mail_Cuentas_Correo_Info(); listmail_Cuentas_Correo_x_Empresa = Busmail_Cuentas_Correo_x_Empresa.Consulta_mail_Cuentas_Correo_x_Empresa(ref message); InfoCtaxCorreo = listmail_Cuentas_Correo_x_Empresa.Find(v => v.IdEmpresa == Mensaje.InfoContribuyente.IdEmpresa); InfoCtaCorreo = listmail_Cuentas_Correo.Find(v => v.IdCuenta == InfoCtaxCorreo.IdCuenta); Mensaje.IdCuenta = InfoCtaCorreo.IdCuenta; Mensaje.mail_remitente = InfoCtaCorreo.direccion_correo; BCorreo_GraboOk = BusMensaje.GrabarMensajeDB(Mensaje, ref referencia); if (BCorreo_GraboOk == true) { try { if (InfoCtaCorreo.enviar_copia_x_cada_mail_enviado == true) { Mensaje.Asunto = "Copia Bak. " + Mensaje.Asunto; Mensaje.Asunto_texto_mostrado = "Copia Bak. " + Mensaje.Asunto_texto_mostrado; Mensaje.IdMensaje = 0; Mensaje.Para = InfoCtaCorreo.cta_mail_para_envio_x_cbte_enviado; BCorreo_GraboOk = BusMensaje.GrabarMensajeDB(Mensaje, ref referencia); } } catch (Exception) { } Event_Correo_generado(); } else { MessageBox.Show("Correo No Guardado Coreectamente"); } } else if (result == DialogResult.No) { txtAsunto.Focus(); } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); BusSisLog.Log_Error(ex.Message.ToString(), eTipoError.ERROR, this.ToString()); } }
public void Envio_Cbte_x_correo(tb_Comprobante_Info InfoComprobante_a_firmar, List <string> ListaCorreo, string SNombreEmpresa, string EstadoDoc_Auto_o_NoAuto, string IdAmbiente, eTipoEnvioMail STransaccion_q_envia, ref string mensajeErroOut) { try { Transaccion_q_envia = STransaccion_q_envia; tb_Contribuyente_Info InfoContibuyente = new tb_Contribuyente_Info(); tb_Contribuyente_Bus BusContri = new tb_Contribuyente_Bus(); InfoContibuyente = BusContri.GetContribuyente_Info(InfoComprobante_a_firmar.IdEmpresa, InfoComprobante_a_firmar.Cedula_Ruc, ref mensajeErroOut); string sTipoDoc = optener_nombre_tipo_documento(InfoComprobante_a_firmar.IdTipoDocumento); mail_Mensaje_Bus BusMail = new mail_Mensaje_Bus(); mail_Mensaje_Info InfoMail = new mail_Mensaje_Info(); InfoMail.Asunto = "Ha recibido un nuevo comprobante electronico " + sTipoDoc + " Cbte#" + InfoComprobante_a_firmar.IdComprobante + " "; InfoMail.Asunto_texto_mostrado = "Ha recibido un nuevo comprobante electronico" + sTipoDoc + " Cbte#" + InfoComprobante_a_firmar.IdComprobante + " "; InfoMail.Fecha = DateTime.Now; InfoMail.IdTipo_Mensaje = eTipoMail.Buzon_Sal; mail_Mensaje_Archi_Adjunto_Info FilePdf = new mail_Mensaje_Archi_Adjunto_Info(); FilePdf.descripcion_archi = InfoComprobante_a_firmar.IdComprobante + ".pdf"; FilePdf.extensionArchivo = ".pdf"; FilePdf.Archivo_adjunto = null; FilePdf.Archivo_adjunto_stream = null; FilePdf.Secuencia = 1; FilePdf.IdComprobante = InfoComprobante_a_firmar.IdComprobante; FilePdf.IdEmpresa = InfoComprobante_a_firmar.IdEmpresa; InfoMail.list_Archivos_Adjuntos.Add(FilePdf); mail_Mensaje_Archi_Adjunto_Info FileXML = new mail_Mensaje_Archi_Adjunto_Info(); FileXML.descripcion_archi = InfoComprobante_a_firmar.IdComprobante + ".xml"; FileXML.extensionArchivo = ".xml"; FileXML.Archivo_adjunto = null; FileXML.Archivo_adjunto_stream = null; FileXML.IdComprobante = InfoComprobante_a_firmar.IdComprobante; FileXML.Secuencia = 2; FileXML.IdEmpresa = InfoComprobante_a_firmar.IdEmpresa; InfoMail.list_Archivos_Adjuntos.Add(FileXML); InfoMail.IdContribuyente = InfoContibuyente.IdContribuyente; InfoMail.Prioridad = 0; string CuerpoMensaje = "Estimado(a):" + InfoContibuyente.Nom_Contribuyente + "\n"; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + " Se le informa que ha recibido un nuevo comprobante electronico"; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + "Resumen"; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + "Tipo de Documento:" + sTipoDoc + "\n"; CuerpoMensaje = CuerpoMensaje + "No. documento:" + InfoComprobante_a_firmar.IdComprobante + "\n"; CuerpoMensaje = CuerpoMensaje + "Fecha de Emisión:" + InfoComprobante_a_firmar.Fecha_Emi_Fact + "\n"; CuerpoMensaje = CuerpoMensaje + "No.Autorizacion:" + InfoComprobante_a_firmar.Numero_Autorizacion + "\n"; CuerpoMensaje = CuerpoMensaje + "Fecha Autorizacion:" + InfoComprobante_a_firmar.FechaAutorizacion + "\n"; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + "Ahorremos papel y ayudemos al medio ambiente! "; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + "Atentamente,"; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + SNombreEmpresa; CuerpoMensaje = CuerpoMensaje + "\n"; CuerpoMensaje = CuerpoMensaje + " Tr-Efirm:" + STransaccion_q_envia; InfoMail.Texto_mensaje = CuerpoMensaje; InfoMail.Tiene_Adjunto = true; InfoMail.InfoContribuyente = InfoContibuyente; mail_Cuentas_Correo_x_Empresa_Info InfoCuentaCorreo_ = new mail_Cuentas_Correo_x_Empresa_Info(); mail_Cuentas_Correo_Info InfoCta_remitente = new mail_Cuentas_Correo_Info(); if (listmail_cuentas_correo_x_empresa != null) { InfoCuentaCorreo_ = listmail_cuentas_correo_x_empresa.Find(v => v.IdEmpresa == InfoComprobante_a_firmar.IdEmpresa); if (InfoCuentaCorreo_.IdCuenta != null) { InfoCta_remitente = listmail_Cuentas_Correo.Find(v => v.IdCuenta == InfoCuentaCorreo_.IdCuenta); InfoMail.IdCuenta = InfoCta_remitente.IdCuenta; InfoMail.mail_remitente = InfoCta_remitente.direccion_correo; } } Boolean Envio_Correo_al_cliente = false; if (EstadoDoc_Auto_o_NoAuto == "AUTORIZADO" && IdAmbiente == "2") { if (Bus_Archivo_Adjunto.Verificar_Correo_Existe(InfoComprobante_a_firmar.IdEmpresa, InfoComprobante_a_firmar.IdComprobante, ref mensajeErroOut)) { if (Convert.ToString(Transaccion_q_envia) == "NUEVO") { return; } } if (ListaCorreo.Count > 0)// si hay correo envio con ese correo { foreach (var itemCorreo in ListaCorreo) { InfoMail.Para = itemCorreo; if (InfoCta_remitente.enviar_copia_x_cada_mail_enviado == true) { InfoMail.Para_CCO = InfoCta_remitente.cta_mail_para_envio_x_cbte_enviado; } BusMail.GrabarMensajeDB(InfoMail, ref mensajeErroOut); Envio_Correo_al_cliente = true; } } else // envio un solo correo con el mail de contribuyente { InfoMail.Para = InfoContibuyente.Mail; if (InfoCta_remitente.enviar_copia_x_cada_mail_enviado == true) { InfoMail.Para_CCO = InfoCta_remitente.cta_mail_para_envio_x_cbte_enviado; } BusMail.GrabarMensajeDB(InfoMail, ref mensajeErroOut); Envio_Correo_al_cliente = true; } //if (Envio_Correo_al_cliente == true)// solo si envio correo al cliente envio una copia //{ // if (InfoCta_remitente.enviar_copia_x_cada_mail_enviado == true) // { // InfoMail.Para = InfoCta_remitente.cta_mail_para_envio_x_cbte_enviado; // InfoMail.Asunto = "Copia.." + InfoMail.Asunto; // BusMail.GrabarMensajeDB(InfoMail, ref mensajeErroOut); // } //} } else if (EstadoDoc_Auto_o_NoAuto == "NO AUTORIZADO") { if (InfoCta_remitente.enviar_mail_x_cada_cbte_no_auto == true) { InfoMail.Para = InfoCta_remitente.cta_mail_para_envio_x_cbte_no_auto; InfoMail.Asunto = "Alerta.. cbte No Autorizado.. " + InfoMail.Asunto; BusMail.GrabarMensajeDB(InfoMail, ref mensajeErroOut); } } } catch (Exception ex) { } }