Пример #1
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));
        }
Пример #2
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());
            }
        }