//Asignamos funciones al rol public ActionResult asignarFuncion(String roleId, String moduleId, String[] ids) { if (!String.IsNullOrEmpty(roleId)) { TempData["vRoleId"] = roleId; TempData["vModuleId"] = moduleId; Role role = db.Roles.Find(int.Parse(roleId)); if (ids != null && ids.Length > 0) { DateTime date = DateTime.Now; Usuario user = db.Usuarios.Find(1); foreach (String moduloId in ids) { RoleFuncion roleFuncion = new RoleFuncion(); roleFuncion.Role = role; roleFuncion.fechaCreacion = date; roleFuncion.Usuario = user; int idTemp = int.Parse(moduloId); var funcion = db.Funcions.Find(idTemp); roleFuncion.Funcion = funcion; db.RoleFuncions.Add(roleFuncion); db.SaveChanges(); } } } return(RedirectToAction("Index", new { roleId = roleId, moduleId = moduleId })); }
//Otorgamos permisos a las funciones private void permisosFuncionesSeguridad(int roleId, int moduloId) { var funciones = from x in db.Funcions where x.moduloId.Equals(moduloId) select x; if (funciones.Count() > 0) { DateTime date = DateTime.Now; foreach (Funcion fun in funciones) { RoleFuncion rf = new RoleFuncion(); rf.funcionId = fun.id; rf.roleId = roleId; rf.Funcion = fun; rf.usuarioCreacionId = 1; rf.fechaCreacion = date; db.RoleFuncions.Add(rf); } db.SaveChanges(); } }
//Verficamos si se tiene permiso al modulo función public static Boolean verificarPermiso(String modulo, String funcion) { Boolean perfilConPermiso = false; if (modulo.Equals("1") && funcion.Equals("1")) { perfilConPermiso = true; return(perfilConPermiso); } if (roleFunciones.Count() > 0) { RoleFuncion roleFuncion = roleFunciones .Where(x => x.Funcion.descripcionCorta.Trim().Equals(modulo) && x.Funcion.descripcionLarga.Trim().Equals(funcion)).FirstOrDefault(); if (roleFuncion != null) { perfilConPermiso = true; } } return(perfilConPermiso); }