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