コード例 #1
0
        public void ValidaEnvioEmailPessoaSemEmail()
        {
            var cliente = new Pessoa();

            var serviceEmail = new ServiceEmail();

            Assert.IsFalse(serviceEmail.Sender(cliente));
        }
コード例 #2
0
        public void ValidaEnvioEmailCliente()
        {
            var cliente = new Pessoa();

            cliente.Email = "*****@*****.**";

            var serviceEmail = new ServiceEmail();

            Assert.IsTrue(serviceEmail.Sender(cliente));
        }
コード例 #3
0
        public void iniciarProceso()
        {
            List <DO_SolicitudCorreo> solicitudes = DataManager.GetSolicitudCorreoPendientes();
            ServiceEmail ServiceEmail             = new ServiceEmail();

            if (solicitudes.Count > 0)
            {
                Console.WriteLine("There are " + solicitudes.Count + " awaiting request: " + DateTime.Now.ToLongTimeString());
                System.Threading.Thread.Sleep(1000);
                Console.WriteLine("Attending...");
                System.Threading.Thread.Sleep(3000);
                var      solicitud  = solicitudes[0];
                string[] recipients = solicitud.Recipients.Split(',');

                List <string> attachments = new List <string>();

                if (solicitud.Origen == "LECCIONES_APRENDIDAS")
                {
                    ObservableCollection <Archivo_LeccionesAprendidas> ListaArchivosLecciones = DataManagerControlDocumentos.GetArchivosLecciones(solicitud.idArchivo);

                    List <Archivo> ListaArchivos = new List <Archivo>();

                    foreach (var archivoLecciones in ListaArchivosLecciones)
                    {
                        Archivo archivo = new Archivo();

                        archivo.archivo = File.ReadAllBytes(archivoLecciones.NOMBRE_ARCHIVO);
                        archivo.nombre  = archivoLecciones.NOMBRE_ARCHIVO;
                        archivo.ext     = archivoLecciones.EXT;
                        archivo.numero  = 666;

                        string pathFile = saveFileTemp(archivo);

                        attachments.Add(pathFile);
                    }
                }
                else if (solicitud.Origen == "CONTROL_DOCUMENTOS")
                {
                    //TODO: Get files of documents control
                    attachments = new List <string>();
                }

                bool banSent = ServiceEmail.SendEmailOutlook(recipients, solicitud.Title, solicitud.Body, attachments);

                if (banSent)
                {
                    DataManager.SetEjecutadaSolicitudCorreo(solicitud.IdSolicitudCorreo);
                }
            }
            else
            {
                Console.WriteLine("There are not awaiting request: " + DateTime.Now.ToLongTimeString());
            }
        }
コード例 #4
0
        private bool iniciarProcesoRecuperarContrasena(Usuario usuario)
        {
            bool respuesta = false;

            Model.Encriptacion encrip           = new Model.Encriptacion();
            string             temporalPassword = Module.GetRandomString(8);
            string             escriptPassword  = encrip.encript(temporalPassword);

            if (DataManager.SetTemporalPassword(usuario.IdUsuario, escriptPassword) > 0)
            {
                respuesta = true;
                ServiceEmail SO_Email = new ServiceEmail();
                string       body     = string.Empty;
                string[]     correos  = new string[2];
                correos[0] = "*****@*****.**";
                correos[1] = usuario.Correo;

                body  = "<HTML>";
                body += "<head>";
                body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
                body += "</head>";
                body += "<body text=\"white\">";
                body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + definirSaludo() + "</font> </p>";
                body += "<ul>";
                body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Se ha recibido una solicitud de restrablecimiento de su contraseña para el sistema Diseño del proceso.</font> </li>";
                body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Su contraseña temporal es la siguiente:</font></li>";
                body += "<br/>";
                body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Contraseña : <b>" + temporalPassword + "</b></font></li>";

                //body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Área del Frames en donde se inserto : <b>" + AreaFrames + "</b></font></li>";
                body += "</ul>";
                body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Favor de respetar mayúsculas y minúsculas</font> </p>";
                body += "<br/>";
                body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Este correo se ha generado automáticamente, por favor no responda.</font> </p>";
                body += "<br/>";
                body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
                body += "<ul>";
                body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Raúl Bañuelos</font> </li>";
                body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">MAHLE Componentes de Motor de México, S. de R.L. de C.V.</font></li>";
                body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Engineering (ENG)</font> </li>";
                body += "<li></li>";
                body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Km. 0.3 Carr. Maravillas-Jesús María , 20900 Aguascalientes, Mexico</font> </li>";
                body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Teléfono: +52 449 910 8200-82 90, Fax: +52 449 910 8200 - 267</font> </li>";
                body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">[email protected]</font> <a href=\"http://www.mx.mahle.com\">http://www.mx.mahle.com</a>  </li>";
                body += "</ul>";
                body += "</body>";
                body += "</HTML>";

                respuesta = SO_Email.SendEmailLotusCustom(correos, "Solicitud para restablecer tu contraseña", body, "SISTEMA", 0);
            }

            return(respuesta);
        }
コード例 #5
0
        /// <summary>
        /// Method to send email via SendGrid 3-rd party
        /// </summary>
        /// <param name="serviceEmail"></param>
        /// <returns></returns>
        public async Task <Response> SendEmail(ServiceEmail serviceEmail)
        {
            var client           = new SendGridClient(Configurartions.Value.SendGridAuthentication.ApiKey);
            var from             = new EmailAddress(serviceEmail.FromEmail, serviceEmail.FromName);
            var subject          = serviceEmail.EmailSubject;
            var to               = new EmailAddress(serviceEmail.ToEmail, serviceEmail.ToName);
            var plainTextContent = serviceEmail.EmailText;
            var htmlContent      = serviceEmail.EmailHtmlText;
            var msg              = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
            var response         = await client.SendEmailAsync(msg);

            return(response);
        }
コード例 #6
0
        public async Task <IActionResult> Create(ServiceEmailCVM model)
        {
            try
            {
                ServiceEmail serviceEmail = _mapper.Map <ServiceEmail>(model);

                _db.ServiceEmails.Add(serviceEmail);
                await _db.SaveChangesAsync();

                return(RedirectToAction(nameof(List)));
            }
            catch (Exception e)
            {
                return(RedirectToAction(nameof(Create)));
            }
        }
コード例 #7
0
ファイル: Reminder.cs プロジェクト: hassench/FiveStars
        static public void RemindLateAudit()
        {
            //Getting this week ready this is abdallah
            //Semaine semaineactuelle = ServiceSemaine.addSemaine(semaineactuelle); ;
            List <Audit> nonaudits = ServiceSemaine.getCurrentSemaineWD().audits.Where(a => !a.isCompleted && a.AuditDay < DateTime.Now).ToList();

            foreach (var item in nonaudits)
            {
                ApplicationUser auditeuruser = ServiceUser.getUserAuditeur(item.auditeur.AuditeurId);
                ApplicationUser piloteuser   = ServiceUser.getUserPilote(item.zone.PiloteZoneObli.PiloteId);
                ServiceEmail.sendEmail(auditeuruser.Email, "Rappel d'audit", item.AuditDay + " a passé, s'il vous plaît effectuer l'audit de la zone " + item.zone.NomZone);
                ServiceEmail.sendEmail(piloteuser.Email, "Rappel d'audit", item.AuditDay + " a passé, s'il vous plaît effectuer l'audit de la zone " + item.zone.NomZone);
                ApplicationUser optpiloteuser = ServiceUser.getUserPilote(item.zone.PiloteZoneOpti.PiloteId);
                if (optpiloteuser != null)
                {
                    ServiceEmail.sendEmail(optpiloteuser.Email, "Rappel d'audit", item.AuditDay + " a passé, s'il vous plaît effectuer l'audit de la zone " + item.zone.NomZone);
                }
            }
        }
コード例 #8
0
        /// <summary>
        /// Enviar mail mediante WebService remoto.
        /// </summary>
        private void WebService()
        {
            var attachments = new Attachment[_mMailMessage.Attachments.Count];

            _mMailMessage.Attachments.CopyTo(attachments, 0);
            var pdf = attachments.FirstOrDefault(x =>
            {
                var extension = Path.GetExtension(x.Name);
                return(extension != null && extension.EndsWith("PDF", StringComparison.OrdinalIgnoreCase));
            });
            var xml = attachments.FirstOrDefault(x =>
            {
                var extension = Path.GetExtension(x.Name);
                return(extension != null && extension.EndsWith("XML", StringComparison.OrdinalIgnoreCase));
            });

            byte[] pdfBytes;
            byte[] xmlBytes;
            using (var streamReader = new MemoryStream())
            {
                if (pdf != null)
                {
                    pdf.ContentStream.CopyTo(streamReader);
                }
                pdfBytes = streamReader.ToArray();
            }
            using (var streamReader = new MemoryStream())
            {
                if (xml != null)
                {
                    xml.ContentStream.CopyTo(streamReader);
                }
                xmlBytes = streamReader.ToArray();
            }
            var ws = new ServiceEmail();

            if (pdf != null && xml != null)
            {
                ws.enviar(_mSmtpClient.Host, _mSmtpClient.Port, _mSmtpClient.EnableSsl, _credenciales.Key, _credenciales.Value, pdfBytes, pdf.Name, xmlBytes, xml.Name, _mMailMessage.From.Address, string.Join(",", _mMailMessage.To.Select(x => x.Address).ToList()), string.Join(",", _mMailMessage.Bcc.Select(x => x.Address).ToList()), string.Join(",", _mMailMessage.CC.Select(x => x.Address).ToList()), _mMailMessage.Subject, _mMailMessage.Body);
            }
        }
コード例 #9
0
        public static void createReport()
        {
            List <Zone> zones = ServiceZone.GetAllZones();


            // descending order of zones  by level
            List <ZoneWithLevel> ZonesdescLevel = descStars(zones);
            string reportemailbody = "";

            if (ZonesdescLevel.Count != 0)
            {
                reportemailbody = builddescStars(reportemailbody, ZonesdescLevel);
                // descending order of zones  by Note
                List <ZoneWithNote> ZonesdescNote = descNotes(zones);
                reportemailbody = builddescNotes(reportemailbody, ZonesdescNote);
            }
            // ascending order of zones  by Progress
            List <ZoneWithProgress> ZonesascProgress = ascProgress(zones);

            if (ZonesascProgress.Count != 0)
            {
                reportemailbody = buildascProgress(reportemailbody, ZonesascProgress);
            }

            //gettin zones non auditées
            List <Audit> auditsnonaccompli = getzonesnonauditées();

            reportemailbody = buildnonauditées(reportemailbody, auditsnonaccompli);
            if (ZonesdescLevel.Count != 0)
            {
                //getting audieurs to calculate how much they gave points
                List <Auditeur> auditeurs = ServiceAuditeur.GetAllAuditeursWD();
                reportemailbody = buildauditeurpoints(reportemailbody, auditeurs);
            }

            ServiceEmail.sendHTMLEmail("*****@*****.**", "Report Five Stars", reportemailbody);
        }
コード例 #10
0
        /// <summary>
        /// Metodo que notifica vía Correo que un documento ya esta disponible para descarga con sello electónico.
        /// </summary>
        /// <returns></returns>
        private bool NotificarDocumentoDisponibleConSello(Documento objDocumento, string[] correos)
        {
            ServiceEmail serviceMail = new ServiceEmail();


            string path           = User.Pathnsf;
            string title          = "Documento sellado y disponible - " + objDocumento.nombre;
            string body           = string.Empty;
            string tipo_documento = string.Empty;

            switch (objDocumento.id_tipo_documento)
            {
            case 2:
                tipo_documento = "la HOE";
                break;

            case 1002:
                tipo_documento = "la HII";
                break;

            case 1004:
                tipo_documento = "la ayuda visual";
                break;

            case 1007:
                tipo_documento = "la HMTE";
                break;

            case 1015:
                tipo_documento = "la JES";
                break;

            case 1010:
                tipo_documento = "la HVA";
                break;

            case 1011:
                tipo_documento = "la MIE";
                break;

            default:
                break;
            }

            body  = "<HTML>";
            body += "<head>";
            body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
            body += "</head>";
            body += "<body text=\"white\">";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + definirSaludo() + "</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Para notificar que " + tipo_documento + " con el número <b> " + objDocumento.nombre + "</b> versión <b> " + objDocumento.version.no_version + ".0" + " </b> ya se encuentra disponible en el sistema <b> Diseño del proceso </b> con el sello correspondiente. </font> </li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Adicionalmente informo que se actualizo la matríz.</font></li>";
            body += "<br/>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Número : <b>" + objDocumento.nombre + "</b></font></li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Descripción : <b>" + objDocumento.descripcion + "</b></font></li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Versión : <b>" + objDocumento.version.no_version + ".0" + "</b></font></li>";
            body += "</ul>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Cualquier duda quedo a sus órdenes</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Este correo se ha generado automáticamente, por favor solo responda en caso de que el documento sustituya a algún otro.</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + User.Nombre + " " + User.ApellidoPaterno + "</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">MAHLE Componentes de Motor de México, S. de R.L. de C.V.</font></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Engineering (ENG)</font> </li>";
            body += "<li></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Km. 0.3 Carr. Maravillas-Jesús María , 20900 Aguascalientes, Mexico</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Teléfono: +52 449 910 8200-82 90, Fax: +52 449 910 8200 - 267</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + User.Correo + ",</font> <a href=\"http://www.mx.mahle.com\">http://www.mx.mahle.com</a>  </li>";
            body += "</ul>";
            body += "</body>";
            body += "</HTML>";

            bool respuesta = serviceMail.SendEmailLotusCustom(path, correos, title, body);

            return(respuesta);
        }
コード例 #11
0
        private bool notificarRechazo(Documento objDocumento, string comentario)
        {
            Console.WriteLine("Vamos a empezar a notificar por correo, ya para terminar, que ya me quiero echar otro sueño!");
            System.Threading.Thread.Sleep(3000);

            //Declaramos una lista la cual almacenará todos los id's de los usuarios que se van a notificar.
            List <string> lUsuariosNotificar = new List <string>();

            lUsuariosNotificar.Add(objDocumento.version.id_usuario);

            string[] correos         = new string[lUsuariosNotificar.Count];
            Usuario  usuarioAutorizo = DataManager.GetUsuario(objDocumento.version.id_usuario_autorizo);

            int i = 0;

            //Iteramos la lista con los id´s de los usuarios para obtener el correo.
            foreach (var item in lUsuariosNotificar)
            {
                string correo = DataManagerControlDocumentos.GetCorreoUsuario(item);
                correos[i] = correo;
                i++;
            }

            ServiceEmail SO_Email = new ServiceEmail();
            string       path     = User.Pathnsf;
            string       title    = "Control de Documentos --> Documento rechazado: " + objDocumento.nombre;
            string       body     = string.Empty;

            body  = "<HTML>";
            body += "<head>";
            body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
            body += "</head>";
            body += "<body text=\"white\">";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + definirSaludo() + "</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Para notificar que el documento " + objDocumento.nombre + " fué rechazado por " + usuarioAutorizo.Nombre + " " + usuarioAutorizo.ApellidoPaterno + " </li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">El motivo de rechazo se muestra en el siguiente texto:</font></li>";
            body += "<br/>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\"><b>" + comentario + "</b></font></li>";
            body += "</ul>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Para corregir el documento, por favor ingrese a la plataforma y en la sección de pendientes por corregir, usted podrá sustituir el documento e iniciar de nuevo el proceso de alta.</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Este correo se ha generado automáticamente.</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + User.Nombre + " " + User.ApellidoPaterno + "</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">MAHLE Componentes de Motor de México, S. de R.L. de C.V.</font></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Engineering (ENG)</font> </li>";
            body += "<li></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Km. 0.3 Carr. Maravillas-Jesús María , 20900 Aguascalientes, Mexico</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Teléfono: +52 449 910 8200-82 90, Fax: +52 449 910 8200 - 267</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + User.Correo + ",</font> <a href=\"http://www.mx.mahle.com\">http://www.mx.mahle.com</a> </li>";
            body += "</ul>";
            body += "</body>";
            body += "</HTML>";

            //Ejecutamos el método para notificar por correo
            bool respuesta = SO_Email.SendEmailLotusCustom(path, correos, title, body);

            return(respuesta);

            Console.WriteLine("El correo se envió perron!!");
            System.Threading.Thread.Sleep(3000);
            return(true);
        }
コード例 #12
0
        /// <summary>
        /// Método que rechaza todos los documentos que no fueron entregados
        /// </summary>
        public async void RechazarDocumentosNoEntregados()
        {
            if (ListaDocumentos.Count > 0)
            {
                //Incializamos los servicios de dialog.
                DialogService dialog = new DialogService();

                //Declaramos un objeto de tipo MetroDialogSettings al cual le asignamos las propiedades que contendra el mensaje modal.
                MetroDialogSettings setting = new MetroDialogSettings();
                setting.AffirmativeButtonText = StringResources.lblYes;
                setting.NegativeButtonText    = StringResources.lblNo;

                bool Resultado = false;

                //Ejecutamos el método para mostrar el mensaje. El resultado lo asignamos a una variable local.
                MessageDialogResult result = await dialog.SendMessage(StringResources.ttlAlerta, "¿Deseas rechazar los documentos que tienen mas de dos dias sin entregar? \n Si rechazas los documentos se notificará al dueño del documento vía correo. ", setting, MessageDialogStyle.AffirmativeAndNegative);

                if (result == MessageDialogResult.Affirmative)
                {
                    //Rechazar el documento.
                    foreach (DO_DocumentosRechazados documentoRezadado in ListaDocumentos)
                    {
                        //Verificamos que el documento este seleccionado para poder rechazarlo
                        if (documentoRezadado.IsSelected == true)
                        {
                            //Obtenemos el ID de la version.
                            int idVersion = DataManagerControlDocumentos.GetIdVersion(documentoRezadado.NombreDocumento, documentoRezadado.NoVersion);

                            ////Rechazamos el documento
                            DataManagerControlDocumentos.SetRechazarVersion(idVersion);

                            DataManagerControlDocumentos.InsertHistorialVersion(idVersion, usuario.Nombre + " " + usuario.ApellidoPaterno + " " + usuario.ApellidoMaterno, documentoRezadado.NombreDocumento, documentoRezadado.NoVersion, "Se cambia el estatus a: PENDIENTE POR CORREGIR");

                            ServiceEmail serviceEmail = new ServiceEmail();

                            string[] correos = new string[2];

                            correos[0] = documentoRezadado.Correo;

                            //CAMBIAR AL USUARIO ACTIVO.
                            correos[1] = usuario.Correo;

                            //Construimos en mensaje.
                            string body = "<HTML>";
                            body += "<head>";
                            body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
                            body += "</head>";
                            body += "<body text=\"white\">";
                            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + UsuarioViewModel.definirSaludo() + "</font> </p>";
                            body += "<ul>";
                            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Para notificar que el documento con el número <b> " + documentoRezadado.NombreDocumento + "</b> versión <b> " + documentoRezadado.NoVersion + ".0" + " </b> fué rechazado y puesto en estatus Pendiente por corregir debido a que no se entrego a tiempo</font> </li>";
                            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Adicionalmente informo que se actualizó la fecha de la versión.</font></li>";
                            body += "<br/>";
                            body += "</ul>";
                            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Cualquier duda quedo a sus órdenes</font> </p>";
                            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\"></font> </p>";
                            body += "<br/>";
                            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Este correo se ha generado automáticamente, por favor no responda.</font> </p>";
                            body += "<br/>";
                            body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
                            body += "<ul>";
                            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + usuario.Nombre + " " + usuario.ApellidoPaterno + "</font> </li>";
                            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">MAHLE Componentes de Motor de México, S. de R.L. de C.V.</font></li>";
                            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Engineering (ENG)</font> </li>";
                            body += "<li></li>";
                            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Km. 0.3 Carr. Maravillas-Jesús María , 20900 Aguascalientes, Mexico</font> </li>";
                            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Teléfono: +52 449 910 8200-82 90, Fax: +52 449 910 8200 - 267</font> </li>";
                            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + usuario.Correo + ",</font> <a href=\"http://www.mx.mahle.com\">http://www.mx.mahle.com</a>  </li>";
                            body += "</ul>";
                            body += "</body>";
                            body += "</HTML>";

                            Resultado = serviceEmail.SendEmailLotusCustom(correos, "Documento rechazado - " + documentoRezadado.NombreDocumento, body, "CONTROL_DOCUMENTOS", 0);
                        }
                    }

                    if (Resultado)
                    {
                        await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgNotificacionCorreo);
                    }
                    else
                    {
                        await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgNotificacionCorreoFallida);
                    }

                    ListaDocumentos = DataManagerControlDocumentos.GetDocumentosAprobadosNoRecibidos(true);
                }
            }
        }
コード例 #13
0
        private bool NotificarDocumentoRechazado()
        {
            ServiceEmail serviceMail          = new ServiceEmail();
            string       CorreoUsuarioElaboro = DataManagerControlDocumentos.GetCorreoUsuario(SelectedDocumento.version.id_usuario);
            string       CorreoUsuarioReviso  = DataManagerControlDocumentos.GetCorreoUsuario(Usuario.id_usuario);

            string[] correos = new string[3];
            correos[0] = CorreoUsuarioElaboro;
            correos[1] = CorreoUsuarioReviso;
            correos[2] = "*****@*****.**";

            // Se manda llamar el método que elimina correos duplicados
            correos = Module.EliminarCorreosDuplicados(correos);

            string path           = _usuarioLogueado.Pathnsf;
            string title          = "Documento no aprobado - " + SelectedDocumento.nombre;
            string body           = string.Empty;
            string tipo_documento = string.Empty;
            string mensaje        = string.Empty;

            switch (SelectedDocumento.id_tipo_documento)
            {
            case 1012:
                tipo_documento = "EL FORMATO ESPECÍFICO";
                break;

            case 1013:
                tipo_documento = "EL FORMATO OHSAS";
                break;

            case 1014:
                tipo_documento = "EL FORMATO ISO";
                break;

            case 1011:
                tipo_documento = "LA MIE";
                break;

            case 1003:
                tipo_documento = "EL PROCEDIMIENTO OHSAS";
                break;

            case 1005:
                tipo_documento = "EL PROCEDIMIENTO ESPECÍFICO";
                break;

            case 1006:
                tipo_documento = "EL PROCEDIMIENTO ISO";
                break;
            }

            body  = "<HTML>";
            body += "<head>";
            body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
            body += "</head>";
            body += "<body text=\"white\">";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + definirSaludo() + "</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\"> Para notificar que " + tipo_documento + " con el número <b> " + SelectedDocumento.nombre + "</b> versión <b> " + SelectedDocumento.version.no_version + ".0" + " </b> ha sido rechazado por los siguientes motivos: </font> </li>";
            body += "<br/>";
            foreach (var item in ListaErroresSeleccionados)
            {
                body += "<li><font font=\"verdana\" size=\"3\" color=\"black\"> <b>" + item.DESCRIPCION_ERROR + "</b></font></li>";
            }

            body += "</ul>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Su documento se encuentra dentro de la plataforma diseño del proceso en la sección<b>Pendientes por corregir</b></font> </p>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Cualquier duda quedo a sus órdenes</font> </p>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Este correo se ha generado automáticamente, por favor no responda.</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + _usuarioLogueado.Nombre + " " + _usuarioLogueado.ApellidoPaterno + " " + _usuarioLogueado.ApellidoMaterno + " " + "</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">MAHLE Componentes de Motor de México, S. de R.L. de C.V.</font></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Engineering (ENG)</font> </li>";
            body += "<li></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Km. 0.3 Carr. Maravillas-Jesús María , 20900 Aguascalientes, Mexico</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Teléfono: +52 449 910 8200-82 90, Fax: +52 449 910 8200 - 267</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + _usuarioLogueado.Correo + ",</font> <a href=\"http://www.mx.mahle.com\">http://www.mx.mahle.com</a>  </li>";
            body += "</ul>";
            body += "</body>";
            body += "</HTML>";

            bool respuesta = serviceMail.SendEmailLotusCustom(correos, title, body, "CONTROL_DOCUMENTOS", 0);

            return(respuesta);
        }
コード例 #14
0
        public void etiquetar()
        {
            List <DO_SolicitudEtiquetado> solicitudes = DataManagerControlDocumentos.GetSolicitudEtiquetar(0);

            Console.WriteLine("Hay " + solicitudes.Count + " Solicitudes pendientes para etiquetar.");

            foreach (var solicitud in solicitudes)
            {
                Console.Beep(5000, 1000);

                List <Archivo> archivos = DataManagerControlDocumentos.GetArchivo(solicitud.IdVersion);
                BaseFont       bfTimes  = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, false);

                DO_ClassificationLevel classificationLevel = DataManagerControlDocumentos.GetClassificationLevel(solicitud.IdClasificationLevel);

                foreach (var archivo in archivos)
                {
                    int noCopias = DataManagerControlDocumentos.GetCopias(solicitud.IdVersion);

                    DO_Respuesta respuesta         = setCLJES(archivo.archivo, bfTimes, classificationLevel.ClassificationLevel, noCopias);
                    byte[]       archivoEtiquetado = respuesta.Archivo;

                    if (respuesta.idRespuesta == 1)
                    {
                        File.WriteAllBytes(archivo.ruta, archivoEtiquetado);

                        DataManagerControlDocumentos.UpdateVersion(solicitud.IdVersion, solicitud.IdClasificationLevel, solicitud.IdUsuario);

                        DataManagerControlDocumentos.UpdateSolicitudEtiquetar(solicitud.IdSolicitud, 1);

                        DataManagerControlDocumentos.UpdateNoCopias(solicitud.IdVersion, 0);

                        Documento objDocumento = DataManagerControlDocumentos.GetDocumento(solicitud.IdVersion);

                        Version version = DataManagerControlDocumentos.GetVersion(solicitud.IdVersion);
                        String  title   = "Control de documentos - Etiquetado de documento : " + objDocumento.nombre;
                        string  correoUsuarioElaboro = DataManager.GetUsuario(solicitud.IdUsuario).Correo;

                        ServiceEmail SO_Email = new ServiceEmail();

                        string[] correos = new string[2];
                        correos[0] = correoUsuarioElaboro;
                        correos[1] = "*****@*****.**";
                        string body;
                        body  = "<HTML>";
                        body += "<head>";
                        body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
                        body += "</head>";
                        body += "<body text=\"white\">";
                        body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + definirSaludo() + "</font> </p>";
                        body += "<ul>";
                        body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Para notificar que la JES con el número <b> " + objDocumento.nombre + "</b> versión <b> " + version.no_version + ".0" + " </b> fué etiquetada con la clasificación de seguridad: <b>" + classificationLevel.ClassificationLevel + " </b></font> </li>";
                        body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Adicionalmente informo que el documento a partir de este momento pasa a su nombre y queda actualizado en sistema.</font></li>";
                        body += "<br/>";
                        body += "</ul>";
                        body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Cualquier duda quedo a sus órdenes</font> </p>";
                        body += "<br/>";
                        body += "<br/>";
                        body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
                        body += "</body>";
                        body += "</HTML>";

                        //Ejecutamos el método para notificar por correo
                        bool respuestaCorreo = SO_Email.SendEmailLotusCustom(correos, title, body, "CONTROL_DOCUMENTOS_ETIQUETADO", 0);
                        if (respuestaCorreo)
                        {
                            Console.WriteLine("El correo se envió perron!!");
                        }
                        else
                        {
                            Console.WriteLine("Hubo un error al enviar el correo");
                        }
                        //bool respuesta = SO_Email.SendEmailOutlook(correos, title, body, new List<string>());


                        Console.WriteLine("Se etiqueto la versión " + solicitud.IdVersion);
                    }
                    else
                    {
                        //TODO: No se pudo etiquetar tu documento.
                        Console.WriteLine("No se pudo etiquetar el documento " + solicitud.IdVersion);

                        DataManagerControlDocumentos.UpdateSolicitudEtiquetar(solicitud.IdSolicitud, 1);

                        string correoUsuarioElaboro = DataManager.GetUsuario(solicitud.IdUsuario).Correo;

                        Documento objDocumento = DataManagerControlDocumentos.GetDocumento(solicitud.IdVersion);
                        Version   version      = DataManagerControlDocumentos.GetVersion(solicitud.IdVersion);

                        ServiceEmail SO_Email = new ServiceEmail();

                        string[] correos = new string[2];
                        correos[0] = correoUsuarioElaboro;
                        correos[1] = "*****@*****.**";
                        string body;
                        body  = "<HTML>";
                        body += "<head>";
                        body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
                        body += "</head>";
                        body += "<body text=\"white\">";
                        body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + definirSaludo() + "</font> </p>";
                        body += "<ul>";
                        body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Para notificar que la JES con el número <b> " + objDocumento.nombre + "</b> versión <b> " + version.no_version + ".0" + " </b>  <b>NO</b> fué etiquetada con la clasificación de seguridad: <b>" + classificationLevel.ClassificationLevel + " </b></font> </li>";
                        body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Para mas información favor de contactar al administrador de Control de documentos</font></li>";
                        body += "<br/>";
                        body += "</ul>";
                        body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Cualquier duda quedo a sus órdenes</font> </p>";
                        body += "<br/>";
                        body += "<br/>";
                        body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
                        body += "</body>";
                        body += "</HTML>";
                        String title           = "Control de documentos - Solicitud no dispobible : " + objDocumento.nombre;
                        bool   respuestaCorreo = SO_Email.SendEmailLotusCustom(correos, title, body, "CONTROL_DOCUMENTOS_ETIQUETADO", 0);

                        if (respuestaCorreo)
                        {
                            Console.WriteLine("El correo se envió perron!!");
                        }
                        else
                        {
                            Console.WriteLine("Hubo un error al enviar el correo");
                        }
                    }
                }
            }
        }
コード例 #15
0
        private bool NotificarDocumentoAprobado()
        {
            ServiceEmail serviceMail          = new ServiceEmail();
            string       CorreoUsuarioElaboro = DataManagerControlDocumentos.GetCorreoUsuario(SelectedDocumento.version.id_usuario);
            string       CorreoUsuarioReviso  = DataManagerControlDocumentos.GetCorreoUsuario(Usuario.id_usuario);

            Usuario usuarioAutorizo = DataManager.GetUsuario(SelectedDocumento.version.id_usuario_autorizo);

            DateTime fechahoy = DataManagerControlDocumentos.Get_DateTime();
            DateTime fechaCompromisoEntrega = DataManagerControlDocumentos.AddBusinessDays(fechahoy, 2);

            string hora = fechaCompromisoEntrega.Hour.ToString();

            if (fechaCompromisoEntrega.Hour.ToString().Length == 1)
            {
                hora = "0" + fechaCompromisoEntrega.Hour;
            }

            string minuto = fechaCompromisoEntrega.Minute.ToString();

            if (fechaCompromisoEntrega.Minute.ToString().Length == 1)
            {
                minuto = "0" + fechaCompromisoEntrega.Minute;
            }

            string FechaMes = fechaCompromisoEntrega.Month.ToString();

            if (fechaCompromisoEntrega.Month.ToString().Length == 1)
            {
                FechaMes = "0" + fechaCompromisoEntrega.Month;
            }

            string FechaDia = fechaCompromisoEntrega.Day.ToString();

            if (fechaCompromisoEntrega.Day.ToString().Length == 1)
            {
                FechaDia = "0" + fechaCompromisoEntrega.Day;
            }

            string fechacompromiso = fechaCompromisoEntrega.Year + "-" + FechaMes + "-" + FechaDia + "  " + hora + ":" + minuto;

            string[] correos = new string[3];
            correos[0] = CorreoUsuarioElaboro;
            correos[1] = CorreoUsuarioReviso;
            correos[2] = "*****@*****.**";

            //  Se manda llamar el método que elimina correos duplicados
            correos = Module.EliminarCorreosDuplicados(correos);

            string path           = _usuarioLogueado.Pathnsf;
            string title          = "Documento aprobado - " + SelectedDocumento.nombre;
            string body           = string.Empty;
            string tipo_documento = string.Empty;

            switch (SelectedDocumento.id_tipo_documento)
            {
            case 1012:
                tipo_documento = "EL FORMATO ESPECÍFICO";
                break;

            case 1013:
                tipo_documento = "EL FORMATO OHSAS";
                break;

            case 1014:
                tipo_documento = "EL FORMATO ISO";
                break;

            case 1011:
                tipo_documento = "LA MIE";
                break;

            case 1003:
                tipo_documento = "EL PROCEDIMIENTO OHSAS";
                break;

            case 1005:
                tipo_documento = "EL PROCEDIMIENTO ESPECÍFICO";
                break;

            case 1006:
                tipo_documento = "EL PROCEDIMIENTO ISO";
                break;

            default:
                break;
            }

            body  = "<HTML>";
            body += "<head>";
            body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
            body += "</head>";
            body += "<body text=\"white\">";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + definirSaludo() + "</font> </p>";
            body += "<ul>";
            //body += "<li><font font=\"verdana\" size=\"3\" color=\"black\"> Para notificar que " + tipo_documento + " con el número <b> " + SelectedDocumento.nombre + "</b> versión <b> " + SelectedDocumento.version.no_version + ".0" + " </b> ha sido aprobado y tiene hasta el día <b>  " + fechacompromiso + " </b> para entregarlo, de lo contrario el sistema lo rechazará automáticamente. </font> </li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\"> Para notificar que " + tipo_documento + " con el número <b> " + SelectedDocumento.nombre + "</b> versión <b> " + SelectedDocumento.version.no_version + ".0" + " </b> ha sido aprobado por Control de Documentos.</font> </li>";
            body += "<br/>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Se ha enviado un correo a <b>" + usuarioAutorizo.Nombre.ToUpper() + " " + usuarioAutorizo.ApellidoPaterno.ToUpper() + "</b> para que autorice el documento.</font></li>";
            body += "<br/>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Número : <b>" + SelectedDocumento.nombre + "</b></font></li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Descripción : <b>" + SelectedDocumento.descripcion + "</b></font></li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Versión : <b>" + SelectedDocumento.version.no_version + ".0" + "</b></font></li>";
            body += "</ul>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Cualquier duda quedo a sus órdenes</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Este correo se ha generado automáticamente, por favor no responda.</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + _usuarioLogueado.Nombre + " " + _usuarioLogueado.ApellidoPaterno + " " + _usuarioLogueado.ApellidoMaterno + " " + "</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">MAHLE Componentes de Motor de México, S. de R.L. de C.V.</font></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Engineering (ENG)</font> </li>";
            body += "<li></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Km. 0.3 Carr. Maravillas-Jesús María , 20900 Aguascalientes, Mexico</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Teléfono: +52 449 910 8200-82 90, Fax: +52 449 910 8200 - 267</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + _usuarioLogueado.Correo + ",</font> <a href=\"http://www.mx.mahle.com\">http://www.mx.mahle.com</a>  </li>";
            body += "</ul>";
            body += "</body>";
            body += "</HTML>";

            bool respuesta = serviceMail.SendEmailLotusCustom(correos, title, body, "CONTROL_DOCUMENTOS", 0);

            return(respuesta);
        }
コード例 #16
0
        /// <summary>
        /// Método que notifica vía correo el alta de un documento.
        /// </summary>
        /// <returns></returns>
        private bool NotificarNuevaVersion(Documento objDocumento, string[] correos, bool isFirstVersion)
        {
            ServiceEmail SO_Email = new ServiceEmail();

            string path           = User.Pathnsf;
            string title          = "Alta de documento - " + objDocumento.nombre;
            string body           = string.Empty;
            string tipo_documento = string.Empty;

            switch (objDocumento.id_tipo_documento)
            {
            case 1003:
            case 1005:
            case 1006:
                tipo_documento = "la instrucción de trabajo";
                break;

            case 1012:
            case 1013:
            case 1014:
                tipo_documento = "el formato";
                break;

            default:
                break;
            }

            body  = "<HTML>";
            body += "<head>";
            body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
            body += "</head>";
            body += "<body text=\"white\">";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + definirSaludo() + "</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Para notificar que " + tipo_documento + " con el número <b> " + objDocumento.nombre + "</b> versión <b> " + objDocumento.version.no_version + ".0" + " </b> ya se encuentra disponible en el sistema </font> <a href=\"http://sealed/frames.htm\">frames</a> </li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Adicionalmente informo que se actualizo la matríz.</font></li>";
            body += "<br/>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Número : <b>" + objDocumento.nombre + "</b></font></li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Descripción : <b>" + objDocumento.version.descripcion_v + "</b></font></li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Versión : <b>" + objDocumento.version.no_version + ".0" + "</b></font></li>";
            //body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Área del Frames en donde se inserto : <b>" + AreaFrames + "</b></font></li>";
            body += "</ul>";
            if (isFirstVersion)
            {
                body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">NOTA: Si este documento sustituye a algún otro, favor de notificarme para realizar la baja correspondiente.</font> </p>";
            }
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Cualquier duda quedo a sus órdenes</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">Este correo se ha generado automáticamente, por favor solo responda en caso de que el documento sustituya a algún otro.</font> </p>";
            body += "<br/>";
            body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + User.Nombre + " " + User.ApellidoPaterno + "</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">MAHLE Componentes de Motor de México, S. de R.L. de C.V.</font></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Engineering (ENG)</font> </li>";
            body += "<li></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Km. 0.3 Carr. Maravillas-Jesús María , 20900 Aguascalientes, Mexico</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Teléfono: +52 449 910 8200-82 90, Fax: +52 449 910 8200 - 267</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + User.Correo + ",</font> <a href=\"http://www.mx.mahle.com\">http://www.mx.mahle.com</a> </li>";
            body += "</ul>";
            body += "</body>";
            body += "</HTML>";

            //Ejecutamos el método para notificar por correo
            bool respuesta = SO_Email.SendEmailLotusCustom(path, correos, title, body);

            return(respuesta);
        }
コード例 #17
0
        /// <summary>
        /// Método para enviar el correo
        /// </summary>
        private async void enviarCorreo()
        {
            if (await validar())
            {
                ServiceEmail soEmail = new ServiceEmail();

                string recipients = "";

                foreach (var item in ListaUsuarioANotificar)
                {
                    recipients += item.Correo + ",";
                }

                recipients += User.Correo + ",";
                if (Origen == "LECCIONES_APRENDIDAS")
                {
                    //DataManager.InsertSolicitudCorreo(Title, BodyEmail, recipients, Origen, IdArchivo);
                    ServiceEmail  ServiceEmail = new ServiceEmail();
                    List <string> attachments  = new List <string>();

                    ObservableCollection <Archivo_LeccionesAprendidas> ListaArchivosLecciones = DataManagerControlDocumentos.GetArchivosLecciones(IdArchivo);
                    foreach (var archivoLecciones in ListaArchivosLecciones)
                    {
                        Archivo archivo = new Archivo();

                        archivo.archivo = archivoLecciones.ARCHIVO;
                        archivo.nombre  = archivoLecciones.NOMBRE_ARCHIVO;
                        archivo.ext     = archivoLecciones.EXT;
                        archivo.numero  = 666;

                        string pathFile = saveFileTemp(archivo);

                        attachments.Add(pathFile);
                    }

                    bool banSent = ServiceEmail.SendEmailOutlook(recipients.Split(','), Title, BodyEmail, attachments);
                }
                else
                {
                    DataManager.InsertSolicitudCorreo(Title, BodyEmail, recipients, Origen, IdArchivo);
                }


                var window = System.Windows.Application.Current.Windows.OfType <MetroWindow>().LastOrDefault();

                if (window != null)
                {
                    //Cerramos la pantalla
                    window.Close();
                }

                //// Inicializamos los servicios
                //ServiceEmail SO_Email = new ServiceEmail();
                //DialogService dialog = new DialogService();

                ////Declaramos un objeto de tipo ProgressDialogController, el cual servirá para recibir el resultado el mensaje progress.
                //ProgressDialogController AsyncProgress;

                //// Se declara vector de tamaño elementos ListaUsuarioANotificar + 1
                //int l = ListaUsuarioANotificar.Count;
                //string[] usuarios = new string[l + 1];
                //int c = 0;

                //// Se itera la lista y se agregan a la lista a notificar
                //foreach (objUsuario usuario in ListaUsuarioANotificar)
                //{
                //    usuarios[c] = usuario.Correo;
                //    c++;
                //}

                //// Se agrega al vector el usuario logueado para ser notificado
                //usuarios[c] = User.Correo;

                //// Vector con archivos adjuntados
                //string[] archivos = new string[ListaArchivos.Count];
                //int i = 0;

                //foreach (var item in ListaArchivos)
                //{
                //    archivos[i] = item.ruta;
                //    i++;
                //}
                //IsEnableEditor = false;

                ////Ejecutamos el método para enviar un mensaje de espera mientras se lee el archivo.
                //AsyncProgress = await dialog.SendProgressAsync(StringResources.msgEnviandoCorreo, "");

                ////DO_PathMail respuesta = await SO_Email.SendEmailWithAttachment(User.Pathnsf, usuarios, Title, BodyEmail, archivos);
                //DO_PathMail respuesta = new DO_PathMail();
                //respuesta.respuesta= SO_Email.SendEmailLotusCustom(User.Pathnsf, usuarios, Title, BodyEmail);

                ////Ejecutamos el método para cerrar el mensaje de espera.
                //await AsyncProgress.CloseAsync();

                //IsEnableEditor = true;

                //DialogService dialogService = new DialogService();

                //// Se oculta editor de texto
                //IsEnableEditor = false;

                //if (respuesta.respuesta)
                //{
                //    await dialogService.SendMessage(StringResources.ttlAlerta, respuesta.rutamail);
                //}
                //else
                //{
                //    if (respuesta.rutamail == StringResources.msgDeseasConfigCorreo)
                //    {
                //        //Configuramos las opciones del mesaje de pregunta.
                //        MetroDialogSettings settings = new MetroDialogSettings();
                //        settings.AffirmativeButtonText = StringResources.lblYes;
                //        settings.NegativeButtonText = StringResources.lblNo;

                //        //Preguntamos al usuario si lo quiere configurar en estos momentos.
                //        MessageDialogResult resultMSG = await dialog.SendMessage(StringResources.ttlAtencion, StringResources.msgConfiguracionCorreo, settings, MessageDialogStyle.AffirmativeAndNegative, "Servicio de Correo");

                //        //Verificamos la respuesta del usuario, si es afirmativa iniciamos el proceso de configuración.
                //        if (resultMSG == MessageDialogResult.Affirmative)
                //        {
                //            settings = new MetroDialogSettings();
                //            settings.AffirmativeButtonText = StringResources.ttlOkEntiendo;

                //            await dialog.SendMessage(User.Nombre + StringResources.msgParaTuInf, StringResources.msgProcesoConfiguracion);

                //            ProgressDialogController AsyncProgressConfigEmail;

                //            AsyncProgressConfigEmail = await dialog.SendProgressAsync(StringResources.ttlEspereUnMomento + User.Nombre + "...", StringResources.msgEstamosConfigurando);

                //            ConfigEmailViewModel configEmail = new ConfigEmailViewModel(User);

                //            // Se reciben valores de las 2 propiedades del objeto
                //            DO_PathMail respuestaConfigEmail = await configEmail.setEmail();

                //            await AsyncProgressConfigEmail.CloseAsync();

                //            if (respuestaConfigEmail.respuesta)
                //            {
                //                // Actualizamos el path de usuario en la misma sesión
                //                User.Pathnsf = respuestaConfigEmail.rutamail;

                //                // M
                //                await dialog.SendMessage(StringResources.msgPerfecto + User.Nombre, StringResources.msgCuentaConfigurada);

                //                //enviarCorreo();
                //                l = ListaUsuarioANotificar.Count;
                //                usuarios = new string[l + 1];
                //                c = 0;

                //                // Se itera la lista y se agregan a la lista a notificar
                //                foreach (objUsuario usuario in ListaUsuarioANotificar)
                //                {
                //                    usuarios[c] = usuario.Correo;
                //                    c++;
                //                }

                //                // Se agrega al vector el usuario logueado para ser notificado
                //                usuarios[c] = User.Correo;

                //                // Vector con archivos adjuntados
                //                archivos = new string[ListaArchivos.Count];
                //                i = 0;

                //                foreach (var item in ListaArchivos)
                //                {
                //                    archivos[i] = item.ruta;
                //                    i++;
                //                }
                //                IsEnableEditor = false;

                //                //Ejecutamos el método para enviar un mensaje de espera mientras se lee el archivo.
                //                AsyncProgress = await dialog.SendProgressAsync(StringResources.msgEnviandoCorreo, "");

                //                //respuesta = await SO_Email.SendEmailWithAttachment(User.Pathnsf, usuarios, Title, BodyEmail, archivos);
                //                respuesta.respuesta =  SO_Email.SendEmailLotusCustom(User.Pathnsf, usuarios, Title, BodyEmail, archivos);

                //                //Ejecutamos el método para cerrar el mensaje de espera.
                //                await AsyncProgress.CloseAsync();

                //                IsEnableEditor = true;

                //                dialogService = new DialogService();

                //                // Se oculta editor de texto
                //                IsEnableEditor = false;

                //                if (respuesta.respuesta)
                //                {
                //                    await dialogService.SendMessage(StringResources.ttlAlerta, respuesta.rutamail);
                //                }
                //            }
                //            else
                //            {
                //                await dialog.SendMessage(StringResources.ttlOcurrioError, StringResources.msgErrorVincular);
                //            }
                //        }
                //    }
                //}

                //// Se muestra editor de texto
                //IsEnableEditor = true;

                ////Obtenemos la pantalla actual, y casteamos para que se tome como tipo MetroWindow.
                //var window = System.Windows.Application.Current.Windows.OfType<MetroWindow>().LastOrDefault();

                ////Verificamos que la pantalla sea diferente de nulo.
                //if (window != null)
                //{
                //    //Cerramos la pantalla
                //    window.Close();
                //}
            }
        }
コード例 #18
0
        /// <summary>
        /// Método para configurar cuenta de Email
        /// </summary>
        /// <returns></returns>
        public Task <DO_PathMail> setEmail()
        {
            return(Task.Run(() =>
            {
                // Se inicializan los servicios
                ServiceEmail SO_Email = new ServiceEmail();
                List <string> paths = new List <string>();
                DO_PathMail respuesta = new DO_PathMail();

                int c = 0;
                string fileRule = "*.nsf";
                string[] users = new string[1];
                users[0] = user.Correo;
                string bodyTest = "<P><BR><FONT size=5><EM>Esta es una prueba</EM> de envío</FONT> de <U>correo electrónico</U> a <EM>través de la plataforma</EM> de <STRONG><U><FONT style=\"BACKGROUND - COLOR: #00ffff\">Diseño del Proceso.</FONT></U></STRONG></P>";
                bodyTest += "<P>&nbsp;<FONT size=6><FONT style=\"BACKGROUND - COLOR: #339966\">Si usted puede visualizar</FONT> este</FONT> <FONT color=#0000ff>correo en Lotus Notes</FONT>, <FONT color=#800080 size=2>significa que podrá</FONT><FONT size=7> </FONT><FONT color=#808000><FONT size=6>enviar correos a</FONT> través de la plataforma</FONT> de <STRONG><FONT style=\"BACKGROUND-COLOR: #00ffff\">Diseño del Proceso.</FONT></STRONG></P>";

                string[] directories = new string[5];

                // Se agregan rutas problables establecidas
                directories[0] = @"C:\Users\" + Environment.UserName + @"\AppData\Local\Lotus\";
                directories[1] = @"C:\Program Files (x86)\IBM\Lotus\";
                directories[2] = @"C:\Program Files\IBM\Lotus\";
                directories[3] = @"c:\Program Files\IBM.old\Lotus\Notes\Data\";
                directories[4] = @"C:\Users\" + Environment.UserName + @"\AppData\Local\Lotus\Notes\Data\mail";

                foreach (var path in directories)
                {
                    if (Directory.Exists(path))
                    {
                        // Realiza la búsqueda del archivo en los directorios
                        string[] files = Directory.GetFiles(path, fileRule, SearchOption.AllDirectories);
                        paths.AddRange(files);
                    }
                }

                while (c < paths.Count && !respuesta.respuesta)
                {
                    respuesta.respuesta = SO_Email.SendEmailLotusCustom(users, "Diseño del Proceso : Correo electrónico de prueba", bodyTest, "CONFIG_EMAIL", 0);
                    goodPath = respuesta.respuesta ? paths[c] : string.Empty;
                    c++;
                }

                //Si no se obtiene respuesta, buscamos en todo el disco Local C.
                if (!respuesta.respuesta)
                {
                    paths = GetFiles(@"c:\", fileRule);
                    c = 0;

                    while (c < paths.Count && !respuesta.respuesta)
                    {
                        respuesta.respuesta = SO_Email.SendEmailLotusCustom(users, "Diseño del Proceso : Correo electrónico de prueba", bodyTest, "CONFIG_EMAIL", 0);
                        goodPath = respuesta.respuesta ? paths[c] : string.Empty;
                        c++;
                    }
                }

                if (respuesta.respuesta)
                {
                    actualizarPath(goodPath, user.NombreUsuario);
                }

                // Asignamos el valor de la ruta
                respuesta.rutamail = goodPath;

                // Retornamos el objeto con los valores aseignados
                return respuesta;
            }));
        }
コード例 #19
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="codigoDocumento"></param>
        /// <param name="noVersion"></param>
        /// <param name="idVersion"></param>
        /// <param name="emailUsuario"></param>
        /// <returns></returns>
        private bool enviarCorreoAprobarRechazar(string codigoDocumento, string noVersion, int idVersion, string idUsuarioAutorizo, string idUsuarioDueno)
        {
            string email = DataManagerControlDocumentos.GetCorreoUsuario(idUsuarioAutorizo);

            Usuario usuarioDueno = DataManager.GetUsuario(idUsuarioDueno);

            List <Archivo> listFiles = DataManagerControlDocumentos.GetArchivo(idVersion);

            string link = string.Empty;

            if (listFiles.Count > 0)
            {
                link = "<a href =\" " + listFiles[0].ruta + " \"> Clic aquí para ver el archivo</a>";
            }

            ServiceEmail serviceEmail = new ServiceEmail();
            string       body;

            body  = "<HTML>";
            body += "<head>";
            body += "<meta http-equiv=\"Content - Type\" content=\"text / html; charset = utf - 8\"/>";
            body += "</head>";
            body += "<body text=\"white\">";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\">" + definirSaludo() + "</font> </p>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\"></font> </p>";
            body += "<ul>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">El usuario <b>" + usuarioDueno.Nombre + " " + usuarioDueno.ApellidoPaterno + "</b> a dado de alta una nueva versión del documento <b>" + codigoDocumento + "</b> versión <b> " + noVersion + ".0" + " </b> para lo cual requiero su autorización para poderlo liberar en el sistema </font> </li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">" + link + "</font> </li>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Para <b> APROBAR</b> el documento favor de dar click en el siguiente link:</font> <a href=\"http://" + ipServidor + ":3000/api/aprobardocumento/id:" + idVersion + " \">Aprobar</a></li>";
            body += "<br/><br/>";
            body += "<li><font font=\"verdana\" size=\"3\" color=\"black\">Para <b> RECHAZAR</b> el documento favor de dar click en el siguiente link:</font> <a href=\"http://" + ipServidor + ":3000/api/viewnoaprobar/id:" + idVersion + " \">No Aprobar</a> </li>";
            body += "<br/>";
            body += "</ul>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\"></font> </p>";
            body += "<br/>";
            body += "<p><font font=\"verdana\" size=\"3\" color=\"black\"></font> </p>";
            body += "<br/>";
            body += "<p><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Saludos / Kind regards</font> </p>";
            body += "<ul>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + _usuarioLogueado.Nombre + " " + _usuarioLogueado.ApellidoPaterno + "</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">MAHLE Componentes de Motor de México, S. de R.L. de C.V.</font></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Engineering (ENG)</font> </li>";
            body += "<li></li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Km. 0.3 Carr. Maravillas-Jesús María , 20900 Aguascalientes, Mexico</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">Teléfono: +52 449 910 8200-82 90, Fax: +52 449 910 8200 - 267</font> </li>";
            body += "<li><font font=\"default Sans Serif\" size=\"3\" color=\"black\">" + _usuarioLogueado.Correo + ",</font> <a href=\"http://www.mx.mahle.com\">http://www.mx.mahle.com</a>  </li>";
            body += "</ul>";
            body += "</body>";
            body += "</HTML>";

            string[] recepents = new string[2];
            recepents[0] = "*****@*****.**";
            recepents[1] = email;

            recepents = Module.EliminarCorreosDuplicados(recepents);

            return(serviceEmail.SendEmailLotusCustom(recepents, "Control de documentos -  Solicitud de aprobación de documento: " + codigoDocumento, body, "CONTROL_DOCUMENTOS"));

            //List<string> attachments = new List<string>();

            //foreach (var item in files)
            //{
            //    attachments.Add(item);
            //}
            //return serviceEmail.SendEmailOutlook(recepents, "Control de documentos -  Solicitud de aprobación de documento: " + codigoDocumento, body, attachments);
        }