示例#1
0
    public static DirectorData?TraerPermiso(string permiso, string DondeBuscarNombre, bool caseSensitiveMatch)
    {
        try
        {
            if (ListaPermisos == null)
            {
                return(null);
            }

            // trae el permiso de existir
            DirectorData p = ListaPermisos.Find(
                delegate(DirectorData dirItem)
            {
                if (caseSensitiveMatch)
                {
                    return(dirItem.servicio.Trim() == DondeBuscarNombre && dirItem.accion == permiso);
                }
                return(dirItem.servicio.Trim().ToLower() == DondeBuscarNombre.ToLower() && dirItem.accion.ToLower() == permiso.ToLower());
            }
                );

            if (p.accion == null && p.servicio == null && p.soapFile == null)
            {
                return(null);
            }

            return(p);
        }
        catch (UsuarioTokenException UTEx)
        {
            throw UTEx;
        }
    }
示例#2
0
    private static void consultarDirector()
    {
        string debug = string.Empty;

        try
        {
            WSGrantForSystemCache.WSGrantForSystemCache dirWs = new WSGrantForSystemCache.WSGrantForSystemCache();
            debug            += "obtengo credenciales\n";
            dirWs.Url         = ConfigurationManager.AppSettings["WSGrantForSystemCache.GrantForSystemGroup"];
            dirWs.Credentials = System.Net.CredentialCache.DefaultCredentials;

            ListaPermisos = new List <DirectorData>();
            DirectorData dirItem;
            List <WSGrantForSystemCache.DTOServicioAction> tmpDirRta;

            debug += "entro al foreach de grupos total:[" + DirGroups.Count.ToString() + "]\n";
            foreach (String dirGroupItem in DirGroups)
            {
                debug += "consultando system: [" + DirSystem + "] - grupo: [" + dirGroupItem + "]\n";
                // Se consulta al director por cada "grupo al que el usuario pertenezca", para el system en cuestion, obvio.
                tmpDirRta =
                    new List <WSGrantForSystemCache.DTOServicioAction>(
                        dirWs.GetGrantFromSystemGroup(DirSystem, dirGroupItem));

                debug += "agrego los permisos para el grupo total:[" + tmpDirRta.Count.ToString() + "]\n";
                // Se guarda en la lista de permisos
                foreach (WSGrantForSystemCache.DTOServicioAction tmpDirRtaItem in tmpDirRta)
                {
                    dirItem = new DirectorData();

                    debug           += "campo servicio: [" + tmpDirRtaItem.servicio.ToString() + "]\n";
                    dirItem.servicio = tmpDirRtaItem.servicio.ToString();
                    debug           += "campo soapFile: [" + tmpDirRtaItem.SoapFile.ToString() + "]\n";
                    dirItem.soapFile = tmpDirRtaItem.SoapFile.ToString();
                    debug           += "campo accion: [" + tmpDirRtaItem.accion.ToString() + "]\n";
                    dirItem.accion   = tmpDirRtaItem.accion.ToString();
                    debug           += "campo perfil: [" + DirGroups.Count + "]\n";
                    // dirItem.accion = DirGroups;


                    ListaPermisos.Add(dirItem);
                }
            }
        }
        catch (Exception ex)
        {
            DirectorData dirItem = new DirectorData();

            //throw new UsuarioTokenException("En consultarDirector debug:[" + debug + "]" + ex.ToString());
        }
    }
示例#3
0
    /// <summary>
    /// Trae el permiso de existir
    /// </summary>
    /// <param name="permiso">Que busco</param>
    /// <param name="DondeBuscarNombre">En donde lo estoy buscando</param>
    /// <returns></returns>
    public static DirectorData?traerPermiso(string permiso, string DondeBuscarNombre)
    {
        if (ListaPermisos == null)
        {
            return(null);
        }

        // trae el permiso de existir
        DirectorData p = ListaPermisos.Find(
            delegate(DirectorData dirItem)
        {
            return(dirItem.servicio.Trim() == DondeBuscarNombre && dirItem.accion == permiso);
        }
            );

        if (p.accion == null && p.servicio == null && p.soapFile == null)
        {
            return(null);
        }
        return(p);
    }
示例#4
0
    private static void realizarAccion(Control ctrl, DirectorData dir)
    {
        /*
         *      PREFIJO EN EL METODO
         *      ====================
         * pnl: Panel
         * btn: Button
         * ddl: DropDownList
         *
         *      else=>no accion
         */

        if (ctrl == null)
        {
            return;
        }

        try
        {
            switch (dir.accion.Substring(0, 3))
            {
            case "pnl":
            {
                Panel obj = (Panel)ctrl;
                if (!String.IsNullOrEmpty(dir.soapFile) && dir.soapFile.ToLower().Trim() == "visible")
                {
                    obj.Visible = true;
                }
                else
                {
                    obj.Enabled = true;
                }

                break;
            }

            case "btn":
            {
                Button obj = (Button)ctrl;
                if (!String.IsNullOrEmpty(dir.soapFile) && dir.soapFile.ToLower().Trim() == "visible")
                {
                    obj.Visible = true;
                }
                else
                {
                    obj.Enabled = true;
                }

                break;
            }

            case "cmd":
            {
                Button obj = (Button)ctrl;
                if (!String.IsNullOrEmpty(dir.soapFile) && dir.soapFile.ToLower().Trim() == "visible")
                {
                    obj.Visible = true;
                }
                else
                {
                    obj.Enabled = true;
                }

                break;
            }

            case "ddl":
            {
                DropDownList obj = (DropDownList)ctrl;
                if (!String.IsNullOrEmpty(dir.soapFile) && dir.soapFile.ToLower().Trim() == "visible")
                {
                    obj.Visible = true;
                }
                else
                {
                    obj.Enabled = true;
                }

                break;
            }

            case "cmb":
            {
                DropDownList obj = (DropDownList)ctrl;
                if (!String.IsNullOrEmpty(dir.soapFile) && dir.soapFile.ToLower().Trim() == "visible")
                {
                    obj.Visible = true;
                }
                else
                {
                    obj.Enabled = true;
                }

                break;
            }

            case "rb_":
            {
                RadioButton obj = (RadioButton)ctrl;
                if (!String.IsNullOrEmpty(dir.soapFile) && dir.soapFile.ToLower().Trim() == "visible")
                {
                    obj.Visible = true;
                }
                else
                {
                    obj.Enabled = true;
                }

                break;
            }
            }
        }
        catch //(Exception ex)
        {
            // no hago nada
        }
    }