public void NotificarVencimiento() { List <usuario> usuarios = db.usuarios.ToList(); string asunto = "Recordatorio de vencimiento de su membrecia en la Plataforma de Contenidos Digitales."; foreach (usuario usuario in usuarios) { if (!usuario.roles.FirstOrDefault().Equals(Constantes.ADMINISTRADOR)) { List <string> destinatarios = new List <string>(); destinatarios.Add(usuario.correo); if (usuario.correo_2 != null) { destinatarios.Add(usuario.correo_2); } DateTime fechaVencimiento = new DateTime(usuario.fecha_primer_ingreso.Value.Year + 1, usuario.fecha_primer_ingreso.Value.Month, usuario.fecha_primer_ingreso.Value.Day); TimeSpan diferenciaRenovacion = fechaVencimiento - DateTime.Today; if (diferenciaRenovacion.Days == 30 || diferenciaRenovacion.Days == 15 || diferenciaRenovacion.Days == 3) { string mensaje = "Estimado " + usuario.nombre + "<br /> Por medio de este mensaje deseamos darle a conocer que su membresia en el sitio Plataforma de Contenidos Digitales se vencera en: " + diferenciaRenovacion + " dias." + "<br/><br/>Se recomienda comunicarse con el equipo de www.pimas.co.cr para la renovación de dicha membresia. <br/> <br/> Saludos."; Utilitarios.EnviarCorreo(destinatarios, asunto, ""); } } } }
public ActionResult Create([Bind(Include = "id,nombre,apellidos,username,password,colegio,correo,telefono,informacion_opcional")] profesores_temporal profesores_temporal) { if (ModelState.IsValid) { string pass = profesores_temporal.password; profesores_temporal.password = Utilitarios.EncodePassword(string.Concat(profesores_temporal.username, profesores_temporal.password)); db.profesores_temporal.Add(profesores_temporal); db.SaveChanges(); List <string> destinatarios = new List <string>(); destinatarios.Add(profesores_temporal.correo); Utilitarios.EnviarCorreo(destinatarios, "PCD: Solicitud Recibida", "Estimado " + profesores_temporal.nombre + "<br /><br />Hemos recibido una solicitud de registro en el sitio Plataforma Contenidos Digitales, dicha solicitud será procesada y" + " se le notificará una vez acabe el proceso.<br /><br />Le recordamos que:<br />Su usuario registrado es: " + profesores_temporal.username + "<br/>Su password es: " + pass + "<br /><br />Saludos"); return(RedirectToAction("SolicitudInscripcion")); } ViewBag.Colegios = db.colegios.ToList(); return(View(profesores_temporal)); }
public ActionResult Create([Bind(Include = "id,nombre,apellidos,username,password,telefono,telefono_2,correo,correo_2,informacion_opcional,fecha_primer_ingreso")] usuario usuario, int roles, List <int> colegios, List <int> niveles, bool?notificacionCorreo, bool?notificacionTelefono) { if (ModelState.IsValid) { List <string> destinatarios = new List <string>(); string asunto = "Bienvenido al sitio Plataforma de Contenidos Digitales"; string cuerpo; usuario.fecha_primer_ingreso = DateTime.Today; usuario.roles.Add(db.roles.Find(roles)); destinatarios.Add(usuario.correo); foreach (int colegioTemp in colegios) { usuario.colegios.Add(db.colegios.Find(colegioTemp)); } foreach (int nivelTemp in niveles) { usuario.niveles.Add(db.niveles.Find(nivelTemp)); } notificacione notificacion = new notificacione(); notificacion.correo = notificacionCorreo; notificacion.telefono = notificacionTelefono; notificacion.id_usuario = usuario.id; notificacion.fecha_hora = DateTime.Now; usuario.notificacione = notificacion; cuerpo = "Usuario = " + usuario.username + " Password = "******"Index")); } ViewBag.id = new SelectList(db.notificaciones, "id_usuario", "id_usuario", usuario.id); ViewBag.id = new SelectList(db.log_visitas, "id_usuario", "id_usuario", usuario.id); ViewBag.roles = new SelectList(db.roles, "id", "rol", usuario.roles); ViewBag.colegios = new SelectList(db.colegios, "id", "nombre", usuario.colegios); ViewBag.niveles = new SelectList(db.niveles, "id", "nivel"); return(View(usuario)); }
public ActionResult VerDocumentos([Bind(Include = "curso, niveles, documentos, documentosSeleccionados")] DocumentosCurso documentosCurso) { List <string> destinatarios = new List <string>(); string asunto = "PCD - Actualización de Curso"; string mensaje = "Le informamos que se actualizó el curso " + db.cursos.Find(documentosCurso.curso.id).curso1 + " en la plataforma de PIMAS. Los cambios son los siguientes:<br/>- Se incluyeron los siguientes archivos: "; foreach (documentos_curso item in db.documentos_curso.Where(dc => dc.id_curso == documentosCurso.curso.id)) { db.documentos_curso.Remove(item); } foreach (var idDocumento in documentosCurso.documentosSeleccionados) { documentos_curso dc = new documentos_curso(); dc.id_curso = documentosCurso.curso.id; dc.id_documento = idDocumento; dc.visibilidad = true; db.documentos_curso.Add(dc); mensaje += "<br />" + db.documentos.Find(idDocumento).titulo; } List <usuario> usuarios = db.cursos.Find(documentosCurso.curso.id).usuarios.ToList(); foreach (usuario usuario in usuarios) { if (usuario.notificacione.correo == true) { destinatarios.Add(usuario.correo); if (usuario.correo_2 != null) { destinatarios.Add(usuario.correo_2); } } } db.SaveChanges(); Utilitarios.EnviarCorreo(destinatarios, asunto, mensaje); return(RedirectToAction("AgregarDocumentos", new { id = documentosCurso.curso.id })); //return RedirectToAction("Index"); }
public ActionResult EnviarNotificaciones(int?id, int?idGrupo, int?idColegio, int?idCurso, string asunto, string cuerpo) { List <usuario> usuarios = new List <usuario>(); List <string> destinatarios = new List <string>(); usuario usuarioSesion = (usuario)HttpContext.Session["usuario"]; if (id == null) { if (idGrupo != null) { usuarios = db.grupos.Find(idGrupo).usuarios.Where(u => u.id != usuarioSesion.id && u.notificacione.correo == true).ToList(); } if (idColegio != null) { usuarios = db.colegios.Find(idColegio).usuarios.Where(u => u.notificacione.correo == true).ToList(); } if (idCurso != null) { usuarios = db.colegios.Find(idCurso).usuarios.Where(u => u.notificacione.correo == true).ToList(); } } else { usuarios.Add(db.usuarios.Find(id)); } foreach (usuario destinatario in usuarios) { destinatarios.Add(destinatario.correo); if (destinatario.correo_2 != null && destinatario.correo_2 != "") { destinatarios.Add(destinatario.correo_2); } } Utilitarios.EnviarCorreo(destinatarios, asunto, cuerpo); return(Redirect("~/cursos/IndiceCursos")); }
public ActionResult Registrar(int?id) { if (Session["usuario"] != null) { usuario usuarioSesion = (usuario)HttpContext.Session["usuario"]; if (usuarioSesion.roles.FirstOrDefault().rol.Equals(Constantes.ADMINISTRADOR)) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } profesores_temporal profesores_temporal = db.profesores_temporal.Find(id); if (profesores_temporal == null) { return(HttpNotFound()); } usuario usuario = new usuario(); usuario.nombre = profesores_temporal.nombre; usuario.apellidos = profesores_temporal.apellidos; usuario.username = profesores_temporal.username; usuario.password = profesores_temporal.password; usuario.telefono = profesores_temporal.telefono; usuario.correo = profesores_temporal.correo; colegio colegio = db.colegios.Where(c => c.nombre.Equals(profesores_temporal.colegio)).FirstOrDefault(); if (colegio != null) { usuario.colegios.Add(colegio); } usuario.informacion_opcional = profesores_temporal.informacion_opcional; usuario.fecha_primer_ingreso = DateTime.Today; usuario.roles = db.roles.Where(r => r.rol.Equals(Constantes.PROFESOR)).ToList(); if (usuario.roles.FirstOrDefault().cursos.Count > 0) { foreach (curso curso in usuario.roles.FirstOrDefault().cursos) { usuario.cursos.Add(curso); } } notificacione notificacion = new notificacione(); notificacion.telefono = true; notificacion.correo = true; notificacion.fecha_hora = DateTime.Now; usuario.notificacione = notificacion; db.usuarios.Add(usuario); db.profesores_temporal.Remove(profesores_temporal); db.SaveChanges(); List <string> destinatarios = new List <string>(); destinatarios.Add(profesores_temporal.correo); Utilitarios.EnviarCorreo(destinatarios, "PCD: Solicitud Aceptada", "Estimado " + usuario.nombre + "<br /><br />El proceso de registro de usuario en el sitio Plataforma de Contenidos Digitales ha concluido y su solicitud fue aceptada.<br/><br />Gracias." + "<br /><br />Le recordamos que:<br /> su usuario registrado es: " + usuario.username + "<br />Esperamos que los contenidos de la plataforma le sean útiles en sus labores." ); return(RedirectToAction("Index")); } else { return(RedirectToAction("../")); } } return(RedirectToAction("../Account/Login/ReturnUrl=profesores_temporal")); }