예제 #1
0
        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;
            }
        }
예제 #2
0
        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;
            }
        }
예제 #3
0
        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;
            }
        }