public void AnadirBloque(BloqueDeFitro <TElemento> bloque) { if (!EstaElBloqueAnadido(bloque.Etiqueta)) { Bloques.Add(bloque); } }
public ListasDinamicas(BloqueDeFitro <TElemento> bloque , string etiqueta , string filtrarPor , string ayuda , string seleccionarDe , string buscarPor , string mostrarExpresion , CriteriosDeFiltrado criterioDeBusqueda , Posicion posicion , string controlador , string restringirPor = "" , string alSeleccionarBlanquearControl = "") : base( padre: bloque , id: $"{bloque.Id}_{enumTipoControl.ListaDeElemento.Render()}_{filtrarPor}" , etiqueta , propiedad: filtrarPor , ayuda , posicion ) { SeleccionarDe = seleccionarDe; FiltrarPor = filtrarPor; BuscarPor = buscarPor; MostrarExpresion = mostrarExpresion; Tipo = enumTipoControl.ListaDinamica; Criterio = criterioDeBusqueda; bloque.AnadirSelectorElemento(this); RestringidoPor = restringirPor; Controlador = controlador.Replace("Controller", ""); AlSeleccionarBlanquearControl = alSeleccionarBlanquearControl; }
public DescriptorDeMenu(ContextoSe contexto, ModoDescriptor modo) : base(contexto: contexto , controlador: nameof(MenusController) , vista: nameof(MenusController.CrudMenu) , modo: modo , rutaBase: "Entorno") { var fltEspecificos = new BloqueDeFitro <MenuDto>(filtro: Mnt.Filtro, titulo: "Específico", dimension: new Dimension(1, 2)); new ListasDinamicas <MenuDto>(bloque: fltEspecificos, etiqueta: "Menu padre", filtrarPor: nameof(MenuDto.idPadre), ayuda: "seleccionar padre", seleccionarDe: nameof(MenuDto), buscarPor: nameof(MenuDto.Nombre), mostrarExpresion: $"[{nameof(MenuDto.Padre)}].[{nameof(MenuDto.Nombre)}]", criterioDeBusqueda: ModeloDeDto.CriteriosDeFiltrado.contiene, posicion: new Posicion() { fila = 0, columna = 0 }, controlador: nameof(MenusController), restringirPor: ""); new CheckFiltro <MenuDto>(bloque: fltEspecificos, etiqueta: "Mostrar las activas", filtrarPor: nameof(MenuDto.Activo), ayuda: "Sólo las activos", valorInicial: false, filtrarPorFalse: false, posicion: new Posicion(0, 1)); }
public FiltroEntreFechas(BloqueDeFitro <TElemento> bloque, string etiqueta, string propiedad, string ayuda, Posicion posicion) : base(bloque, $"{bloque.Id}-{propiedad}", etiqueta, propiedad, ayuda, posicion) { Tipo = Enumerados.enumTipoControl.FiltroEntreFechas; Criterio = CriteriosDeFiltrado.entreFechas; bloque.Tabla.Dimension.CambiarDimension(posicion); bloque.AnadirControlEn(this); }
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 RestrictorDeFiltro(BloqueDeFitro <TElemento> bloque, string etiqueta, string propiedad, string ayuda, Posicion posicion) : base(padre: bloque , id: $"{bloque.Id}-{propiedad}" , etiqueta , propiedad , ayuda , posicion ) { Tipo = enumTipoControl.RestrictorDeFiltro; Criterio = CriteriosDeFiltrado.igual; bloque.Tabla.Dimension.CambiarDimension(posicion); bloque.AnadirControlEn(this); }
public EditorFiltro(BloqueDeFitro <TElemento> bloque, string etiqueta, string propiedad, string ayuda, Posicion posicion) : base(padre: bloque , id: $"{bloque.Id}_{enumTipoControl.Editor.Render()}_{propiedad}" , etiqueta , propiedad , ayuda , posicion ) { Tipo = enumTipoControl.Editor; Criterio = CriteriosDeFiltrado.contiene; bloque.Tabla.Dimension.CambiarDimension(posicion); bloque.AnadirControlEn(this); }
//string etiqueta, string filtrarPor, string ayuda, string seleccionarDe, string buscarPor, string mostrarExpresion, CriteriosDeFiltrado criterioDeBusqueda, Posicion posicion) public ListaDeValores(BloqueDeFitro <TElemento> padre, string etiqueta, string ayuda, Dictionary <string, string> opciones, string filtraPor, Posicion posicion) : base( padre: padre , id: $"{padre.Id}_{enumTipoControl.ListaDeValores.Render()}_{filtraPor}" , etiqueta: etiqueta , filtraPor , ayuda: ayuda , posicion ) { Tipo = enumTipoControl.ListaDeValores; Opciones = opciones; padre.AnadirLista(this); }
public CheckDeAccionFlt(BloqueDeFitro <TElemento> bloque, string id, string etiqueta, string ayuda, bool valorInicial, Posicion posicion, string accion) : base(padre: bloque , id: id , etiqueta , "" , ayuda , posicion ) { Tipo = enumTipoControl.Check; bloque.Tabla.Dimension.CambiarDimension(posicion); bloque.AnadirControlEn(this); ValorInicial = valorInicial; Accion = accion; }
//string etiqueta, string filtrarPor, string ayuda, string seleccionarDe, string buscarPor, string mostrarExpresion, CriteriosDeFiltrado criterioDeBusqueda, Posicion posicion) public ListaDeElemento(BloqueDeFitro <TElemento> padre, string etiqueta, string ayuda, string seleccionarDe, string filtraPor, string mostrarExpresion, Posicion posicion) : base( padre: padre , id: $"{padre.Id}_{enumTipoControl.ListaDeElemento.Render()}_{filtraPor}" , etiqueta: etiqueta , filtraPor , ayuda: ayuda , posicion ) { Tipo = enumTipoControl.ListaDeElemento; SeleccionarDe = seleccionarDe; MostrarExpresion = mostrarExpresion; padre.AnadirSelectorElemento(this); }
public CheckFiltro(BloqueDeFitro <TElemento> bloque, string etiqueta, string filtrarPor, string ayuda, bool valorInicial, bool filtrarPorFalse, Posicion posicion, string accion = null) : base(padre: bloque , id: $"{bloque.Id}_{enumTipoControl.Check.Render()}_{filtrarPor}" , etiqueta , filtrarPor , ayuda , posicion ) { Tipo = enumTipoControl.Check; Criterio = CriteriosDeFiltrado.igual; bloque.Tabla.Dimension.CambiarDimension(posicion); bloque.AnadirControlEn(this); ValorInicial = valorInicial; Accion = accion; }
public SelectorDeFiltro(BloqueDeFitro <TElemento> padre, string etiqueta, string filtrarPor, string ayuda, Posicion posicion, string paraFiltrar, string paraMostrar, DescriptorDeCrud <TSeleccionado> crudModal, string propiedadDondeMapear) : base( padre: padre , id: $"{padre.Id}_{enumTipoControl.SelectorDeFiltro.Render()}_{filtrarPor}" , etiqueta , filtrarPor , ayuda , posicion ) { Tipo = enumTipoControl.SelectorDeFiltro; propiedadParaFiltrar = paraFiltrar.ToLower(); propiedadParaMostrar = paraMostrar.ToLower(); Modal = new ModalDeSeleccionDeFiltro <TElemento, TSeleccionado>(this, crudModal); Criterio = CriteriosDeFiltrado.igual; CrudModal = crudModal; PropiedadDondeMapear = propiedadDondeMapear; padre.AnadirSelector(this); }
public DescriptorDeRol(ContextoSe contexto, ModoDescriptor modo) : base(contexto: contexto , nameof(RolController), nameof(RolController.CrudRol), modo, "Seguridad") { AnadirOpciondeRelacion(Mnt , controlador: nameof(PuestosDeUnRolController) , vista: nameof(PuestosDeUnRolController.CrudPuestosDeUnRol) , relacionarCon: nameof(PuestoDto) , navegarAlCrud: DescriptorDeMantenimiento <PuestosDeUnRolDto> .NombreMnt , nombreOpcion: "Puestos" , propiedadQueRestringe: nameof(RolDto.Id) , propiedadRestrictora: nameof(PuestosDeUnRolDto.IdRol) , "Incluir el rol a los puestos seleccionados"); AnadirOpciondeRelacion(Mnt , controlador: nameof(PermisosDeUnRolController) , vista: nameof(PermisosDeUnRolController.CrudPermisosDeUnRol) , relacionarCon: nameof(PermisoDto) , navegarAlCrud: DescriptorDeMantenimiento <PermisosDeUnRolDto> .NombreMnt , nombreOpcion: "Permisos" , propiedadQueRestringe: nameof(RolDto.Id) , propiedadRestrictora: nameof(PermisosDeUnRolDto.IdRol) , "Añadir permisos al rol seleccionado"); var bloque = new BloqueDeFitro <RolDto>(filtro: Mnt.Filtro, titulo: "Específico", dimension: new Dimension(1, 2)); new ListasDinamicas <RolDto>(bloque: bloque, etiqueta: "Permisos asociado", filtrarPor: nameof(PermisosDeUnRolDto.IdPermiso), ayuda: "roles con el permiso", seleccionarDe: nameof(PermisoDto), buscarPor: nameof(PermisoDto.Nombre), mostrarExpresion: nameof(PermisoDto.Nombre), criterioDeBusqueda: CriteriosDeFiltrado.contiene, posicion: new Posicion(1, 0), controlador: nameof(PermisosController), restringirPor: "").LongitudMinimaParaBuscar = 3; }
public DescriptorDeUsuario(ContextoSe contexto, ModoDescriptor modo, string id) : base(contexto, controlador: nameof(UsuariosController) , vista: $"{nameof(UsuariosController.CrudUsuario)}" , modo: modo , rutaBase: "Entorno" , id) { if (modo == ModoDescriptor.Mantenimiento) { var bloque = new BloqueDeFitro <UsuarioDto>(filtro: Mnt.Filtro, titulo: "Específico", dimension: new Dimension(3, 2)); new SelectorDeFiltro <UsuarioDto, PermisoDto>( padre: bloque, etiqueta: "Permiso", filtrarPor: UsuariosPor.Permisos, ayuda: "Seleccionar Permiso", posicion: new Posicion(0, 0), paraFiltrar: nameof(PermisoDto.Id), paraMostrar: nameof(PermisoDto.Nombre), crudModal: new DescriptorDePermiso(Contexto, ModoDescriptor.SeleccionarParaFiltrar), propiedadDondeMapear: ltrFiltros.Nombre.ToString()); new ListasDinamicas <UsuarioDto>(bloque: bloque, etiqueta: "Puesto de trabajo", filtrarPor: nameof(PuestosDeUnUsuarioDto.IdPuesto), ayuda: "usuarios de este puesto", seleccionarDe: nameof(PuestoDto), buscarPor: nameof(PuestoDto.Nombre), mostrarExpresion: nameof(PuestoDto.Nombre), criterioDeBusqueda: CriteriosDeFiltrado.contiene, posicion: new Posicion(1, 0), controlador: nameof(PuestoDeTrabajoController), restringirPor: "").LongitudMinimaParaBuscar = 1; new ListasDinamicas <UsuarioDto>(bloque: bloque, etiqueta: "Roles", filtrarPor: nameof(RolesDeUnPuestoDto.IdRol), ayuda: "usuarios de un rol", seleccionarDe: nameof(RolDto), buscarPor: nameof(RolDto.Nombre), mostrarExpresion: nameof(RolDto.Nombre), criterioDeBusqueda: CriteriosDeFiltrado.contiene, posicion: new Posicion(2, 0), controlador: nameof(RolController), restringirPor: "").LongitudMinimaParaBuscar = 1; new ListasDinamicas <UsuarioDto>(bloque: bloque, etiqueta: "Permisos", filtrarPor: nameof(PermisosDeUnUsuarioDto.IdPermiso), ayuda: "permisos de un usuario", seleccionarDe: nameof(PermisoDto), buscarPor: nameof(PermisoDto.Nombre), mostrarExpresion: nameof(PermisoDto.Nombre), criterioDeBusqueda: CriteriosDeFiltrado.comienza, posicion: new Posicion(3, 0), controlador: nameof(PermisosController), restringirPor: "").LongitudMinimaParaBuscar = 3; } BuscarControlEnFiltro(ltrFiltros.Nombre).CambiarAtributos("Usuario", UsuariosPor.NombreCompleto, "Buscar por 'apellido, nombre'"); var modalDePermisos = new ModalDeConsultaDeRelaciones <UsuarioDto, PermisosDeUnUsuarioDto>(mantenimiento: Mnt , tituloModal: "Permisos de un usuario" , crudModal: new DescriptorDePermisosDeUnUsuario(Contexto, ModoDescriptor.Consulta) , propiedadRestrictora: nameof(PermisosDeUnUsuarioDto.IdUsuario)); var mostrarPermisos = new ConsultarRelaciones(modalDePermisos.IdHtml, () => modalDePermisos.RenderControl(), "Mostrar los permisos de un usuario"); var opcion = new OpcionDeMenu <UsuarioDto>(Mnt.ZonaMenu.Menu, mostrarPermisos, $"Permisos", enumModoDeAccesoDeDatos.Consultor); Mnt.ZonaMenu.Menu.Add(opcion); AnadirOpciondeRelacion(Mnt , controlador: nameof(PuestosDeUnUsuarioController) , vista: nameof(PuestosDeUnUsuarioController.CrudPuestosDeUnUsuario) , relacionarCon: nameof(PuestoDto) , navegarAlCrud: DescriptorDeMantenimiento <PuestosDeUnUsuarioDto> .NombreMnt , nombreOpcion: "Puestos" , propiedadQueRestringe: nameof(UsuarioDto.Id) , propiedadRestrictora: nameof(PuestosDeUnUsuarioDto.IdUsuario) , "Añadir puestos al usuario seleccionado"); Mnt.OrdenacionInicial = @$ "{nameof(UsuarioDto.NombreCompleto)}:nombre:{enumModoOrdenacion.ascendente.Render()}"; }
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); } }