private void SendEmail(int pk_id_plan_capacitacion, string[] asignaciones, string NitEmpresa)
        {
            var parametros           = db.Tbl_ParametrosSistema.ToList();
            var rutaHttpSitio        = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.RutaHttpSitio).Select(p => p).FirstOrDefault().Valor;
            var servidorSTMP         = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.ServidorStmp).Select(p => p).FirstOrDefault().Valor;
            var remitente            = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.RemitenteNotificaion).Select(p => p).FirstOrDefault().Valor;
            var correoRemitente      = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.CorreoRemitente).Select(p => p).FirstOrDefault().Valor;
            var puertoServidorStmp   = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.PuertoServidorStmp).Select(p => p).FirstOrDefault().Valor;
            var usuarioServidorStmp  = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.UsuarioServidorStmp).Select(p => p).FirstOrDefault().Valor;
            var passwordServidorStmp = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.PasswordServidorStmp).Select(p => p).FirstOrDefault().Valor;
            var plantilla            = db.Tbl_PlantillasCorreosSistema.Where(x => x.IdPlantilla == 5).SingleOrDefault();
            var cliente = new RestSharp.RestClient(ConfigurationManager.AppSettings["Url"]);
            var request = new RestRequest(ConfigurationManager.AppSettings["consultaAfiliados"], RestSharp.Method.GET);

            request.RequestFormat = DataFormat.Xml;
            request.Parameters.Clear();
            request.AddParameter("tpEm", "NI");
            request.AddParameter("docEm", NitEmpresa);
            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("Accept", "application/json");
            //se omite la validación de certificado de SSL
            ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); };
            IRestResponse <List <EmpleadosWSDTO> > response = cliente.Execute <List <EmpleadosWSDTO> >(request);
            var result    = response.Content;
            var respuesta = Newtonsoft.Json.JsonConvert.DeserializeObject <List <EmpleadosWSDTO> >(result);

            for (int i = 0; i < asignaciones.Length; i++)
            {
                string[] paramst = asignaciones[i].Split(',');
                if (paramst.Length == 2)
                {
                    int    cedula    = 0;
                    string documento = string.Empty;
                    cedula    = Convert.ToInt32(paramst[0]);
                    documento = cedula.ToString();
                    var cargotemp     = respuesta.Where(x => x.idPersona == documento).SingleOrDefault();
                    var plantillaHtml = plantilla.Plantilla.Replace("[[RutaHttpSitio]]", rutaHttpSitio);
                    plantillaHtml = plantillaHtml.Replace("[[NombreUsuario]]", string.Format("{0} {1}", cargotemp.nombre1 + ' ' + cargotemp.nombre2, cargotemp.apellido1 + ' ' + cargotemp.apellido2));
                    plantillaHtml = plantillaHtml.Replace("[[EmailUsuario]]", cargotemp.emailPersona);
                    plantillaHtml = plantillaHtml.Replace("[[RazonSocial]]", ObtenerRazonSocial(NitEmpresa));
                    plantillaHtml = plantillaHtml.Replace("[[Asunto]]", "Invitación Plan de Capacitación");
                    plantillaHtml = plantillaHtml.Replace("[[Cuerpo]]", "Se invita a los usuarios al plan de capacitación.");
                    var enviado = EnvioCorreos.EnviarCorreo(plantillaHtml, correoRemitente, remitente, true, passwordServidorStmp, Convert.ToInt32(puertoServidorStmp), servidorSTMP, "[ALISSTA Plan Capacitación] " + "Invitación Plan de Capacitación", cargotemp.emailPersona);
                }
            }
        }
示例#2
0
        private void EmailParametersSending(int?PK_Id_Comunicado, string nombre, string apellido, string email, string NitEmpresa, string Asunto, string CuerpoMensaje, string Titulo, string correoRemitente,
                                            string remitente, string passwordServidorStmp, string puertoServidorStmp, string servidorSTMP, string plantillaHtml)
        {
            plantillaHtml = plantillaHtml.Replace("[[NombreUsuario]]", string.Format("{0} {1}", nombre, apellido));
            plantillaHtml = plantillaHtml.Replace("[[EmailUsuario]]", email);
            plantillaHtml = plantillaHtml.Replace("[[RazonSocial]]", ObtenerRazonSocial(NitEmpresa));
            plantillaHtml = plantillaHtml.Replace("[[Asunto]]", Asunto);
            plantillaHtml = plantillaHtml.Replace("[[Cuerpo]]", CuerpoMensaje);
            bool param_correo = EnvioCorreos.EnviarCorreo(plantillaHtml, correoRemitente, remitente, true, passwordServidorStmp, Convert.ToInt32(puertoServidorStmp), servidorSTMP, "[ALISSTA Comunicaciones] " + Titulo, email);

            using (var Transaction = db.Database.BeginTransaction())
            {
                ComunicacionesLog log = new ComunicacionesLog()
                {
                    fk_id_comunicaciones = (int)PK_Id_Comunicado,
                    modulo            = "externos",
                    enviado_rechazado = param_correo,
                    fecha_envio       = DateTime.Now.ToString()
                };
                db.Tbl_ComunicacionesLog.Add(log);
                db.SaveChanges();
                Transaction.Commit();
            }
        }