示例#1
0
        public bool validarPermisoContacto(int IdMenuWeb, int IdArticulo)
        {
            if (AllowedSections.Contains(IdMenuWeb))
            {
                return(true);
            }

            UsuarioGrupos = GetUsuarioGrupos();
            if (!UsuarioGrupos.Contains("grpVendedor") && !UsuarioGrupos.Contains("grpSupervisor"))
            {
                return(lUsuarioPermisos.Exists(delegate(ePerfilProceso p) { return (p.IdMenuWeb == IdMenuWeb && p.IdArticulo == IdArticulo && IdArticulo > 0) || (p.IdMenuWeb == IdMenuWeb && IdArticulo == 0); }));
            }

            return(true);
        }
        private void FillContent()
        {
            if (oContacto != null)
            {
                litUsuario.Text = oContacto.nombreContacto + " " + oContacto.apellidoPContacto + " " + oContacto.apellidoMContacto;
                litCliente.Text = oCliente != null? oCliente.razonSocial: string.Empty;
            }

            //Cargar Menu Principal
            WebContentUC ucMenu = (WebContentUC)Page.LoadControl(string.Format("~/uc/menu.ascx"));

            plhMenu.Controls.Add(ucMenu);
            LoadUserControl(ucMenu, oPagina);
            LoadUserControl(ucMenu, oSeccionWeb);
            LoadUserControl(ucMenu, IdIdioma);

            lnkHome.NavigateUrl    = ClientScriptHelper.getURLRoot();
            lnkHomeMob.NavigateUrl = lnkHome.NavigateUrl;

            UsuarioGrupos         = GetUsuarioGrupos();
            divClienteSel.Visible = UsuarioGrupos.Contains("grpVendedor") || UsuarioGrupos.Contains("grpSupervisor");
        }
示例#3
0
        public bool validarAccesoReportes(eArticulo oArticulo)
        {
            UsuarioGrupos = GetUsuarioGrupos();

            if (oArticulo.IdEsquema == 50 && !UsuarioGrupos.Contains("grpVendedor") && !UsuarioGrupos.Contains("grpSupervisor"))
            {
                //Validar modulo de Reportes
                string tipo_reporte = ParametroHelper.GetParametro_Valor(oArticulo.Parametro, "Tipo Reporte");
                switch (tipo_reporte)
                {
                case "EJ":
                    return(!oContacto.repEjecutivo.Equals(string.Empty));

                case "EQ":
                    return(!oContacto.repEquipos.Equals(string.Empty));

                case "IN":
                    return(!oContacto.repInforme.Equals(string.Empty));
                }
            }

            return(true);
        }
示例#4
0
        private void LoadRequests()
        {
            _currentPage = Request.Url.Segments[Request.Url.Segments.Length - 1];
            if (restrictedPages.Contains(_currentPage))
            {
                //Excluir Paginas
                return;
            }

            //Validate Header From Login
            if (Request.Headers["iv-user"] != null && oContacto == null)
            {
                string codigoContacto = Request.Headers["iv-user"].ToString();

                if (Request.Headers["iv-groups"] != null)
                {
                    string[] grupos = Request.Headers["iv-groups"].ToString().Replace("\"", "").Split(',');
                    UsuarioGrupos.AddRange(grupos);
                    Trace.Warn("iv-user", Request.Headers["iv-user"].ToString());
                    Trace.Warn("iv-groups", Request.Headers["iv-groups"].ToString());
                }

                if (UsuarioGrupos.Contains("grpVendedor") && Vendedor_Logon(codigoContacto))
                {
                    SaveSessionUsuario();

                    Response.Redirect("~/ClienteSel.aspx");
                    Response.End();
                    return;
                }
                else
                {
                    //if (UsuarioGrupos.Count == 0 && Supervisor_Logon(codigoContacto))
                    if (Supervisor_Logon(codigoContacto))
                    {
                        UsuarioGrupos.AddRange(new string[] { "grpSupervisor" });
                        SaveSessionUsuario();

                        Response.Redirect("~/ClienteSel.aspx");
                        Response.End();
                        return;
                    }
                    else
                    {
                        Contacto_Logon(codigoContacto);
                    }
                }
            }


            //Validar Login al Portal
            if (oContacto == null)
            {
                //Response.Write("No existe el contacto.");
                //Response.End();
                Response.Redirect(ClientScriptHelper.getURLLogin());
                return;
            }

            //Cargar datos de Perfil
            if (UsuarioGrupos.Contains("grpSupervisor"))
            {
                lUsuarioPermisos = lExtranet.PerfilProcesoAdmin_listar(oContacto.IdPerfil);
            }
            else
            {
                lUsuarioPermisos = lExtranet.PerfilProceso_listar(oContacto.IdPerfil);
            }

            Session["UsuarioPermisos"] = lUsuarioPermisos;

            eMenuWebDetalle oMenuWebDetalle = null;

            if (Request["aID"] == null)
            {
                if (Request["lgID"] != null)
                {
                    IdIdioma = Convert.ToInt16(Request["lgID"]);
                }
                else if (Session["IdIdioma"] != null)
                {
                    IdIdioma = Convert.ToInt16(Session["IdIdioma"]);
                }
                Session["IdIdioma"] = IdIdioma;

                IdMenuWeb   = (Request["mwID"] != null) ? Convert.ToInt32(Request["mwID"]) : 0;
                oSeccionWeb = lCMS.MenuWebDetalle_item(IdMenuWeb, IdIdioma);

                if (oSeccionWeb == null)
                {
                    IdMenuWeb   = 1; //Cargar Home Page
                    oSeccionWeb = lCMS.MenuWebDetalle_item(IdMenuWeb, IdIdioma);
                }
                else
                {
                    if (!oSeccionWeb.VerContenido)
                    {
                        if ((oPagina = ClientScriptHelper.getFirstArticulo(oSeccionWeb)) != null)
                        {
                            Response.Redirect(ClientScriptHelper.getEnlace_Articulo(oPagina));
                        }
                    }
                }

                string titulo = "";
                if (_currentPage == "ClienteSel.aspx")
                {
                    titulo = "Selección de Clientes";
                }
                else if (oSeccionWeb.Titulo == "Promociones")
                {
                    titulo = oSeccionWeb.Titulo;
                }
                else if (oSeccionWeb.Titulo == "Reportes")
                {
                    titulo = oSeccionWeb.Titulo;
                }

                SetPageTitle(titulo);
                return;
            }
            else
            {
                oPagina = ClientScriptHelper.ValidarPagina(lCMS.Articulo_item(Convert.ToInt32(Request["aID"])), this.Context);

                if (oPagina != null)
                {
                    IdArticulo = oPagina.IdArticulo;
                    IdMenuWeb  = oPagina.IdMenuWeb;
                    IdIdioma   = oPagina.IdIdioma;

                    if (oMenuWebDetalle == null)
                    {
                        oSeccionWeb = lCMS.MenuWebDetalle_item(oPagina.IdMenuWeb, oPagina.IdIdioma);
                    }

                    SetPageTitle(oPagina.Titulo);
                }
                else
                {
                    ClientScriptHelper.ErrorHandler(404, this.Context);
                }
            }

            //SetMinisite();
            return;
        }