public ActionResult PermisosRolModule(int id) { ViewBag.CustomScriptsPageValid = BuildScriptPageValid(); RoleEntity objRole = proxy.GetRole(id); List <PermisoEntity> lstPermiso = proxyPermiso.GetXmlPermiso(Globals.SerializeTool.Serialize <PermisoEntity>(new PermisoEntity() { IdRol = objRole.IdRol.Value })).ToList(); //List<ModuleEntity> lstMoldeFilter = (from c in proxyModule.GetModuleList() // where (from o in lstPermiso // select o.IdModule).Contains(c.IdModule) // select c).ToList(); List <ModuleEntity> lstMoldeFilter = proxyModule.GetModuleList(); lstPermiso.ForEach(XUsuario => lstMoldeFilter.Where(x => x.IdModule.HasValue).Where(x => x.IdModule == XUsuario.IdModule).ToList().ForEach(y => y.Permiso = XUsuario)); List <ModuleEntity> listResult = null; List <ModuleEntity> listModule = new List <ModuleEntity>(); listResult = lstMoldeFilter; listResult.ToList().ForEach(x => listModule.Add(x)); objRole.Modulos = listModule; objRole.Modulos = (from s in objRole.Modulos orderby s.ParentId ascending select s).ToList(); ObjRolModelSession = objRole; if (objRole == null) { return(HttpNotFound()); } return(PartialView(ObjRolModelSession)); }
protected override void ExecuteCore() { // Primero se valida que el usuario este autenticado por medio de las variables de session ValidateCookiesUser(); Session["POptAdd"] = true; Session["POptUpdate"] = true; Session["POptDelete"] = true; List <ModuleEntity> lstModule = null; if (HttpContext != null && HttpContext.User.Identity.IsAuthenticated) { } // si el usuario tiene esta autenticado if (this.Session == null || this.Session["Access"] != null) { UsuarioEntity um = new UsuarioEntity(); List <PermisoEntity> permiso = new List <PermisoEntity>(); List <ModuleEntity> lstModuleFilter = new List <ModuleEntity>(); um = (UsuarioEntity)Session["Usuario"]; if (um != null) { if (proxyUsuario.GetUsuario(um.IdUsuario).Estado == true && proxyRol.GetRole(um.IdRol).Estado == true) { // una vez validado que el usuario este autenticado y su estado sea activo lista los modulos a los que tiene permiso List <PermisoEntity> lstPermiso = proxyPermiso.GetXmlPermiso(Globals.SerializeTool.Serialize <PermisoEntity>(new PermisoEntity() { IdRol = um.IdRol })).ToList(); permiso = proxyPermiso.GetPermisoList().Where(o => o.IdRol == um.IdRol).ToList(); lstModuleFilter = (from c in BuildMenu() where (from o in lstPermiso select o.IdModule).Contains(c.IdModule) select c).ToList(); lstPermiso.ForEach(XPermiso => lstModuleFilter.Where(x => x.IdModule.HasValue).Where(x => x.IdModule == XPermiso.IdModule).ToList().ForEach(y => y.Permiso = XPermiso)); lstModule = (from c in lstModuleFilter where c.Permiso.OptSelect == true select c).ToList(); //lstPermiso.ForEach(Xpermiso => lstMoldeFilter.Where(x => x.IdModule.HasValue).Where(x => x.IdModule == Xpermiso.IdModule).ToList().ForEach(y => y.Permiso = Xpermiso)); lstPermiso.ForEach(Xpermiso => lstPermiso.Where(z => z.OptAdd == true || z.OptDelete == true || z.OptSelect == true || z.OptUpdate == true).ToList()); } else { Session.RemoveAll(); } } proxy = new SoftvService.ModuleClient(); List <ModuleEntity> lm = lstModule; ViewBag.Permisos = permiso; ViewBag.Menu2 = lm; TipoCambioPass(); } if (this.Session == null || this.Session["Access"] == null) { Session["Access"] = "NG"; // RedirectToRoute("Home/Access"); } int culture = 0; if (this.Session == null || this.Session["CurrentCulture"] == null) { int.TryParse(System.Configuration.ConfigurationManager.AppSettings["Culture"], out culture); this.Session["CurrentCulture"] = culture; } else { culture = (int)this.Session["CurrentCulture"]; } // //SessionManager.CurrentCulture = culture; // // Invokes the action in the current controller context. // base.ExecuteCore(); }