public static object ConsultarMenuUsuarioArbol() { try { AppLog.Write(" Ingrese consultar Menu de usuarios ", AppLog.LogMessageType.Info, null, "OperadorCarpeta"); List<Operacion> operacionesMenuUsua = new List<Operacion>(); List<Operacion> operacionesMenuUsuaPerfiles = new List<Operacion>(); List<Operacion> operacionesMenu = new List<Operacion>(); if (Thread.CurrentPrincipal.Identity.IsAuthenticated) { DaoUsuario daUsuario = new DaoUsuario(); string perfil_actual = ""; List<string> listaPerfilesDelUsuario = new List<string>(); bool IsDevelopment = false; if (SessionHelper.GetSessionData("MenuUsuario") == null && SessionHelper.GetSessionData("PERFIL_ACTUAL")==null) { string usuarioActual = Thread.CurrentPrincipal.Identity.Name; MembershipUser u = Membership.GetUser(usuarioActual); SessionHelper.SetSessionData("USUARIO_AUTENTICADO", u.ProviderUserKey.ToString()); var usuarioAutenticado = daUsuario.ObtnerUsuario(u.ProviderUserKey.ToString()); SessionHelper.SetSessionData("ID_USUARIO_CENTRALIZADOR", usuarioAutenticado.userIdCentralizador); SessionHelper.SetSessionData("USUARIO", usuarioAutenticado); SessionHelper.SetSessionData("IDENTIFICADOR_OPERADOR", "identificadorOperador".GetFromAppCfg()); string[] rolUsuarioPropietario = Roles.GetRolesForUser(usuarioActual); perfil_actual = PERFIL_ACTUAL.ToString(); operacionesMenuUsuaPerfiles = new GestorOperaciones().ConsultarOperacionesMenuPorPrefijoPerfil(rolUsuarioPropietario.ToList()).ToList(); operacionesMenu.AddRange(operacionesMenuUsuaPerfiles); List<Operacion> listaMenu = new List<Operacion>(); listaMenu.Add(new Operacion() { ID_OPERACION = 94, Hijos = null, ID_OPERACION_PADRE = 92, NOMBRE = "Ir al Inicio", URL = "../paginas/Default.aspx", AYUDA = "" }); listaMenu.Add(new Operacion() { ID_OPERACION = 94, Hijos = null, ID_OPERACION_PADRE = 92, NOMBRE = "Cambiar Contraseña", URL = "../RestablecerContrasena/CambiarContrasenia.aspx", AYUDA = "" }); listaMenu.Add(new Operacion() { ID_OPERACION = 93, Hijos = null, ID_OPERACION_PADRE = 92, NOMBRE = "Cerrar", URL = "../Logoff.aspx", AYUDA = "" }); operacionesMenu.Add(new Operacion { ID_OPERACION = 92, Hijos = listaMenu, ID_OPERACION_PADRE = 1, NOMBRE = "Sesión", URL = "", AYUDA = "" }); SessionHelper.SetSessionData("MenuUsuario", operacionesMenu); SessionHelper.SetSessionData("PERFIL_ACTUAL", perfil_actual); } else { operacionesMenu = (List<Operacion>)SessionHelper.GetSessionData("MenuUsuario"); } SessionHelper.SetSessionData("MenuUsuario", operacionesMenu); return new { OK = "OK", Perfil = PERFIL_ACTUAL, EsDesarrollo = IsDevelopment, Menu = operacionesMenu.ToArray(), idusu = "" }; } else { AppLog.Write("La session ha terminado ", AppLog.LogMessageType.Info, null, "OperadorCarpeta"); return new { OK = "SESSIONEND" }; } } catch (EndSessionException end) { AppLog.Write("Su session ha finalizado", AppLog.LogMessageType.Info, end, "OperadorCarpeta"); return new { OK = "Su session ha finalizado" }; } catch (Exception ex) { AppLog.Write(" Error obteniendo el menu del usuario. ", AppLog.LogMessageType.Error, ex, "OperadorCarpeta"); return new { OK = "se presento un error consultando el menu de usuario." }; } }
public static object ConsultarMenuUsuarioArbol() { try { List<Operacion> operacionesMenuUsua = new List<Operacion>(); List<Operacion> operacionesMenuUsuaPerfiles = new List<Operacion>(); List<Operacion> operacionesMenu = new List<Operacion>(); if (Thread.CurrentPrincipal.Identity.IsAuthenticated) { string perfil_actual = ""; List<string> listaPerfilesDelUsuario = new List<string>(); bool IsDevelopment = false; if (SessionHelper.GetSessionData("MenuUsuario") == null) { string usuarioActual = Thread.CurrentPrincipal.Identity.Name; // string nombreUsuario = SessionHelper.GetSessionData("NombreUsuario").ToString(); string[] rolUsuarioPropietario = Roles.GetRolesForUser(usuarioActual); perfil_actual = PERFIL_ACTUAL.ToString(); operacionesMenuUsuaPerfiles = new GestorOperaciones().ConsultarOperacionesMenuPorPrefijoPerfil(rolUsuarioPropietario.ToList()).ToList(); operacionesMenu.AddRange(operacionesMenuUsuaPerfiles); List<Operacion> listaMenu = new List<Operacion>(); listaMenu.Add(new Operacion() { ID_OPERACION = 94, Hijos = null, ID_OPERACION_PADRE = 92, NOMBRE = "Ir al Inicio", URL = "../paginas/Default.aspx", AYUDA = "" }); listaMenu.Add(new Operacion() { ID_OPERACION = 94, Hijos = null, ID_OPERACION_PADRE = 92, NOMBRE = "Cambiar Contraseña", URL = "../RestablecerContrasena/CambiarContrasenia.aspx", AYUDA = "" }); listaMenu.Add(new Operacion() { ID_OPERACION = 93, Hijos = null, ID_OPERACION_PADRE = 92, NOMBRE = "Cerrar", URL = "../Logoff.aspx", AYUDA = "" }); operacionesMenu.Add(new Operacion { ID_OPERACION = 92, Hijos = listaMenu, ID_OPERACION_PADRE = 1, NOMBRE = "Sesión", URL = "", AYUDA = "" }); SessionHelper.SetSessionData("MenuUsuario", operacionesMenu); } else { operacionesMenu = (List<Operacion>)SessionHelper.GetSessionData("MenuUsuario"); } SessionHelper.SetSessionData("MenuUsuario", operacionesMenu); return new { OK = "OK", Perfil = PERFIL_ACTUAL, EsDesarrollo = IsDevelopment, Menu = operacionesMenu.ToArray(), idusu = "" }; } else { AppLog.Write("La session ha terminado ", AppLog.LogMessageType.Info, null, "HotelLog"); return new { OK = "SESSIONEND" }; } } catch (EndSessionException end) { AppLog.Write("Su session ha finalizado", AppLog.LogMessageType.Info, end, "HotelLog"); return new { OK = "Su session ha finalizado" }; } catch (Exception ex) { AppLog.Write(" Error obteniendo el menu del usuario. ", AppLog.LogMessageType.Error, ex, "HotelLog"); return new { OK = "se presento un error consultando el menu de usuario." }; } }