/// <summary>
        /// Reviso si el usuario tiene permiso para ver esa función.
        /// </summary>
        /// <param name="usuario"></param>
        /// <param name="funcion"></param>
        /// <param name="operaCon"></param>
        /// <returns></returns>
        public void tienePermiso(Usuario usuario, Funcion funcion, Empresa operaCon)
        {
            DataPermisos per = DataFactory.Permisos();
            int tienePermiso = per.TienePermiso(usuario, funcion, operaCon);

            if (tienePermiso != 1 && tienePermiso != 2)
            {
                TienePermiso = false;
            } else
            {
                TienePermiso = true;
            }
        }
        public int TienePermiso(Usuario usuario, Funcion funcion, Empresa OperandoCon)
        {
            string operar;
            if (funcion.EsGenerica)
                operar = "CG";
            else
                operar = OperandoCon.ID;

            EbuySql conex = new EbuySql();
            EbuyQuery query = new EbuyQuery();
            query.Stored = "COC_TienePermisos";
            query.Parametros = new SqlParameter[4];
            query.ConGenerico = false;
            query.Parametros[0] = new SqlParameter("@Puserid", usuario.Empresa.ID);
            query.Parametros[1] = new SqlParameter("@Puser", usuario.UserName);
            query.Parametros[2] = new SqlParameter("@Pfuncion", funcion.Id);
            query.Parametros[3] = new SqlParameter("@Pempresa", operar);

            DataSet ds = conex.ExecuteSP(query);
            DataTable dt = ds.Tables[0];
            return Convert.ToInt32(dt.Rows[0]["Permiso"]);
        }
Exemple #3
0
        protected override void OnLoad(EventArgs e)
        {
            // AR3050052693/
            //PE20305909611
            // AR3367881411
             Session["@Cia"] = "CG";
             Session["@MemoryUser"] = "******";
             Session["@DatosDe"] = "AR3367881411";
               Session["@idioma"] = "ES";
            Session["@usuario"] = "Admin";
            Session["@NombreUsuario"] = "Admin";
            Session["@Pais"] = "PE";

            //Genero la empresa conectada
            Empresa emp = new Empresa();
            emp.ID = EbuySession.Empid;
            emp.EsProveedor = EbuySession.EsProveedor;
            emp.EsAdherente = !EbuySession.EsProveedor;

            // Genero el usuario conectado.
            Usuario Usuario = new Usuario();
            Usuario.UserName = EbuySession.Usuario;

            // Le asigno la empresa
            Usuario.Empresa = emp;

            //Reviso la configuracion del modulo y la pagina actual.
            this.Pagina = System.IO.Path.GetFileName(Request.PhysicalPath);
            string ArchivoConfiguracion = Request.CurrentExecutionFilePath;
            Configuration config = WebConfigurationManager.OpenWebConfiguration(ArchivoConfiguracion.Substring(0, ArchivoConfiguracion.Length - Pagina.Length));
            Modulo = config.AppSettings.Settings["NombreModulo"].Value;

            // Con quien esta operando el usuario.
            Empresa operaCon = new Empresa();

            if (EbuySession.OperaCon != "CG" && EbuySession.OperaCon != null)
            {
                operaCon.ID = EbuySession.OperaCon;
            }
            else
            {
                operaCon.ID = "CG";
            }

            //Busco la funcion donde estoy parado.
            Funcion func = DataFunciones.GetFuncionByPage(Modulo, this.Pagina);
            EbuyMaster master = (EbuyMaster)this.Master;
            master.TituloFuncion = func.Path;

            // Reviso si el usuario tiene permiso para entrar en la funcion.
            PermisoLogic per = LogicFactory.Permisos() ;
            per.tienePermiso(Usuario, func, operaCon);
              /*  if (!per.TienePermiso)
            {
                Response.Redirect("/ebuyplacenet/BackPage.aspx?backurl=/asp/comunes/socios.asp");
            }
            */

            IdiomaLogic Idio = LogicFactory.Idioma();

            IdiomaManager Idioma = IdiomaManager.Instance();

            Idioma.AgregarObjeto(Modulo + "::" + Pagina);
            Idioma.AgregarObjeto("GLOBAL::GLOBAL");

            List<string> textoObjetos = Idioma.Objetos;

            EbuyNegocio.Textos.Idioma id = new EbuyNegocio.Textos.Idioma();
            id.Simbolo = "ES"; // EbuySession.Idioma;
            Idioma.Ejecutar(id);

            //Idioma.Textos = Idio.GetTextosPorObjetos(textoObjetos, id);

            base.OnLoad(e);
        }