コード例 #1
0
        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, "");
                    }
                }
            }
        }
コード例 #2
0
 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));
 }
コード例 #3
0
        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));
        }
コード例 #4
0
ファイル: cursosController.cs プロジェクト: mkbiltek2019/PCD
        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");
        }
コード例 #5
0
        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"));
        }
コード例 #6
0
        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"));
        }