Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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;
                        }
                    }
                }
            }
        }