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()); }
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); } }
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()}";