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); } } }
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(); } }