private void DefinirDescriptorDeAuditoria() { if (ExtensionesDto.ImplementaAuditoria(typeof(TElemento))) { var expanDeAuditoria = new DescriptorDeExpansor(Editor, $"{Editor.Id}-audt", "Auditoría", "Información de auditoría"); var fechaCreacion = new EditorDeFecha(expanDeAuditoria, "Creado el", nameof(IAuditadoDto.CreadoEl), "fecha de cuando se creó el elemento"); var fechaModificacion = new EditorDeFecha(expanDeAuditoria, "Modificado el", nameof(IAuditadoDto.ModificadoEl), "fecha de cuando se modificó por última vez"); fechaCreacion.Editable = false; fechaModificacion.Editable = false; var creador = new EditorDeTexto(expanDeAuditoria, "Creado por", nameof(IAuditadoDto.Creador), "Quién lo creó"); var modificador = new EditorDeTexto(expanDeAuditoria, "Modificado por", nameof(IAuditadoDto.Modificador), "Quién lo modificó"); var mostrarHistorico = new NavegarDesdeEdicion(expanDeAuditoria, "Ver auditoría", "Histórico de modificaciones del registro", $"/Auditoria/CrudDeAuditoria/?origen=edicion&negocio={RenderNegocio}"); creador.Editable = false; modificador.Editable = false; Editor.Expanes.Add(expanDeAuditoria); expanDeAuditoria.Controles.Add(fechaCreacion); expanDeAuditoria.Controles.Add(fechaModificacion); expanDeAuditoria.Controles.Add(creador); expanDeAuditoria.Controles.Add(new DivEnBlanco(expanDeAuditoria)); expanDeAuditoria.Controles.Add(modificador); expanDeAuditoria.Controles.Add(new DivEnBlanco(expanDeAuditoria)); expanDeAuditoria.Controles.Add(mostrarHistorico); } }
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); } }