Esempio n. 1
0
        private static XElement ObtenMarcado(OpcionMenu opcion)
        {
            XElement          _elemento;
            bool              _esSuperMenu = !opcion.MenuPadre.HasValue;
            List <OpcionMenu> hijos        = opcion.Opciones.Where(op => op.Visible).OrderBy(op => op.Orden).ToList();

            if (hijos.Count > 0)
            {
                List <XElement> _elementosHijo = new List <XElement>();
                foreach (OpcionMenu opcionH in hijos)
                {
                    _elementosHijo.Add(ObtenMarcado(opcionH));
                }
                _elemento = new XElement(_esSuperMenu ? "nav" : "li",
                                         _esSuperMenu ? new XElement("span", opcion.Descripcion,
                                                                     new XElement("img", new XAttribute("src", $"{Rutas.ImagenesMenu}/flecha.png"))) :
                                         new XElement("span", opcion.Descripcion),
                                         new XElement("ul", _elementosHijo));
            }
            else
            {
                _elemento = new XElement(_esSuperMenu ? "nav" : "li",
                                         new XElement("span",
                                                      !string.IsNullOrEmpty(opcion.URI) ?
                                                      new XElement("a",
                                                                   new XText(opcion.Descripcion),
                                                                   new XAttribute("href", opcion.URI)) :
                                                      (XNode) new XText(opcion.Descripcion)
                                                      ));
            }

            return(_elemento);
        }
Esempio n. 2
0
        public List <OpcionMenu> GetOpcionmenuFavoritoByusuario(string cuentaUsuario)
        {
            using (SqlConnection sqlConn = new SqlConnection(this.strConn))
            {
                sqlConn.Open();

                SqlCommand cmd = new SqlCommand(strConn, sqlConn);

                cmd.CommandType = System.Data.CommandType.StoredProcedure;

                cmd.CommandText = "get_menu_favorito";

                cmd.Parameters.AddWithValue("@cuenta_usuario", cuentaUsuario);

                SqlDataReader     reader      = cmd.ExecuteReader();
                List <OpcionMenu> lOpcionmenu = new List <OpcionMenu>();
                while (reader.Read())
                {
                    OpcionMenu mOpcionmenu = new OpcionMenu();

                    mOpcionmenu.Codigoopcionmenu = reader["codigoopcionmenu"].ToString();
                    mOpcionmenu.Descripcion      = reader["descripcion"].ToString();
                    mOpcionmenu.Url    = reader["url"].ToString();
                    mOpcionmenu.Orden  = Convert.ToInt32(reader["orden"]);
                    mOpcionmenu.Estado = reader["estado"].ToString();
                    lOpcionmenu.Add(mOpcionmenu);
                }
                sqlConn.Close();
                return(lOpcionmenu);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Crea las opciones
        /// </summary>
        /// <param name="stringBuilder"></param>
        /// <param name="opcionMenu"></param>
        private static void AgregarSubLista(this StringBuilder stringBuilder, OpcionMenu opcionMenu)
        {
            Encriptar enc = new Encriptar();


            if (opcionMenu.EsEnlace)
            {
                //// Crea los enlaces de las paginas
                string Icoli = "";//@"<span class=""glyphicon glyphicon-hand-right""></span>";
                stringBuilder.AgregarCodigo(string.Format("<li><a href=\"javascript:DirMenu({0})\" >{1} {2}</a>", "'" + enc.encriptartexto(opcionMenu.OptionId) + "'", opcionMenu.Texto, Icoli));
            }
            else
            {
                //// Crea las cabeceras de la paginas
                stringBuilder.AgregarCodigo(string.Format(@"<li  data-toggle=""collapse""  class=""collapsed"" data-target=""#{0}"" "">", opcionMenu.Texto));

                stringBuilder.AgregarCodigo(string.Format(@"<a href=""#""> <i class=""{0}""></i>", opcionMenu.Icono));
                stringBuilder.AgregarCodigo(string.Format("{0}</a>", opcionMenu.Texto));
            }

            if (opcionMenu.OpcionesMenu.Count > 0)
            {
                //stringBuilder.AgregarCodigo(@"<ul class=""dropdown-menu"">");
                stringBuilder.AgregarCodigo(string.Format(@"<ul class=""sub-menu collapse"" id=""{0}"">", opcionMenu.Texto));
                opcionMenu.OpcionesMenu.ForEach(subopcion => stringBuilder.AgregarSubLista(subopcion));
                stringBuilder.AgregarCodigo("</ul>");
            }
            stringBuilder.AgregarCodigo("</li>");
        }
Esempio n. 4
0
        //------------------------------------------------------------

        public bool hasAccess(string action, string controller, string userName, Dictionary <string, Dictionary <string, bool> > dictionaryOptions)
        {
            controller = controller.ToLower();
            action     = action.ToLower();
            if (isHomePageSection(controller, action) || isErrorPage(controller, action))
            {
                // Caso homepage de Ventas, Financiaciones y Banco
                return(true);
            }
            else if (isControllerNameMaintenance(controller) &&
                     isActionNameMaintenance(action) &&
                     (dictionaryOptions.ContainsKey(controller) && (dictionaryOptions[controller][BaseController.SHOW])))
            {
                // Caso de opción que no es de menu pero depende de este (ej: create, edit, delete, details de los mantenimientos que dependen de que se tengan permisos sobre el show)
                action = BaseController.SHOW;
            }

            Usuario u = new Usuario();

            u.Username = userName;
            OpcionMenu om = new OpcionMenu();

            om.Accion      = action;
            om.Controlador = controller;
            return(u.TieneAcceso(om));
        }
 private void LlenaRecursivo(OpcionMenu menu, Permiso permiso)
 {
     if (menu != null)
     {
         foreach (var item in menu.Opciones)
         {
             var permi = new Permiso();
             permi.Id     = item.Id;
             permi.Nombre = item.Nombre;
             permiso.SubModulos.Add(permi);
             LlenaRecursivo(item, permi);
         }
     }
 }
        //------------------------------------------------------------

        private MenuOptionModel mapMenuOptionModel(OpcionMenu opcionMenu, String userName, String IP)
        {
            MenuOptionModel menuOptionModel = new MenuOptionModel();

            menuOptionModel.Action      = opcionMenu.Accion;
            menuOptionModel.Id          = opcionMenu.Codigo;
            menuOptionModel.Controlller = opcionMenu.Controlador;
            menuOptionModel.OpcionName  = opcionMenu.NombreOpcion;
            menuOptionModel.UserName    = userName;
            menuOptionModel.IP          = IP;
            menuOptionModel.SubMenu     = new Dictionary <int, MenuOptionModel>();

            return(menuOptionModel);
        }
Esempio n. 7
0
        public bool crearPerfil(string nombre, List <int> ids)
        {
            List <OpcionMenu> opciones = new List <OpcionMenu>();

            foreach (int id in ids)
            {
                OpcionMenu om = new OpcionMenu();
                om.Id = id;
                opciones.Add(om);
            }

            Perfil oNuevo = new Perfil(0, nombre, opciones);

            return(dao.add(oNuevo));
        }
Esempio n. 8
0
        public List <OpcionMenu> getOpcionesMenuAll()
        {
            List <OpcionMenu> lst = new List <OpcionMenu>();

            string    query = "SELECT OM.* FROM  OpcionMenu OM";
            DataTable t     = DBHelper.getDBHelper().ConsultaSQL(query);

            foreach (DataRow row in t.Rows)
            {
                int        id = int.Parse(row["id_opcion_menu"].ToString());
                OpcionMenu op = new OpcionMenu(id, row["n_opcion"].ToString());
                lst.Add(op);
            }
            return(lst);
        }
        public bool crearPerfil(string nombre, List <int> ids)
        {
            Perfil nuevo = new Perfil();

            nuevo.Nombre = nombre;

            foreach (int id in ids)
            {
                OpcionMenu item = new OpcionMenu();
                item.Id = id;
                nuevo.OpcionesMenu.Add(item);
            }

            return(dao.add(nuevo));
        }
        public List <OpcionMenu> getOpcionesAll()
        {
            string            sql  = "SELECT * FROM OpcionMenu";
            DataTable         data = DBHelper.getDBHelper().ConsultaSQL(sql);
            List <OpcionMenu> list = new List <OpcionMenu>();

            foreach (DataRow row in data.Rows)
            {
                OpcionMenu op = new OpcionMenu();
                op.Id     = Convert.ToInt32(row[0].ToString());
                op.Nombre = row[1].ToString();
                list.Add(op);
            }

            return(list);
        }
Esempio n. 11
0
        public List <OpcionMenu> GetOpcionmenuByPerfil(string strPerfil)
        {
            try
            {
                using (SqlConnection sqlConn = new SqlConnection(this.strConn))
                {
                    sqlConn.Open();

                    SqlCommand cmd = new SqlCommand(strConn, sqlConn);

                    cmd.CommandType = System.Data.CommandType.StoredProcedure;

                    cmd.CommandText = "sp_r_opcionmenubyperfil";

                    cmd.Parameters.AddWithValue("@CodigoPerfil", strPerfil);

                    SqlDataReader reader = cmd.ExecuteReader();



                    List <OpcionMenu> lOpcionmenu = new List <OpcionMenu>();


                    while (reader.Read())
                    {
                        OpcionMenu mOpcionmenu = new OpcionMenu();

                        mOpcionmenu.Codigoopcionmenu = reader["codigoopcionmenu"].ToString();
                        mOpcionmenu.Descripcion      = reader["descripcion"].ToString();
                        mOpcionmenu.Url    = reader["url"].ToString();
                        mOpcionmenu.Orden  = Convert.ToInt32(reader["orden"]);
                        mOpcionmenu.Estado = reader["estado"].ToString();

                        lOpcionmenu.Add(mOpcionmenu);

                        mOpcionmenu = null;
                    }
                    sqlConn.Close();
                    return(lOpcionmenu);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private Perfil mapper(DataRow perfilRow, DataTable opciones)
        {
            Perfil            oPerfil      = new Perfil();
            OpcionMenu        oOpcionMenu  = null;
            List <OpcionMenu> opcionesMenu = new List <OpcionMenu>();

            oPerfil.Id     = Convert.ToInt32(perfilRow["id_perfil"].ToString());
            oPerfil.Nombre = perfilRow["n_perfil"].ToString();
            foreach (DataRow opRow in opciones.Rows)
            {
                oOpcionMenu        = new OpcionMenu();
                oOpcionMenu.Id     = Convert.ToInt32(opRow["id_opcion_menu"].ToString());
                oOpcionMenu.Nombre = opRow["n_opcion"].ToString();
                opcionesMenu.Add(oOpcionMenu);
            }
            oPerfil.OpcionesMenu = opcionesMenu;

            return(oPerfil);
        }
Esempio n. 13
0
        private void AgregarSubOpciones(OpcionAplicacion oap, OpcionMenu opMenu)
        {
            OpcionMenu opcion = null;

            foreach (OpcionAplicacion opcApl in oap.SubOpciones)
            {
                if (opcApl.SubOpciones.Count > 0)
                {
                    //if (oap.Accion == null && oap.Controlador == null)
                    opcion = opMenu.AgregarOpcion(opcApl.Identificacion, opcApl.NombreMenu, false, true, opcApl.Iconos);
                    AgregarSubOpciones(opcApl, opcion);
                    //else
                }
                else
                {
                    opMenu.AgregarOpcion(opcApl.Identificacion, opcApl.NombreMenu, true, opcApl.Iconos);
                }
            }
        }
Esempio n. 14
0
        private MenuPrincipal PedirMenu(int tpoUsuario)
        {
            if (tpoUsuario > 0)
            {
                MenuPrincipal menu     = new MenuPrincipal();
                OpcionMenu    cabecera = null;

                var opcionesAplicaciones = menuqry.GetOpcTpoUsr(tpoUsuario);//qry_opc_tpoUsr.GetOpcTpoUsr(si_persona.First().UserTpo.Id);
                //OpcionAplicacionUsuarioTipoRepository.ObtenerOpcionesAplicacionUsuarioTipo(u.UsuarioTipo.Id);

                foreach (OpcionesUsuario opcAplUsrTpo in opcionesAplicaciones)
                {
                    cabecera = menu.AgregarOpcion(opcAplUsrTpo.MenuAplicacion.Identificacion, opcAplUsrTpo.MenuAplicacion.NombreMenu, false, true, opcAplUsrTpo.MenuAplicacion.Iconos);
                    AgregarSubOpciones(opcAplUsrTpo.MenuAplicacion, cabecera);
                }

                return(menu);
            }
            return(null);
        }
Esempio n. 15
0
        //------------------------------------------------------------

        public Dictionary <string, Dictionary <string, bool> > getPermissiblesControllerAction()
        {
            Dictionary <string, Dictionary <string, bool> > dictionaryControllerAction = new  Dictionary <string, Dictionary <string, bool> >();
            List <OpcionMenu> listOpcionMenu = OpcionMenu.opcionesHabilitables();

            foreach (OpcionMenu opcionMenu in listOpcionMenu)
            {
                if (!dictionaryControllerAction.ContainsKey(opcionMenu.Controlador))
                {
                    Dictionary <string, bool> dictionaryAction = new Dictionary <string, bool>();
                    dictionaryAction.Add(opcionMenu.Accion, true);
                    dictionaryControllerAction.Add(opcionMenu.Controlador, dictionaryAction);
                }
                else
                {
                    dictionaryControllerAction[opcionMenu.Controlador].Add(opcionMenu.Accion, true);
                }
            }

            return(dictionaryControllerAction);
        }
Esempio n. 16
0
        private Perfil mapper(DataRow perfilRow, DataTable opciones)
        {
            Perfil            oPerfil      = new Perfil();
            OpcionMenu        oOpcionMenu  = null;
            List <OpcionMenu> opcionesMenu = new List <OpcionMenu>();

            oPerfil.IdPerfil = Convert.ToInt32(perfilRow["id_perfil"].ToString());
            oPerfil.Nombre   = perfilRow["n_perfil"].ToString();

            //agregamos este atributo tanto en la tabla como en la entidad
            //para trabajar solo con  registros activos, no borrados.
            oPerfil.Borrado = perfilRow["n_perfil"].ToString().Equals("S");
            foreach (DataRow opRow in opciones.Rows)
            {
                oOpcionMenu        = new OpcionMenu();
                oOpcionMenu.Id     = Convert.ToInt32(opRow["id_opcion_menu"].ToString());
                oOpcionMenu.Nombre = opRow["n_opcion"].ToString();
                opcionesMenu.Add(oOpcionMenu);
            }
            oPerfil.OpcionesMenu = opcionesMenu;

            return(oPerfil);
        }
Esempio n. 17
0
        public OpcionMenu GetOpcionmenuBycodigo(string codigo)
        {
            try
            {
                using (SqlConnection sqlConn = new SqlConnection(this.strConn))
                {
                    sqlConn.Open();

                    SqlCommand cmd = new SqlCommand(strConn, sqlConn);

                    cmd.CommandType = System.Data.CommandType.StoredProcedure;

                    cmd.CommandText = "sp_r_opcionmenubyCodigo";

                    cmd.Parameters.AddWithValue("@codigo", codigo);

                    SqlDataReader reader      = cmd.ExecuteReader();
                    OpcionMenu    mOpcionmenu = new OpcionMenu();

                    if (reader.Read())
                    {
                        mOpcionmenu.Codigoopcionmenu = reader["codigoopcionmenu"].ToString();
                        mOpcionmenu.Descripcion      = reader["descripcion"].ToString();
                        mOpcionmenu.Url       = reader["url"].ToString();
                        mOpcionmenu.Orden     = Convert.ToInt32(reader["orden"]);
                        mOpcionmenu.Estado    = reader["estado"].ToString();
                        mOpcionmenu.UrlManual = reader["url_manual"].ToString();
                    }
                    sqlConn.Close();
                    return(mOpcionmenu);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }