コード例 #1
0
ファイル: rolesController.cs プロジェクト: mkbiltek2019/PCD
 public ActionResult Edit([Bind(Include = "id,rol")] role role, ICollection <int> listaPermisos, ICollection <int> quitarPermisos, ICollection <int> listaCursos, ICollection <int> quitarCursos)
 {
     if (ModelState.IsValid)
     {
         db.Entry(role).State = EntityState.Modified;
         List <usuario> usuarios = db.usuarios.Where(u => u.roles.FirstOrDefault().id == role.id).ToList();
         if (quitarPermisos != null)
         {
             foreach (int permisoTemporal in quitarPermisos)
             {
                 permiso permisoObj = db.permisos.Find(permisoTemporal);
                 db.permisos.Find(permisoObj.id).roles.Remove(role);
             }
         }
         if (listaPermisos != null)
         {
             foreach (int permisoTemporal in listaPermisos)
             {
                 permiso permisoObj = db.permisos.Find(permisoTemporal);
                 role.permisos.Add(permisoObj);
             }
         }
         if (quitarCursos != null)
         {
             foreach (int cursoTemporal in quitarCursos)
             {
                 curso cursoObj = db.cursos.Find(cursoTemporal);
                 db.cursos.Find(cursoObj.id).roles.Remove(role);
                 foreach (usuario usuario in usuarios)
                 {
                     db.usuarios.Find(usuario.id).cursos.Remove(cursoObj);
                 }
             }
         }
         if (listaCursos != null)
         {
             foreach (int cursoTemporal in listaCursos)
             {
                 curso cursoObj = db.cursos.Find(cursoTemporal);
                 role.cursos.Add(cursoObj);
                 foreach (usuario usuario in usuarios)
                 {
                     if (cursoObj.usuarios.Where(u => u.id == usuario.id).ToList().Count <= 0)
                     {
                         db.cursos.Find(cursoObj.id).usuarios.Add(usuario);
                     }
                 }
             }
         }
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(role));
 }
コード例 #2
0
        public ActionResult Create([Bind(Include = "id,descripcion")] permiso permiso)
        {
            if (ModelState.IsValid)
            {
                db.permisos.Add(permiso);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(permiso));
        }
コード例 #3
0
 public ActionResult Edit([Bind(Include = "id,idempleado,desde,hasta,comentario")] permiso permiso)
 {
     if (ModelState.IsValid)
     {
         db.Entry(permiso).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.idempleado = new SelectList(db.empleado, "id", "codigo", permiso.idempleado);
     return(View(permiso));
 }
コード例 #4
0
        public IHttpActionResult Postpermiso(permiso permiso)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.permisos.Add(permiso);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = permiso.permisoid }, permiso));
        }
コード例 #5
0
        public async Task <IHttpActionResult> Postpermiso(permiso permiso)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.permiso.Add(permiso);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = permiso.id }, permiso));
        }
コード例 #6
0
        public IHttpActionResult Deletepermiso(int id)
        {
            permiso permiso = db.permisos.Find(id);

            if (permiso == null)
            {
                return(NotFound());
            }

            db.permisos.Remove(permiso);
            db.SaveChanges();

            return(Ok(permiso));
        }
コード例 #7
0
        public async Task <IHttpActionResult> Deletepermiso(int id)
        {
            permiso permiso = await db.permiso.FindAsync(id);

            if (permiso == null)
            {
                return(NotFound());
            }

            db.permiso.Remove(permiso);
            await db.SaveChangesAsync();

            return(Ok(permiso));
        }
コード例 #8
0
        // GET: Permiso/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            permiso permiso = db.permiso.Find(id);

            if (permiso == null)
            {
                return(HttpNotFound());
            }
            return(View(permiso));
        }
コード例 #9
0
        // GET: Permiso/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            permiso permiso = db.permiso.Find(id);

            if (permiso == null)
            {
                return(HttpNotFound());
            }
            ViewBag.idempleado = new SelectList(db.empleado, "id", "codigo", permiso.idempleado);
            return(View(permiso));
        }
コード例 #10
0
        public DtoLib.ResultadoEntidad <DtoLibVenta.Permiso.Ficha> Venta_Eliminar_Item(string autoGrupoUsuario)
        {
            var result = new DtoLib.ResultadoEntidad <DtoLibVenta.Permiso.Ficha>();

            try
            {
                using (var ctx = new LibEntityVentas.libVentasEntities(_cnVenta.ConnectionString))
                {
                    permiso cnf = ctx.Database.SqlQuery <permiso>("select estatus, seguridad from usuarios_grupo_permisos where codigo_grupo={0} and codigo_funcion='0801010000'", autoGrupoUsuario).FirstOrDefault();
                    if (cnf == null)
                    {
                        result.Entidad = new DtoLibVenta.Permiso.Ficha();
                        return(result);
                    }
                    var nt = new DtoLibVenta.Permiso.Ficha();
                    if (cnf.estatus.Trim().ToUpper() == "1")
                    {
                        nt.IsHabilitado = true;
                    }
                    switch (cnf.seguridad.Trim().ToUpper())
                    {
                    case "NINGUNA":
                        nt.NivelSeguridad = DtoLibVenta.Permiso.Enumerados.EnumNivelSeguridad.Niguna;
                        break;

                    case "MINIMA":
                        nt.NivelSeguridad = DtoLibVenta.Permiso.Enumerados.EnumNivelSeguridad.Minima;
                        break;

                    case "MEDIA":
                        nt.NivelSeguridad = DtoLibVenta.Permiso.Enumerados.EnumNivelSeguridad.Media;
                        break;

                    case "MAXIMA":
                        nt.NivelSeguridad = DtoLibVenta.Permiso.Enumerados.EnumNivelSeguridad.Maxima;
                        break;
                    }
                    result.Entidad = nt;
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(result);
        }
コード例 #11
0
ファイル: rolesController.cs プロジェクト: mkbiltek2019/PCD
        public ActionResult Create([Bind(Include = "id,rol,permisos")] role role, ICollection <int> permiso)
        {
            if (ModelState.IsValid)
            {
                foreach (int permisoSeleccionado in permiso)
                {
                    permiso permisoobj = db.permisos.Find(permisoSeleccionado);
                    role.permisos.Add(permisoobj);
                }
                db.roles.Add(role);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(role));
        }
コード例 #12
0
        public void GuardarTest()
        {
            RepositorioBase <permiso> db = new RepositorioBase <permiso>();
            permiso p = new permiso();

            p.idpermiso     = 1;
            p.funcionalidad = "node";
            p.descripcion   = "qweqw";

            RepositorioBase <permiso> repositorio = new RepositorioBase <permiso>();

            bool paso = false;

            paso = repositorio.Guardar(p);

            Assert.AreEqual(true, paso);
        }
コード例 #13
0
        public IHttpActionResult Postrol(rol rol)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            for (int i = 0; i < rol.permisos.Count; i++)
            {
                permiso permiso = rol.permisos.ElementAt(i);
                rol.permisos.Remove(permiso);
                rol.permisos.Add(db.permisos.Find(permiso.id_permiso));
            }

            db.rols.Add(rol);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = rol.id_rol }, rol));
        }
コード例 #14
0
        public ActionResult Registrar_Permiso()
        {
            try
            {
                permiso p = new permiso();
                p.id_empleado = Convert.ToInt32(Request.Form["id_empleado"]);
                p.desde       = Convert.ToDateTime(Request.Form["v_desde"]);
                p.hasta       = Convert.ToDateTime(Request.Form["v_hasta"]);
                p.comentario  = Request.Form["comentario"].ToString();

                db.permiso.Add(p);
                db.SaveChanges();
                ViewData["error"] = "false";

                return(View("Permiso"));
            }
            catch (Exception ex)
            {
                ViewData["error"]     = "true";
                ViewData["msj_error"] = "Error: " + ex.Message.ToString();
                return(View("Permiso"));
            }
        }
コード例 #15
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));
        }
コード例 #16
0
        public bool NuevoUsuario()
        {
            bool r = false;

            using (System.Transactions.TransactionScope tr = new System.Transactions.TransactionScope())
            {
                try
                {
                    if (!existeUsuario(this.Nombre_usuario))
                    {
                        usuario f = new usuario();


                        f.contrasenia     = this._constrasenia;
                        f.nombre_completo = this._nombre_completo;
                        f.nombre_usuario  = this._nombre_usuario;



                        ctx.usuarios.Add(f);
                        ctx.SaveChanges();
                        _id_usuario = f.id_usuario;

                        r = true;
                    }
                    else
                    {
                        MessageBox.Show("Ya existe ese nombre de usuario!");
                        r = false;
                    }
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message, "Error de datos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    r = false;
                }

                if (r)
                {
                    /*Crea los permisos en la base de datos*/

                    permiso p = new permiso();

                    foreach (PermisoClass permiso in _permisos)
                    {
                        if (!permiso.NuevoPermiso(_id_usuario))
                        {
                            r = false;
                        }
                    }
                }

                if (r)
                {
                    tr.Complete();
                }
            }



            return(r);
        }