public DescriptorDePermiso(ContextoSe contexto, ModoDescriptor modo)
            : base(contexto: contexto
                   , controlador: nameof(PermisosController), vista: nameof(PermisosController.CrudPermiso), modo: modo, "Seguridad")
        {
            if (modo == ModoDescriptor.Mantenimiento)
            {
                var modalUsuario   = new DescriptorDeUsuario(contexto, ModoDescriptor.SeleccionarParaFiltrar);
                var fltGeneral     = Mnt.Filtro.ObtenerBloquePorEtiqueta(ltrBloques.General);
                var fltEspecificos = new BloqueDeFitro <PermisoDto>(filtro: Mnt.Filtro, titulo: "Específico", dimension: new Dimension(1, 2));

                new SelectorDeFiltro <PermisoDto, UsuarioDto>(padre: fltGeneral,
                                                              etiqueta: "Usuario",
                                                              filtrarPor: UsuariosPor.AlgunUsuario,
                                                              ayuda: "Seleccionar usuario",
                                                              posicion: new Posicion()
                {
                    fila = 0, columna = 1
                },
                                                              paraFiltrar: nameof(UsuarioDto.Id),
                                                              paraMostrar: nameof(UsuarioDto.NombreCompleto),
                                                              crudModal: modalUsuario,
                                                              propiedadDondeMapear: UsuariosPor.NombreCompleto.ToString());

                new ListaDeElemento <PermisoDto>(padre: fltEspecificos,
                                                 etiqueta: "Clase de permiso",
                                                 ayuda: "selecciona una clase",
                                                 seleccionarDe: nameof(ClasePermisoDto),
                                                 filtraPor: nameof(PermisoDto.IdClase),
                                                 mostrarExpresion: ClasePermisoDto.MostrarExpresion,
                                                 posicion: new Posicion()
                {
                    fila = 0, columna = 0
                });

                new ListaDeElemento <PermisoDto>(padre: fltEspecificos,
                                                 etiqueta: "Tipo de permiso",
                                                 ayuda: "selecciona un tipo",
                                                 seleccionarDe: nameof(TipoPermisoDto),
                                                 filtraPor: nameof(PermisoDto.IdTipo),
                                                 mostrarExpresion: nameof(TipoPermisoDto.Nombre),
                                                 posicion: new Posicion()
                {
                    fila = 1, columna = 0
                });

                AnadirOpciondeRelacion(Mnt
                                       , controlador: nameof(RolesDeUnPermisoController)
                                       , vista: nameof(RolesDeUnPermisoController.CrudRolesDeUnPermiso)
                                       , relacionarCon: nameof(RolDto)
                                       , navegarAlCrud: DescriptorDeMantenimiento <RolesDeUnPermisoDto> .NombreMnt
                                       , nombreOpcion: "Roles"
                                       , propiedadQueRestringe: nameof(PermisoDto.Id)
                                       , propiedadRestrictora: nameof(PermisosDeUnRolDto.IdPermiso)
                                       , "Añadir roles al permiso seleccionado");
            }
        }
        public DescriptorDeAuditoria(ContextoSe contexto, ModoDescriptor modo)
            : base(contexto: contexto
                   , controlador: nameof(AuditoriaController)
                   , vista: $"{nameof(AuditoriaController.CrudDeAuditoria)}"
                   , modo: modo
                   , rutaBase: "Negocio")
        {
            new RestrictorDeFiltro <AuditoriaDto>(bloque: Mnt.BloqueGeneral
                                                  , etiqueta: "Negocio"
                                                  , propiedad: NegocioPor.idNegocio
                                                  , ayuda: "negocio del elemento"
                                                  , new Posicion {
                fila = 0, columna = 0
            });
            new RestrictorDeFiltro <AuditoriaDto>(bloque: Mnt.BloqueGeneral
                                                  , etiqueta: "Elemento"
                                                  , propiedad: nameof(AuditoriaDto.IdElemento)
                                                  , ayuda: "elemento auditado"
                                                  , new Posicion {
                fila = 0, columna = 1
            });

            var modalUsuario = new DescriptorDeUsuario(Contexto, ModoDescriptor.SeleccionarParaFiltrar);

            new SelectorDeFiltro <AuditoriaDto, UsuarioDto>(padre: Mnt.BloqueGeneral,
                                                            etiqueta: "Usuario",
                                                            filtrarPor: UsuariosPor.AlgunUsuario,
                                                            ayuda: "Seleccionar usuario",
                                                            posicion: new Posicion()
            {
                fila = 1, columna = 0
            },
                                                            paraFiltrar: nameof(UsuarioDto.Id),
                                                            paraMostrar: nameof(UsuarioDto.NombreCompleto),
                                                            crudModal: modalUsuario,
                                                            propiedadDondeMapear: UsuariosPor.NombreCompleto.ToString());
        }
Ejemplo n.º 3
0
        public ZonaDeFiltro(DescriptorDeMantenimiento <TElemento> mnt)
            : base(
                padre: mnt,
                id: $"{mnt.Id}_Filtro",
                etiqueta: null,
                propiedad: null,
                ayuda: null,
                posicion: null
                )
        {
            Tipo = enumTipoControl.ZonaDeFiltro;
            var b1 = new BloqueDeFitro <TElemento>(this, ltrBloques.General, new Dimension(1, 2));
            var b2 = new BloqueDeFitro <TElemento>(this, ltrBloques.Comun, new Dimension(2, 2));

            b1.Plegado     = true;
            FiltroDeNombre = new EditorFiltro <TElemento>(bloque: b1, etiqueta: nameof(INombre.Nombre), propiedad: ltrFiltros.Nombre, ayuda: "buscar por nombre", new Posicion {
                fila = 0, columna = 0
            });

            if (ExtensionesDto.ImplementaAuditoria(typeof(TElemento)))
            {
                var modalCreador = new DescriptorDeUsuario(mnt.Crud.Contexto, ModoDescriptor.SeleccionarParaFiltrar, "modal_creador");
                new SelectorDeFiltro <TElemento, UsuarioDto>(padre: b2,
                                                             etiqueta: "Creador",
                                                             filtrarPor: nameof(ElementoDtm.IdUsuaCrea),
                                                             ayuda: "Usuario creador",
                                                             posicion: new Posicion()
                {
                    fila = 1, columna = 0
                },
                                                             paraFiltrar: nameof(UsuarioDto.Id),
                                                             paraMostrar: nameof(UsuarioDto.NombreCompleto),
                                                             crudModal: modalCreador,
                                                             propiedadDondeMapear: UsuariosPor.NombreCompleto.ToString());

                new FiltroEntreFechas <TElemento>(bloque: b2,
                                                  etiqueta: "Creado entre",
                                                  propiedad: nameof(ElementoDtm.FechaCreacion),
                                                  ayuda: "filtrar por rango de fechas",
                                                  posicion: new Posicion()
                {
                    fila = 1, columna = 1
                });

                var modalModificador = new DescriptorDeUsuario(mnt.Crud.Contexto, ModoDescriptor.SeleccionarParaFiltrar, "modal_modificador");
                new SelectorDeFiltro <TElemento, UsuarioDto>(padre: b2,
                                                             etiqueta: "Modificador",
                                                             filtrarPor: nameof(ElementoDtm.IdUsuaModi),
                                                             ayuda: "Usuario modificador",
                                                             posicion: new Posicion()
                {
                    fila = 2, columna = 0
                },
                                                             paraFiltrar: nameof(UsuarioDto.Id),
                                                             paraMostrar: nameof(UsuarioDto.NombreCompleto),
                                                             crudModal: modalModificador,
                                                             propiedadDondeMapear: UsuariosPor.NombreCompleto.ToString());

                new FiltroEntreFechas <TElemento>(bloque: b2,
                                                  etiqueta: "Modificado entre",
                                                  propiedad: nameof(ElementoDtm.FechaModificacion),
                                                  ayuda: "filtrar por rango de fechas",
                                                  posicion: new Posicion()
                {
                    fila = 2, columna = 1
                });

                var idAudtCreacion = $"{b2.Id}_{enumTipoControl.Check.Render()}_auditoria-de-creacion";
                var accionCreacion = $"onclick = javascript:Crud.{GestorDeEventos.EventosDelMantenimiento}('{TipoDeAccionDeMnt.OcultarMostrarColumnas}','{nameof(IAuditadoDto.CreadoEl)}#{nameof(IAuditadoDto.Creador)}');";
                new CheckDeAccionFlt <TElemento>(bloque: b2,
                                                 id: idAudtCreacion,
                                                 etiqueta: "Auditoría de creación",
                                                 ayuda: "muestra la fecha y usuario de creación",
                                                 valorInicial: false,
                                                 posicion: new Posicion(3, 0),
                                                 accion: accionCreacion);

                var idAudtModificacion = $"{b2.Id}_{enumTipoControl.Check.Render()}_auditoria-de-modificacion";
                var accionModificacion = $"onclick = javascript:Crud.{GestorDeEventos.EventosDelMantenimiento}('{TipoDeAccionDeMnt.OcultarMostrarColumnas}','{nameof(IAuditadoDto.ModificadoEl)}#{nameof(IAuditadoDto.Modificador)}');";
                new CheckDeAccionFlt <TElemento>(bloque: b2,
                                                 id: idAudtModificacion,
                                                 etiqueta: "Auditoría de modificación",
                                                 ayuda: "muestra la última fecha y usuario de modificación",
                                                 valorInicial: false,
                                                 posicion: new Posicion(3, 1),
                                                 accion: accionModificacion);
            }
        }
Ejemplo n.º 4
0
        public DescriptorDeCorreos(ContextoSe contexto, ModoDescriptor modo)
            : base(contexto: contexto
                   , controlador: nameof(CorreosController)
                   , vista: $"{nameof(CorreosController.CrudDeCorreos)}"
                   , modo: modo
                   , rutaBase: "TrabajosSometido")
        {
            RenombrarEtiqueta(nameof(INombre.Nombre), "Texto", "Buscar en el asunto o cuerpo del mensaje");
            var UsuarioReceptor = new DescriptorDeUsuario(Contexto, ModoDescriptor.SeleccionarParaFiltrar);

            new SelectorDeFiltro <CorreoDto, UsuarioDto>(padre: Mnt.BloqueGeneral,
                                                         etiqueta: "Receptor",
                                                         filtrarPor: UsuariosPor.eMail,
                                                         ayuda: "Seleccionar usuario receptor",
                                                         posicion: new Posicion()
            {
                fila = 0, columna = 1
            },
                                                         paraFiltrar: nameof(UsuarioDto.Id),
                                                         paraMostrar: nameof(UsuarioDto.NombreCompleto),
                                                         crudModal: UsuarioReceptor,
                                                         propiedadDondeMapear: UsuariosPor.NombreCompleto.ToString());

            var UsuarioCreador = new DescriptorDeUsuario(Contexto, ModoDescriptor.SeleccionarParaFiltrar);

            new SelectorDeFiltro <CorreoDto, UsuarioDto>(padre: Mnt.BloqueComun,
                                                         etiqueta: "Usuario",
                                                         filtrarPor: nameof(CorreoDto.IdUsuario),
                                                         ayuda: "Usuario creador del correo",
                                                         posicion: new Posicion()
            {
                fila = 0, columna = 0
            },
                                                         paraFiltrar: nameof(UsuarioDto.Id),
                                                         paraMostrar: nameof(UsuarioDto.NombreCompleto),
                                                         crudModal: UsuarioCreador,
                                                         propiedadDondeMapear: UsuariosPor.NombreCompleto.ToString());
            new CheckFiltro <CorreoDto>(Mnt.BloqueComun,
                                        etiqueta: "Mostrar los enviados",
                                        filtrarPor: nameof(ltrFltCorreosDto.seHaEnviado),
                                        ayuda: "Sólo los enviados",
                                        valorInicial: false,
                                        filtrarPorFalse: false,
                                        posicion: new Posicion(0, 1));

            new CheckFiltro <CorreoDto>(Mnt.BloqueComun,
                                        etiqueta: "Mostrar los no enviados",
                                        filtrarPor: nameof(ltrFltCorreosDto.NoSeHaEnviado),
                                        ayuda: "Sólo los no enviados",
                                        valorInicial: false,
                                        filtrarPorFalse: false,
                                        posicion: new Posicion(1, 1));

            new FiltroEntreFechas <CorreoDto>(bloque: Mnt.BloqueComun,
                                              etiqueta: "creado entre",
                                              propiedad: nameof(CorreoDto.Creado),
                                              ayuda: "correos creados entre las fechas indicadas",
                                              posicion: new Posicion()
            {
                fila = 1, columna = 0
            });

            new FiltroEntreFechas <CorreoDto>(bloque: Mnt.BloqueComun,
                                              etiqueta: "Enviado entre",
                                              propiedad: nameof(CorreoDto.Enviado),
                                              ayuda: "correos enviados entre las fechas indicadas",
                                              posicion: new Posicion()
            {
                fila = 2, columna = 0
            });

            Editor.MenuDeEdicion.QuitarOpcionDeMenu(TipoDeAccionDeEdicion.ModificarElemento);

            Mnt.OrdenacionInicial = @$ "{nameof(CorreoDto.Creado)}:creado:{enumModoOrdenacion.descendente.Render()};
                                       {nameof(CorreoDto.Enviado)}:enviado:{enumModoOrdenacion.ascendente.Render()}";