public List <MenuDTO> ListarMenuPrincipalAccesos(string idTipoUsuario) { List <MenuDTO> menuReturn = new List <MenuDTO>(); List <MenuPrincipal> menu = this.ObtenerMenuPrincipal(); TipoUsuario tipoUsuario = this.TipoUsuarioObtener(idTipoUsuario.ConvertirInt()); TipoUsuarioAcceso tipoUsuarioAcceso = null; NivelAcceso permiso = null; menu.ForEach(delegate(MenuPrincipal menuPrincipal) { List <MenuSecundario> items = menuPrincipal.Items.ToList <MenuSecundario>() .OrderBy(item => item.Orden) .ToList <MenuSecundario>(); if (items == null || items.Count == 0) { tipoUsuarioAcceso = tipoUsuario.Permisos.ToList <TipoUsuarioAcceso>().Find(delegate(TipoUsuarioAcceso acceso) { return(acceso.IdMenuPrincipal == menuPrincipal.Id); }); if (tipoUsuarioAcceso != null) { permiso = tipoUsuarioAcceso.NivelAcceso; } else { permiso = new NivelAcceso((int)NIVEL_ACCESO.SIN_ACCESO, "SIN ACCESO"); } } else { permiso = new NivelAcceso(0, string.Empty); } menuReturn.Add(new MenuDTO(menuPrincipal.Id, menuPrincipal.Descripcion, -1, string.Empty, permiso.Id, permiso.Descripcion)); items.ForEach(delegate(MenuSecundario menuSecundario) { tipoUsuarioAcceso = tipoUsuario.Permisos.ToList <TipoUsuarioAcceso>().Find(delegate(TipoUsuarioAcceso acceso) { return(acceso.IdMenuSecundario == menuSecundario.Id); }); if (tipoUsuarioAcceso != null) { permiso = tipoUsuarioAcceso.NivelAcceso; } else { permiso = new NivelAcceso((int)NIVEL_ACCESO.SIN_ACCESO, "SIN ACCESO"); } menuReturn.Add(new MenuDTO(menuPrincipal.Id, string.Empty, menuSecundario.Id, menuSecundario.Descripcion, permiso.Id, permiso.Descripcion)); }); }); return(menuReturn); }
public void ObtenerNivelAcceso(Guid uid) { _NivelAcceso = repositorioNiveles.Find(uid); }
public void ObtenerNivelAccesoPorNombre(string nombre) { _NivelAcceso = repositorioNiveles.FindByName(nombre); }
public ActionResult Inicio(string u, string a, string t, string na, string p) { List <NivelAcceso> coleccionNivelAcceso = new List <NivelAcceso>(); NivelAcceso nivelAcceso = new NivelAcceso(); SesionAplicacion objAplicacion = new SesionAplicacion(); List <Parametros> param = new List <Parametros>(); string tokenPortal; List <string> permisos = new List <string>(); List <Token> tokens = new List <Token>(); Token objToken = new Token(); //comentar para probar Session["UserIdApp"] = ViewBag.UserIdApp = u; Session["App"] = ViewBag.App = a; Session["TknApp"] = t; Session["IdNivelAcceso"] = na; Session["IdPortal"] = p; // ViewBag.CerrarVentana = false; //------------------------- try { if (u != null || u != "") { // tokens = objToken.consultarTokenAplicacionPadre(Session["UserIdApp"].ToString(), p) ?? new List<Token>(); tokens = objToken.consultarTokenAplicacionPadre(u, p) ?? new List <Token>(); } if (tokens.Any(x => x.idAplicacion == a)) // Verifica que ya exista un token para la aplicacion { objToken = tokens.Find(x => x.idAplicacion == a); if (t == objToken.token) // SE VALIDA SI EL TOKEN DE LA APLICACION CORRESPONDE AL TOKEN EN LA BD { string MAC = objAplicacion.GetMACAddress(); objAplicacion.getActualizarTokenAplicacion(u, a, p, t, MAC, out param); if (param.Find(x => x.Nombre == "p_Salida").Valor == "1") // SE VALIDA SI SE GENERO BIEN UN NUEVO TOKEN DE APLICACION { // Session["TknApp"] = param.Find(x => x.Nombre == "p_TokenGenerado").Valor; TempData["tk"] = param.Find(x => x.Nombre == "p_TokenGenerado").Valor; tokenPortal = tokens.Find(x => x.idAplicacion == p).token; // Crea la cookie de sesion para el módulo IGED var SesionIged = new HttpCookie("SesionIged"); SesionIged["UserIdApp"] = u; SesionIged["App"] = a; SesionIged["TknApp"] = param.Find(x => x.Nombre == "p_TokenGenerado").Valor; SesionIged["Fecha"] = String.Format("{0:dd/MM/yyyy HH:mm:ss}", DateTime.Now); SesionIged["IdNivelAcceso"] = na; SesionIged["IdPortal"] = p; ViewBag.CerrarVentana = false; ViewBag.Lista = null; //cargarOpciones(); ViewBag.BusquedaMaestro = "SI"; param = new List <Parametros>(); objAplicacion.nombresCompletosUsuario(u, out param); //Session["NombresUsuario"] = param.Find(x => x.Nombre == "p_Nombres").Valor; //Session["USUARIO"] = param.Find(x => x.Nombre == "p_Usuario").Valor; //Session["NIVELACCESO"] = coleccionNivelAcceso; SesionIged["NombresUsuario"] = param.Find(x => x.Nombre == "p_Nombres").Valor; SesionIged["USUARIO"] = param.Find(x => x.Nombre == "p_Usuario").Valor; coleccionNivelAcceso = nivelAcceso.consultarNivelAcceso(u, a); var serializedData = Newtonsoft.Json.JsonConvert.SerializeObject(coleccionNivelAcceso); SesionIged["NIVELACCESO"] = serializedData; SesionIged.Expires = DateTime.Now.AddHours(8); Response.Cookies.Add(SesionIged); Encuesta objSesion = new Encuesta(); //borrado session para el usuario objSesion.eliminarSesionIdUsuario(u); //CAMBIO SESIONES --insercion primera vez string variables = "ID_USUARIO,PERFILES,VALIDAPERFIL,MODELO,MODELOHOGAR,VALINCLUIDO,GRUPOVICTIMA,CODHOGAR,"; variables = variables + "TEMASVALIDAR,CAPTERMI,TEMA,IDTEMA,FLUJO,COLLECIONPERSONAS,PREGUNTAACTUAL,LISTADEPARTAMENTOS,"; variables = variables + "LISTAMUNICIPIOS,OPCIONESRESPUESTA,LISTAAUTO,TEMAS,PREGUNTAINICIAL,LISTADEPARTAMENTOSDT,LISTADT,LISTAPA,SYSGUID,LISTAMU,MODELOPERSONA"; objSesion.insertarVariablesSesion(variables, u); return(View("Inicio")); // return View("~/Views/Encuesta/ConformacionHogar.cshtml"); } else { TempData["inv"] = "Token de Sesión para la aplicación invalido."; } } else { TempData["inv"] = "Token de Sesión para la aplicación invalido."; } } else { TempData["inv"] = "Token de Sesión para la aplicación invalido."; } //----------- } catch (Exception e) { TempData["inv"] = e.Message.ToString(); } return(View("SesionInvalida")); }