示例#1
0
        protected void Page_Load(object sender, EventArgs e)
        {   
            User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"];

            #region Extra security, just in case a user tries to access a page without login in

            //Sino tiene user y no esta navegando alguna de estas paginas, envialo a ingresar
            if (string.IsNullOrWhiteSpace(user.Email) && (!Page.Title.Equals("Ingresar")
                && !Page.Title.Equals("Información del Usuario") && !Page.Title.Equals("Recuperar Contraseña")
                && !Page.Title.Equals("Bienvenido") && !Page.Title.Equals("Contáctanos")
                && !Page.Title.Equals("Sobre Nosotros") && !Page.Title.Contains("Avería")))
            {
                //Si el user esta registrando una entidad despues de haberse registrado y no ha ingresado 
                if (Page.Title.Equals("ENTIDADES") && string.IsNullOrEmpty((string)Session["Email"]))
                {
                    Response.Redirect("~/Account/Ingresar.aspx");
                }

                else if (!Page.Title.Equals("ENTIDADES"))
                {
                    Response.Redirect("~/Account/Ingresar.aspx");
                }
            } 

            #endregion

            #region Set tab visibilities according to permissions

            #region Transacciones

            Operador operador = new SolicitudInicialRepositorio().GetOperadorByName(user.EmpresaID);

            if (string.IsNullOrEmpty(operador.Nombre))
                responderAvisoLink.Visible = false;

            //if (string.IsNullOrEmpty(user.Nombre))
                multaLink.Visible = !string.IsNullOrEmpty(user.Nombre);

            #endregion

            #region Mantenimiento

            if (!user.Rol.EditarEntidades)
            {
                editCompanies.Visible = false;
            }

            else
            {
                Session["shoulLogOut"] = false;
            }

            if (!user.Rol.VerPantallaDocsReq)
            {
                docReqLink.Visible = false;
            }

            if (!user.Rol.EditarStatusAviso)
            {
                statusLink.Visible = false;
            }

            if (!user.Rol.EditarInspectores)
            {
                inspectoresLink.Visible = false;
            }

            if (!user.Rol.AsignarRoles)
            {
                roleLink.Visible = false;
            }

            if (!user.Rol.VerPantallaDocsReq
                && !user.Rol.EditarStatusAviso
                && !user.Rol.EditarInspectores
                && !user.Rol.AsignarRoles)
            {
                mantLink.Visible = false;
            }

            #endregion

            #region Consultas

            if (string.IsNullOrEmpty(operador.Nombre))
                certCroquisesLink.Visible = false;

            if (!user.Rol.VerConsDataVieja)
            {
                accessLink.Visible = false;

                sqlLink.Visible = false;
            }

            if (!user.Rol.VerMensajero)
            {
                mensajeroLink.Visible = false;
            }

            if (!user.Rol.VerConsAviso)
            {
                avisosLink.Visible = false;
            }

            if (!user.Rol.VerPantallaUsuarios)
            {
                usuariosLink.Visible = false;
            }

            if (!user.Rol.VerAvisoPendAsigInspec)
            {
                AvisoPendAsigInspecLink.Visible = false;
            }

            if (!user.Rol.VerAveriasPendAsigInspector)
            {
                AveriasPendAsigInspecLink.Visible = false;
            }

            if (!user.Rol.VerConsultaAverias)
            {
                AveriasSearchLink.Visible = false;
            }

            if (!user.Rol.VerConsRespuestaAviso)
            {
                respuestasPorAvisoLink.Visible = false;
            }

            if (!user.Rol.VerConsRespuestaOpe)
            {
                respuestaOperadorLink.Visible = false;
            }

            if (!user.Rol.VerExtsNumComFecha)
            {
                extNumEmpFechaStatusLink.Visible = false;
            }

            if (!user.Rol.VerAvisoNumCompFecha)
            {
                avisoNumEmpFechaStatusLink.Visible = false;
            }

            if (!user.Rol.VerConsExtPendRev)
            {
                extPendRevisarLink.Visible = false;
            }

            if (!user.Rol.VerConsAvisoPendRev)
            {
                avisoRevisarLink.Visible = false;
            }

            if (!user.Rol.VerPantallaUsuarios
                && !user.Rol.VerAvisoPendAsigInspec
                && !user.Rol.VerConsRespuestaAviso
                && !user.Rol.VerConsRespuestaOpe
                && !user.Rol.VerExtsNumComFecha
                && !user.Rol.VerAvisoNumCompFecha
                && !user.Rol.VerConsExtPendRev
                && !user.Rol.VerConsAvisoPendRev
                && !user.Rol.VerConsDataVieja)
            {
                consultaLink.Visible = false;
            }

            #endregion

            #region Iniciales

            if (!user.Rol.VerRegistrar)
            {
                registerLink.Visible = false;
            }

            #region Transacciones
            if (!user.Rol.VerAvisoInicial)
            {
                avisoLink.Visible = false;
            }

            if (!user.Rol.VerPantallaInspecciones)
            {
                hojaInspeccionLink.Visible = false;

                inspeccionesLink.Visible = false;
            }

            //if (!user.Rol.VerAvisoInicial
            //    && !user.Rol.VerPantallaInspecciones)
            //{
            //    transactionLink.Visible = false;
            //}

            #endregion

            if (!string.IsNullOrWhiteSpace(user.Email))
            {
                logOutBtn.Visible = true;
            }

            else
            {
                logOutBtn.Visible = false;
            }

            #endregion 

            #region Reportes
            if (user.Rol.ID != (int)Role.TipoRoles.Director
                && user.Rol.ID != (int)Role.TipoRoles.SuperInspector
                && user.Rol.ID != (int)Role.TipoRoles.Admin)
            {
                reportesLink.Visible = false;
            }

            #endregion
            #endregion

            #region Set email link

            userLink.Text = user.Email;

            userLink.NavigateUrl = string.Format("~/Logic/MantUsuarios.aspx?Email={0}", userLink.Text); 

            #endregion
        }
 public SolicitudesInicialesServicio()
 {
     repository = new SolicitudInicialRepositorio();
 }