예제 #1
0
        private static void CrearMenuSiNoExiste(GestorDeMenus gestorDeMenu, string nombre, string descripcion, string icono, string padre, string vista, int orden)
        {
            var menus   = padre.Split(".");
            int idPadre = 0;

            foreach (var menu in menus)
            {
                var padresDtm = BuscarMenu(gestorDeMenu, menu, idPadre);
                if (padresDtm.Count == 0)
                {
                    throw new Exception($"No está definido el padre {menu}, para el idPadre {idPadre}");
                }

                idPadre = padresDtm[0].Id;
            }

            List <MenuDtm> menusDtm = BuscarMenu(gestorDeMenu, nombre, idPadre);

            if (menusDtm.Count == 0)
            {
                var menuDtm = new MenuDtm();
                menuDtm.Nombre      = nombre;
                menuDtm.Descripcion = descripcion;
                menuDtm.Icono       = icono;
                menuDtm.Orden       = orden;
                menuDtm.Activo      = true;


                menuDtm.IdPadre = idPadre;

                var gestorDeVista = GestorDeVistaMvc.Gestor(gestorDeMenu.Contexto, gestorDeMenu.Contexto.Mapeador);
                var vistaDtm      = gestorDeVista.LeerRegistro(nameof(VistaMvcDtm.Nombre), vista, true, true, false, false, aplicarJoin: false);
                menuDtm.IdVistaMvc = vistaDtm.Id;

                gestorDeMenu.PersistirRegistro(menuDtm, new ParametrosDeNegocio(enumTipoOperacion.Insertar));
            }
        }
        public bool TienePermisoFuncional(UsuarioDtm usuarioConectado, object elemento)
        {
            var gestorDeVista = GestorDeVistaMvc.Gestor(Contexto, Mapeador);

            return(gestorDeVista.TienePermisos(usuarioConectado, (string)elemento));
        }