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