示例#1
0
        public ActionResult Crear(tbRol nuevo)
        {
            dbHeredadesEntities db = new dbHeredadesEntities();

            if (!(db.tbRol.Any(t => t.rol == nuevo.rol)))
            {
                db.tbRol.Add(nuevo);
                db.SaveChanges();
                List <int>          permisos    = db.tbPermiso.Select(t => t.codPermiso).ToList();
                List <tbRolPermiso> rolPermisos = new List <tbRolPermiso>();
                foreach (int item in permisos)
                {
                    rolPermisos.Add(new tbRolPermiso
                    {
                        codRol     = nuevo.codRol,
                        codPermiso = item,
                        estado     = false
                    });
                }
                db.tbRolPermiso.AddRange(rolPermisos);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "¡Ya existe este rol!");
                return(View());
            }
        }
示例#2
0
        public ActionResult Editar(int id)
        {
            dbHeredadesEntities db = new dbHeredadesEntities();
            tbRol rol = db.tbRol.Find(id);

            return(View(rol));
        }
示例#3
0
        public ActionResult AgregarPermisos(ModeloPermisosRol modelo)
        {
            tbRol Rol = db.tbRol.Where(x => x.codTipoUsuario == modelo.codRol).SingleOrDefault();


            List <tbRolPermiso> tbRolPermisosAnt = Rol.tbRolPermiso.ToList();

            foreach (var p in modelo.permisos)
            {
                if (p.IsChecked)
                {       //si no esta en la lista antigua de la base de datos
                    if (!tbRolPermisosAnt.Any(x => x.idPermiso == p.codPemiso))
                    {
                        //el permiso no estaba y fue agregado
                        db.tbRolPermiso.InsertOnSubmit(new tbRolPermiso {
                            idPermiso = p.codPemiso, codTipoUsuario = modelo.codRol
                        });
                    }//else: se encuentra en la base y no se quitó el permiso, no se modificoo
                }
                else
                {
                    //si esta en la lista antigua de la base de datos es por que el permiso esta asignado y debe removerse
                    if (tbRolPermisosAnt.Any(x => x.idPermiso == p.codPemiso))
                    {
                        //tbRolPermiso rp = (from r in db.tbRolPermiso where (r.idPermiso == p.idPermiso && r.codTipoUsuario==modelo.rol.codTipoUsuario) select r).SingleOrDefault();
                        tbRolPermiso rp = db.tbRolPermiso.Where(x => x.codTipoUsuario == modelo.codRol && x.idPermiso == p.codPemiso).SingleOrDefault();
                        db.tbRolPermiso.DeleteOnSubmit(rp);
                    }//else: no estaba y no ase agregaraa
                }
            }

            db.SubmitChanges();

            return(RedirectToAction("Index"));
        }
示例#4
0
        public ActionResult EditarRol(tbRol rl)
        {
            try
            {
                tbRol Rl = (from r in db.tbRol where r.codTipoUsuario == rl.codTipoUsuario select r).SingleOrDefault();
                if (Rl.Rol.ToUpper() != rl.Rol.ToUpper())
                {
                    if (db.tbRol.Where(x => x.Rol.ToUpper() == rl.Rol.ToUpper()).Any())
                    {
                        ModelState.AddModelError("Rol", "El rol ya existe"); return(View(rl));
                    }
                }

                tbRol rol = db.tbRol.Where(x => x.codTipoUsuario == rl.codTipoUsuario).SingleOrDefault();
                rol.Rol         = rl.Rol;
                rol.descripcion = rl.descripcion;

                db.SubmitChanges();
                return(RedirectToAction("Index"));
            }
            catch
            {
                ViewBag.errores = "No se pudo realizar la operacion";
                return(View("VistaDeErrores"));
            }
        }
示例#5
0
        public ActionResult AgregarPermisos(int?id)
        {
            //Se obtiene el rol
            tbRol rol = db.tbRol.Where(x => x.codTipoUsuario == id).SingleOrDefault();
            //se asigna rol al modelo
            ModeloPermisosRol modeloPermisoRol = new ModeloPermisosRol()
            {
                codRol    = rol.codTipoUsuario,
                NombreRol = rol.Rol
            };

            //todos los permisos que existen
            List <tbPermiso> todosLosPermisos = (from p in db.tbPermiso select p).ToList();

            //se obtienen los permisos del rol codigo y permiso
            var permisosDelRol = rol.tbRolPermiso.Select(p => p.tbPermiso);

            //se indican cuales son los permisos que se tienen actualmente
            var CheckBoxPermisos = new List <CheckBoxPermiso>();

            foreach (var p in todosLosPermisos)
            {
                CheckBoxPermisos.Add(new CheckBoxPermiso()
                {
                    codPemiso     = p.idPermiso,
                    nombrePermiso = p.Permiso,
                    //seleccionar los que existen
                    IsChecked = permisosDelRol.Where(x => x.idPermiso == p.idPermiso).Any()
                });
            }
            //se asigna al modelo
            modeloPermisoRol.permisos = CheckBoxPermisos;

            return(View(modeloPermisoRol));
        }
示例#6
0
        public ActionResult Inactivar(int id)
        {
            try
            {
                IEnumerable <Object> List = null;
                var   Msj   = "";
                tbRol tbRol = db.tbRol.Find(id);
                List = db.UDP_Acce_tbRol_Inactivar(id, Function.GetUser(), Function.DatetimeNow());
                foreach (UDP_Acce_tbRol_Inactivar_Result Rol in List)
                {
                    Msj = Rol.MensajeError;
                }
                if (Msj.StartsWith("-1"))
                {
                    TempData["smserror"] = " No se puede inactivar el rol porque ya hay usuarios asignados con este rol.";
                    ViewBag.smserror     = TempData["smserror"];

                    ModelState.AddModelError("", "No se puede inactivar el rol");
                    return(RedirectToAction("Edit/" + id));
                }
            }
            catch (Exception Ex)
            {
                Ex.Message.ToString();
                ModelState.AddModelError("", "No se pudo actualizar el Estado , Contacte al Administrador");
            }
            return(RedirectToAction("Edit/" + id));
        }
示例#7
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            tbRol tbRol = db.tbRol.Find(id);

            if (tbRol == null)
            {
                return(RedirectToAction("NotFound", "Login"));
            }
            return(View(tbRol));
        }
示例#8
0
        public ActionResult Editar(tbRol editado)
        {
            dbHeredadesEntities db = new dbHeredadesEntities();

            if (!(db.tbRol.Any(t => t.rol == editado.rol && t.codRol != editado.codRol)))
            {
                db.Entry(editado).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "¡Ya existe un rol con ese nombre!");
                return(View());
            }
        }
示例#9
0
 public ActionResult EstadoRolInactivo(int id)
 {
     try
     {
         IEnumerable <Object> List = null;
         var   Msj   = "";
         tbRol tbRol = db.tbRol.Find(id);
         List = db.UDP_Acce_tbRolEstado_Update(id, Models.Helpers.RolInactivo, Function.GetUser(), Function.DatetimeNow());
         foreach (UDP_Acce_tbRolEstado_Update_Result Rol in List)
         {
             Msj = Rol.MensajeError;
         }
     }
     catch (Exception Ex)
     {
         Ex.Message.ToString();
         ModelState.AddModelError("", "No se pudo actualizar el Estado , Contacte al Administrador");
     }
     return(RedirectToAction("Edit/" + id));
 }
示例#10
0
        public ActionResult Edit(int?id)
        {
            try
            {
                ViewBag.smserror = TempData["smserror"].ToString();
            }
            catch { }
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            ViewBag.obj_Id = new SelectList(db.tbObjeto, "obj_Id", "obj_Pantalla");
            tbRol tbRol = db.tbRol.Find(id);

            if (tbRol == null)
            {
                return(RedirectToAction("NotFound", "Login"));
            }
            return(View(tbRol));
        }
示例#11
0
 public ActionResult CrearRol(tbRol rl)
 {
     try
     {
         if (db.tbRol.Where(x => x.Rol == rl.Rol).Any())
         {
             ModelState.AddModelError("Rol", "El rol ya existe"); return(View(rl));
         }
         tbRol rol = new tbRol()
         {
             Rol         = rl.Rol,
             descripcion = rl.descripcion,
             estado      = true
         };
         db.tbRol.InsertOnSubmit(rol);
         db.SubmitChanges();
         return(RedirectToAction("Index"));
     }
     catch
     {
         ModelState.AddModelError("Rol", "no se pudo crear el rol");
         return(View(rl));
     }
 }
示例#12
0
        // GET: Roles/Edit/5
        public ActionResult EditarRol(int?id)
        {
            tbRol Rl = (from r in db.tbRol where r.codTipoUsuario == id select r).SingleOrDefault();

            return(View(Rl));
        }