private void ObtenerRoles() { try { List <Rol> lstRoles = _servicioSeguridad.ObtenerRolesUsuario(((Usuario)Session["UserData"]).Id).Where(w => w.Id != (int)BusinessVariables.EnumRoles.Notificaciones).ToList(); if (lstRoles.Count == 1) { RolSeleccionado = lstRoles.First().Id; Session["CargaInicialModal"] = "True"; } if (RolSeleccionado != null) { hfAreaSeleccionada.Value = lstRoles.Single(s => s.Id == int.Parse(RolSeleccionado.ToString())).Descripcion; } if (lstRoles.Any(a => a.Id == (int)BusinessVariables.EnumRoles.Administrador)) { lstRoles.RemoveAll(r => r.Id == (int)BusinessVariables.EnumRoles.AccesoAnalíticos); } rptRolesPanel.DataSource = lstRoles; rptRolesPanel.DataBind(); lblBadgeRoles.Text = lstRoles.Count.ToString(); } catch (Exception ex) { if (_lstError == null) { _lstError = new List <string>(); } _lstError.Add(ex.Message); Alerta = _lstError; } }
protected void lnkBtnRol_OnClick(object sender, EventArgs e) { try { try { Usuario usuario = ((Usuario)Session["UserData"]); RolSeleccionado = int.Parse(((LinkButton)sender).CommandArgument); hfAreaSeleccionada.Value = ((LinkButton)sender).Text; int areaSeleccionada = 0; if (RolSeleccionado != null) { areaSeleccionada = int.Parse(RolSeleccionado.ToString()); } Session["MenuRol"] = _servicioSeguridad.ObtenerMenuUsuario(usuario.Id, areaSeleccionada, areaSeleccionada != 0); rptMenu.DataSource = Session["MenuRol"]; rptMenu.DataBind(); Session["CargaInicialModal"] = "True"; switch (RolSeleccionado) { case (int)BusinessVariables.EnumRoles.Agente: Response.Redirect("~/Agente/DashBoardAgente.aspx"); break; case (int)BusinessVariables.EnumRoles.Administrador: Response.Redirect("~/Users/DashBoard.aspx"); break; case (int)BusinessVariables.EnumRoles.AccesoAnalíticos: Response.Redirect("~/Users/FrmReportes.aspx"); break; default: Response.Redirect("~/Users/FrmDashboardUser.aspx?"); break; } } catch (Exception ex) { if (_lstError == null) { _lstError = new List <string>(); } _lstError.Add(ex.Message); Alerta = _lstError; } } catch (Exception ex) { if (_lstError == null) { _lstError = new List <string>(); } _lstError.Add(ex.Message); Alerta = _lstError; } }
protected void Page_Load(object sender, EventArgs e) { try { HttpCookie myCookie = Request.Cookies[FormsAuthentication.FormsCookieName]; if (myCookie == null || Session["UserData"] == null || (((Usuario)Session["UserData"]).IdTipoUsuario != (int)BusinessVariables.EnumTiposUsuario.Agentes && ((Usuario)Session["UserData"]).IdTipoUsuario != (int)BusinessVariables.EnumTiposUsuario.Empleado && ((Usuario)Session["UserData"]).IdTipoUsuario != (int)BusinessVariables.EnumTiposUsuario.Cliente && ((Usuario)Session["UserData"]).IdTipoUsuario != (int)BusinessVariables.EnumTiposUsuario.Proveedor) || bool.Parse(hfSesionExpiro.Value)) { Session.RemoveAll(); Session.Clear(); Session.Abandon(); FormsAuthentication.SignOut(); FormsAuthentication.RedirectToLoginPage(); Response.Redirect("~/Default.aspx"); } if (Session["UserData"] != null) { if (!_servicioSeguridad.ValidaSesion(((Usuario)Session["UserData"]).Id, SecurityUtils.CreateShaHash(Maquina))) { btnsOut_OnClick(null, null); } } else { Response.Redirect("~/Default.aspx"); } lblBranding.Text = WebConfigurationManager.AppSettings["Brand"]; ucTicketPortal.OnAceptarModal += UcTicketPortal_OnAceptarModal; if (!IsPostBack && Session["UserData"] != null) { Session["Reset"] = true; double tiempoSesion = double.Parse(ConfigurationManager.AppSettings["TiempoSession"]); double timeout = (double)tiempoSesion * 1000 * 60; Page.ClientScript.RegisterStartupScript(GetType(), "SessionAlert", "SessionExpireAlert(" + timeout + ");", true); bool administrador = false, agente = false; Usuario usuario = ((Usuario)Session["UserData"]); if (usuario.UsuarioRol.Any(rol => rol.RolTipoUsuario.IdRol == (int)BusinessVariables.EnumRoles.Administrador)) { administrador = true; } if (usuario.UsuarioRol.Any(rol => rol.RolTipoUsuario.IdRol == (int)BusinessVariables.EnumRoles.Agente)) { agente = true; } if (administrador || agente) { Session["CargaInicialModal"] = true.ToString(); } hfCargaInicial.Value = (Session["CargaInicialModal"] ?? "False").ToString(); lblUsuario.Text = usuario.Nombre; lblTipoUsr.Text = usuario.TipoUsuario.Descripcion; int idUsuario = usuario.Id; imgPerfil.ImageUrl = usuario.Foto != null ? "~/DisplayImages.ashx?id=" + idUsuario : "~/assets/images/profiles/profile-1.png"; ObtenerRoles(); int rolSeleccionado = agente ? (int)BusinessVariables.EnumRoles.Agente : 0; if (RolSeleccionado != null) { rolSeleccionado = int.Parse(RolSeleccionado.ToString()); } if (MenuActivo == null) { LlenaMenu(usuario.Id, rolSeleccionado, rolSeleccionado != 0); } divTickets.Visible = rolSeleccionado != (int)BusinessVariables.EnumRoles.Administrador; //divMensajes.Visible = rolSeleccionado != (int)BusinessVariables.EnumRoles.Administrador; divTickets.Visible = rolSeleccionado == (int)BusinessVariables.EnumRoles.Agente; //divMensajes.Visible = rolSeleccionado == (int)BusinessVariables.EnumRoles.Usuario; divSearch.Visible = rolSeleccionado == (int)BusinessVariables.EnumRoles.AccesoCentroSoporte; } rptMenu.DataSource = MenuActivo; rptMenu.DataBind(); Session["ParametrosGenerales"] = _servicioParametros.ObtenerParametrosGenerales(); if (Session["UserData"] != null && HttpContext.Current.Request.Url.Segments[HttpContext.Current.Request.Url.Segments.Count() - 1] != "FrmCambiarContrasena.aspx") { if (_servicioSeguridad.CaducaPassword(((Usuario)Session["UserData"]).Id)) { Response.Redirect(ResolveUrl("~/Users/Administracion/Usuarios/FrmCambiarContrasena.aspx?confirmaCuenta=true")); } } if (IsPostBack) { if (Page.Request.Params["__EVENTTARGET"] == "Buscador") { Buscador(); } } } catch (Exception ex) { if (_lstError == null) { _lstError = new List <string>(); } _lstError.Add(ex.Message); Alerta = _lstError; } }