private void EnviaNotifCan(NominaItem sal) { if (View != null && View.ObjectSpace != null && sal != null) { Correo objCorreo = View.ObjectSpace.FindObject <Correo>(CriteriaOperator.Parse("Clave = 'cancel'")); if (objCorreo == null) { objCorreo = View.ObjectSpace.CreateObject <Correo>(); objCorreo.Clave = "cancel"; } Correo objSend = View.ObjectSpace.FindObject <Correo>(CriteriaOperator.Parse("Clave = 'icpac'")); if (objSend != null) { objCorreo.Cuenta = objSend.Cuenta; objCorreo.Identificdr = objSend.Identificdr; objCorreo.Passw = objSend.Passw; objCorreo.Puerto = objSend.Puerto; objCorreo.SegurdSSL = objSend.SegurdSSL; objCorreo.ServidorSMTP = objSend.ServidorSMTP; objCorreo.Usuario = objSend.Usuario; } objCorreo.Asunto = string.Format("El documento {0}, se ha cancelado", sal.ReciboN); objCorreo.Mensaje1 = "Notificación de cancelación"; Empleado pc = sal.Empleado; Empresa emp = sal.Session.FindObject <Empresa>(CriteriaOperator.Parse("Clave = 'icpac'")); if (pc != null && pc.Persona != null && pc.Persona.Direccion != null) { pc.Persona.Direccion.Reload(); } if (emp != null) { objCorreo.Mensaje1 = "Estimado, le notificamos por este medio que el CFDI (Comprobante Fiscal Digital por Internet) con las siguientes características ha sido cancelado:<br>"; } objCorreo.Mensaje2 = htmlCan(emp.Compania.Rfc, emp.Compania.Nombre, sal.Empleado.Persona.Rfc, sal.Empleado.Nombre, sal.ReciboN, String.Format("{0:yyyy-MM-ddTHH:mm:ss}", sal.FechaDoc), string.Format("{0}({1})", "egreso", "RECIBO"), string.Format("{0}, {1}", sal.Total.ToString("c2"), sal.Moneda.Clave)); CorreoSend.MandaCorreo(objCorreo, pc.Persona.Direccion.Email, objCorreo.Asunto, objCorreo.Identificdr, null); objCorreo.Mensaje1 = objCorreo.Mensaje2 = string.Empty; } }
private void Correo(NominaItem fac) { if (View != null) { if (fac != null) { Correo objCorreo = View.ObjectSpace.FindObject <Correo>(CriteriaOperator.Parse("Clave = 'icpac'")); if (objCorreo != null) { string aux = NegocioNom.NamePdf(fac); string asn = String.Format("{0}({1})", objCorreo.Asunto, Path.GetFileNameWithoutExtension(aux)); string sn = NegocioNom.SoloPdf(fac); MemoryStream fmem = new MemoryStream(); MemoryStream fmem1 = new MemoryStream(); fac.DElctrnc.Archivos[0].File.SaveToStream(fmem); sn = Path.ChangeExtension(sn, ".xml"); // Set the stream position to the beginning of the stream. fmem.Seek(0, SeekOrigin.Begin); CorreoSend.AddFile(fmem, MediaTypeNames.Application.Soap, sn); fac.DElctrnc.Archivos[1].File.SaveToStream(fmem1); sn = Path.ChangeExtension(sn, ".pdf"); // Set the stream position to the beginning of the stream. fmem1.Seek(0, SeekOrigin.Begin); CorreoSend.AddFile(fmem1, MediaTypeNames.Application.Pdf, sn); // CorreoSend.AddFile(aux, MediaTypeNames.Application.Pdf); // CorreoSend.AddFile(aux, MediaTypeNames.Application.Soap); /* No lo logre asi * MemoryStream ms = new MemoryStream(); * emp.Logo.Save(ms, ImageFormat.Jpeg);*/ string mail = string.Empty; fac.Empleado.Persona.Direccion.Reload(); if (!string.IsNullOrEmpty(Param.VntCfdi.SendCopy)) { mail = string.Format("{0}, {1}", fac.Empleado.Persona.Direccion.Email, Param.VntCfdi.SendCopy); } else { mail = fac.Empleado.Persona.Direccion.Email; } if (CorreoSend.MandaCorreo(objCorreo, mail, asn, null, null)) { fac.EnvioC = EnvioCorreo.Enviado; Save = true; InCommited = true; View.ObjectSpace.CommitChanges(); InCommited = false; } } } } }