コード例 #1
0
 public ActionResult Edit([Bind(Include = "id,nombre,apellidos,username,password,telefono,telefono_2,correo,correo_2,informacion_opcional,fecha_primer_ingreso")] usuario usuario, int?roles, bool?notificacionCorreo, bool?notificacionTelefono, string nombreUsuario, string pass)
 {
     if (ModelState.IsValid)
     {
         db.Entry(usuario).State = EntityState.Modified;
         db.notificaciones.Find(usuario.id).correo     = notificacionCorreo;
         db.notificaciones.Find(usuario.id).telefono   = notificacionTelefono;
         db.notificaciones.Find(usuario.id).fecha_hora = DateTime.Now;
         if (roles != null && roles != 0)
         {
             List <role> rolesUsuario = db.roles.Where(r => r.usuarios.Where(u => u.id == usuario.id).ToList().Count > 0).ToList();
             usuario.roles = db.usuarios.Find(usuario.id).roles;
             foreach (role item in rolesUsuario)
             {
                 item.usuarios.Remove(usuario);
             }
             role rol = db.roles.Find(roles);
             usuario.roles.Add(rol);
         }
         if (pass != null && pass != "" || usuario.username != nombreUsuario)
         {
             if (db.usuarios.Find(usuario.id).password.Equals(Utilitarios.EncodePassword(nombreUsuario + pass)))
             {
                 usuario.password = Utilitarios.EncodePassword(usuario.username + pass);
             }
             else
             {
                 ModelState.AddModelError("", "Contraseña Equivocada");
                 ModelState.Remove("username");
                 ViewBag.nombreUsuario = nombreUsuario;
                 ViewBag.Roles         = db.roles;
                 ViewBag.colegios      = db.colegios;
                 usuario.username      = nombreUsuario;
                 return(View(usuario));
             }
         }
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.nombreUsuario = db.usuarios.Find(usuario.id).username;
     ViewBag.Usuario       = db.usuarios.Find(usuario.id).username;
     ViewBag.Roles         = db.roles;
     ViewBag.colegios      = db.colegios;
     return(View(usuario));
 }
コード例 #2
0
        public ActionResult CambiarPassword([Bind(Include = "Password, ConfirmPassword")] ResetPasswordViewModel ResetPassword, int?id)
        {
            if (ModelState.IsValid)
            {
                usuario usuarioSesion = (usuario)HttpContext.Session["usuario"];
                if (id == null)
                {
                    db.usuarios.Find(usuarioSesion.id).password = Utilitarios.EncodePassword(usuarioSesion.username + ResetPassword.Password);
                }
                else
                {
                    db.usuarios.Find(id).password = Utilitarios.EncodePassword(db.usuarios.Find(id).username + ResetPassword.Password);
                }

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View());
        }
コード例 #3
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));
 }
コード例 #4
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));
        }
コード例 #5
0
        public ActionResult Create([Bind(Include = "id,grupo, permisos")] grupos grupos, ICollection <int> permiso, int profesores, int cursos, int CantidadUsuarios)
        {
            if (ModelState.IsValid)
            {
                foreach (int permisoSeleccionado in permiso)
                {
                    permiso permisoobj = db.permisos.Find(permisoSeleccionado);
                    grupos.permisos.Add(permisoobj);
                }
                usuario usuario = db.usuarios.Find(profesores);
                grupos.usuarios.Add(usuario);
                curso curso = db.cursos.Find(cursos);
                curso.usuarios.Add(usuario);
                grupos.curso = curso;
                List <string> destinatarios = new List <string>();
                destinatarios.Add(usuario.correo);
                if (usuario.correo_2 != null || usuario.correo_2 != "")
                {
                    destinatarios.Add(usuario.correo_2);
                }
                if (CantidadUsuarios > 0)
                {
                    StringBuilder sb = new StringBuilder();
                    for (int i = 1; i <= CantidadUsuarios; i++)
                    {
                        usuario estudiante = new usuario();
                        estudiante.apellidos = Guid.NewGuid().ToString().Substring(0, 2);
                        estudiante.nombre    = Guid.NewGuid().ToString().Substring(0, 3);
                        estudiante.correo    = Guid.NewGuid().ToString().Substring(0, 3);
                        estudiante.telefono  = 0;
                        estudiante.username  = Guid.NewGuid().ToString().Substring(0, 10);
                        while (db.usuarios.Where(u => u.username.Equals(estudiante.username)).Count() > 0)
                        {
                            estudiante.username = Guid.NewGuid().ToString().Substring(0, 10);
                        }
                        estudiante.password = Guid.NewGuid().ToString().Substring(0, 10);
                        sb.AppendLine("Username = "******" Password = "******"Recursos", "logo-peq.png")));
                    celImagen.Border = 0;

                    PdfPCell celTitulo = new PdfPCell(new Phrase("Plataforma de Contenidos Digitales" +
                                                                 "\n" + DateTime.Today.ToShortDateString().ToString() +
                                                                 "\nReporte de usuarios generados",
                                                                 new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD)));
                    celTitulo.HorizontalAlignment = Element.ALIGN_CENTER;
                    celTitulo.Colspan             = 4;
                    celTitulo.Border = 0;

                    table.AddCell(celImagen);
                    table.AddCell(celTitulo);
                    MemoryStream s = new MemoryStream();

                    Document  pdfDoc    = new Document(PageSize.A4, 25, 10, 25, 10);
                    PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDoc, s);
                    pdfDoc.Open();
                    pdfDoc.AddTitle("Reporte de usuarios generados");
                    pdfDoc.Add(table);
                    Paragraph Text = new Paragraph("\n\n" + sb.ToString());
                    pdfDoc.Add(Text);
                    pdfWriter.CloseStream = false;
                    pdfDoc.Close();
                    s = new MemoryStream(s.ToArray());
                    Utilitarios.EnviarCorreoAdjunto(destinatarios, "Datos de usuarios generados: ",
                                                    "Adjunto encontrarás un documento PDF con los datos de acceso para los usuarios generados el dia " + DateTime.Today, s);
                    s.Close();
                    //Utilitarios.EnviarCorreo(destinatarios, "Datos de usuarios del grupo: " + grupos.grupo, sb.ToString());
                }
                db.grupos.Add(grupos);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(grupos));
        }
コード例 #6
0
        public ActionResult GenerarUsuarios(List <int> cursos, int CantidadUsuarios)
        {
            //DSUsuariosGenerados dsUsuarios = new DSUsuariosGenerados();
            List <curso>  cursosMatricular = new List <curso>();
            usuario       usuarioSesion    = (usuario)HttpContext.Session["usuario"];
            List <string> destinatarios    = new List <string>();

            destinatarios.Add(usuarioSesion.correo);
            if (usuarioSesion.correo_2 != null || usuarioSesion.correo_2 != "")
            {
                destinatarios.Add(usuarioSesion.correo_2);
            }
            foreach (int item in cursos)
            {
                cursosMatricular.Add(db.cursos.Find(item));
            }
            if (cursosMatricular != null && cursosMatricular.Count > 0)
            {
                if (CantidadUsuarios > 0)
                {
                    StringBuilder sb = new StringBuilder();
                    for (int i = 1; i <= CantidadUsuarios; i++)
                    {
                        usuario estudiante = new usuario();
                        estudiante.apellidos = Guid.NewGuid().ToString().Substring(0, 2);
                        estudiante.nombre    = Guid.NewGuid().ToString().Substring(0, 3);
                        estudiante.correo    = Guid.NewGuid().ToString().Substring(0, 3);
                        estudiante.telefono  = 0;
                        estudiante.username  = Guid.NewGuid().ToString().Substring(0, 10);
                        while (db.usuarios.Where(u => u.username.Equals(estudiante.username)).Count() > 0)
                        {
                            estudiante.username = Guid.NewGuid().ToString().Substring(0, 10);
                        }
                        estudiante.password = Guid.NewGuid().ToString().Substring(0, 10);
                        sb.AppendLine("Username = "******" Password = "******"Recursos", "logo-peq.png")));
                    celImagen.Border = 0;

                    PdfPCell celTitulo = new PdfPCell(new Phrase("Plataforma de Contenidos Digitales" +
                                                                 "\n" + DateTime.Today.ToShortDateString().ToString() +
                                                                 "\nReporte de usuarios generados",
                                                                 new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD)));
                    celTitulo.HorizontalAlignment = Element.ALIGN_CENTER;
                    celTitulo.Colspan             = 4;
                    celTitulo.Border = 0;

                    table.AddCell(celImagen);
                    table.AddCell(celTitulo);
                    MemoryStream s         = new MemoryStream();
                    Document     pdfDoc    = new Document(PageSize.A4, 25, 10, 25, 10);
                    PdfWriter    pdfWriter = PdfWriter.GetInstance(pdfDoc, s);
                    pdfDoc.Open();
                    pdfDoc.AddTitle("Reporte de usuarios generados");
                    pdfDoc.Add(table);
                    Paragraph Text = new Paragraph("\n\n" + sb.ToString());
                    pdfDoc.Add(Text);
                    pdfWriter.CloseStream = false;
                    pdfDoc.Close();
                    s = new MemoryStream(s.ToArray());
                    Utilitarios.EnviarCorreoAdjunto(destinatarios, "Datos de usuarios generados: ",
                                                    "Adjunto encontrarás un documento PDF con los datos de acceso para los usuarios generados el dia " + DateTime.Today, s);
                    s.Close();
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.cursos = db.cursos.ToList();
                return(View());
            }
        }
コード例 #7
0
ファイル: AccountController.cs プロジェクト: mkbiltek2019/PCD
        public ActionResult Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var     pass = Utilitarios.EncodePassword(model.Email + model.Password);
            usuario user = db.usuarios.Where(u => u.username.Equals(model.Email) && u.password.Equals(pass)).FirstOrDefault();

            if (user != null)
            {
                //FormsAuthentication.SetAuthCookie(user.nombre + " " + user.apellidos, model.RememberMe);
                if (user.bloqueado == true)
                {
                    ModelState.Remove("Password");
                    ModelState.AddModelError("", "Este usuario esta bloqueado");
                    return(View());
                }
                if (user.logueado == true)
                {
                    int dia  = user.log_visitas.Last().fecha_hora.DayOfYear;
                    int hora = user.log_visitas.Last().fecha_hora.Hour;
                    //int minuto = hora*60 + user.log_visitas.Last().fecha_hora.Minute;

                    if (dia == DateTime.Now.DayOfYear && (DateTime.Now.Hour - hora <= 1))
                    {
                        ModelState.Remove("Password");
                        ModelState.AddModelError("", "Esta cuenta ya se encuentra en uso");
                        return(View());
                    }
                }
                bool isVigente = new usuariosController().VerificarVigencia(user.id);
                if (isVigente)
                {
                    user.cursos = user.cursos.OrderBy(c => c.curso1).ToList();
                    this.SignInUser(user.nombre + " " + user.apellidos, user.id, model.RememberMe);
                    System.Web.HttpContext.Current.Session["usuario"] = user;
                    db.usuarios.Find(user.id).logueado = true;
                    log_visitas log = new log_visitas();
                    log.usuario    = user;
                    log.id_usuario = user.id;
                    log.fecha_hora = DateTime.Now;
                    db.log_visitas.Add(log);
                    db.SaveChanges();
                    FormsAuthentication.SetAuthCookie(user.nombre + " " + user.apellidos, model.RememberMe);

                    if (returnUrl == null || returnUrl == "")
                    {
                        return(Redirect("../"));
                    }
                    else
                    {
                        if (Url.IsLocalUrl(returnUrl))
                        {
                            return(Redirect(returnUrl));
                        }
                        else
                        {
                            return(Redirect(returnUrl));
                        }
                    }
                }
                else
                {
                    ModelState.Remove("Password");
                    ModelState.AddModelError("", "Se acabo el tiempo de tu subscripción, contacta al equipo de PIMAS para renovar tu subscripcion");
                    return(View());
                }
            }
            ModelState.Remove("Password");
            ModelState.AddModelError("", "Los datos insertados son incorrectos");
            return(View());
        }