public DescriptorDePuestoDeTrabajo(ContextoSe contexto, ModoDescriptor modo) : base(contexto: contexto , nameof(PuestoDeTrabajoController), nameof(PuestoDeTrabajoController.CrudPuestoDeTrabajo), modo, "Seguridad") { AnadirOpciondeRelacion(Mnt , controlador: nameof(UsuariosDeUnPuestoController) , vista: nameof(UsuariosDeUnPuestoController.CrudUsuariosDeUnPuesto) , relacionarCon: nameof(UsuarioDto) , navegarAlCrud: DescriptorDeMantenimiento <UsuariosDeUnPuestoDto> .NombreMnt , nombreOpcion: "Usuarios" , propiedadQueRestringe: nameof(PuestoDto.Id) , propiedadRestrictora: nameof(UsuariosDeUnPuestoDto.IdPuesto) , "Incluir usuarios en el puesto seleccionado"); AnadirOpciondeRelacion(Mnt , controlador: nameof(RolesDeUnPuestoController) , vista: nameof(RolesDeUnPuestoController.CrudRolesDeUnPuesto) , relacionarCon: nameof(RolDto) , navegarAlCrud: DescriptorDeMantenimiento <RolesDeUnPuestoDto> .NombreMnt , nombreOpcion: "Roles" , propiedadQueRestringe: nameof(PuestoDto.Id) , propiedadRestrictora: nameof(RolesDeUnPuestoDto.IdPuesto) , "Añadir roles al puesto seleccionado"); var modalDePermisos = new ModalDeConsultaDeRelaciones <PuestoDto, PermisosDeUnPuestoDto>(mantenimiento: Mnt , tituloModal: "Permisos de un Puesto" , crudModal: new DescriptorDePermisosDeUnPuesto(contexto, ModoDescriptor.Consulta) , propiedadRestrictora: nameof(PermisosDeUnPuestoDto.IdPuesto)); var mostrarPermisos = new ConsultarRelaciones(modalDePermisos.IdHtml, () => modalDePermisos.RenderControl(), "Mostrar los permisos de un puesto de trabajo"); var opcion = new OpcionDeMenu <PuestoDto>(Mnt.ZonaMenu.Menu, mostrarPermisos, $"Permisos", enumModoDeAccesoDeDatos.Consultor); Mnt.ZonaMenu.Menu.Add(opcion); }
public DescriptorDeRolesDeUnPermiso(ContextoSe contexto, ModoDescriptor modo) : base(contexto: contexto , nameof(RolesDeUnPermisoController), nameof(RolesDeUnPermisoController.CrudRolesDeUnPermiso), modo, "Seguridad") { var fltGeneral = Mnt.Filtro.ObtenerBloquePorEtiqueta(ltrBloques.General); new RestrictorDeFiltro <RolesDeUnPermisoDto>(bloque: fltGeneral , etiqueta: "Permiso" , propiedad: nameof(RolesDeUnPermisoDto.IdPermiso) , ayuda: "buscar por permiso" , new Posicion { fila = 0, columna = 0 }); BuscarControlEnFiltro(ltrFiltros.Nombre).CambiarAtributos("Rol", nameof(RolesDeUnPermisoDto.Rol), "Buscar por 'rol'"); var modalDeRoles = new ModalDeRelacionarElementos <RolesDeUnPermisoDto, RolDto>(mantenimiento: Mnt , tituloModal: "Seleccione los roles a relacionar" , crudModal: new DescriptorDeRol(contexto, ModoDescriptor.Relacion) , propiedadRestrictora: nameof(RolesDeUnPermisoDto.IdPermiso)); var relacionarRoles = new RelacionarElementos(modalDeRoles.IdHtml, () => modalDeRoles.RenderControl(), "Seleccionar los roles donde incluir el permiso"); var opcion = new OpcionDeMenu <RolesDeUnPermisoDto>(Mnt.ZonaMenu.Menu, relacionarRoles, $"Roles", enumModoDeAccesoDeDatos.Gestor); Mnt.ZonaMenu.Menu.Add(opcion); AnadirOpciondeRelacion(Mnt , controlador: nameof(PuestosDeUnRolController) , vista: nameof(PuestosDeUnRolController.CrudPuestosDeUnRol) , relacionarCon: nameof(PuestoDto) , navegarAlCrud: DescriptorDeMantenimiento <PuestosDeUnRolDto> .NombreMnt , nombreOpcion: "Puestos" , propiedadQueRestringe: nameof(PuestosDeUnRolDto.IdRol) , propiedadRestrictora: nameof(PuestosDeUnRolDto.IdRol) , ayuda: "Incluir el rol a los puestos seleccionados"); }
public DescriptorDeCpsDeUnMunicipio(ContextoSe contexto, ModoDescriptor modo) : base(contexto: contexto , nameof(CpsDeUnMunicipioController), nameof(CpsDeUnMunicipioController.CrudCpsDeUnMunicipio), modo, rutaBase: "Callejero") { var fltGeneral = Mnt.Filtro.ObtenerBloquePorEtiqueta(ltrBloques.General); new RestrictorDeFiltro <CpsDeUnMunicipioDto>(bloque: fltGeneral , etiqueta: "Municipio" , propiedad: nameof(CpsDeUnMunicipioDto.IdMunicipio) , ayuda: "buscar por municipio" , new Posicion { fila = 0, columna = 0 }); BuscarControlEnFiltro(ltrFiltros.Nombre).CambiarAtributos("Código postal", nameof(CpsDeUnMunicipioDto.CodigoPostal), "Buscar por 'código postal'"); var modalDePuestos = new ModalDeRelacionarElementos <CpsDeUnMunicipioDto, CodigoPostalDto>(mantenimiento: Mnt , tituloModal: "Seleccione los códigos postales a relacionar" , crudModal: new DescriptorDeCodigosPostales(contexto, ModoDescriptor.Relacion) , propiedadRestrictora: nameof(CpsDeUnMunicipioDto.IdMunicipio)); var relacionarCps = new RelacionarElementos(modalDePuestos.IdHtml, () => modalDePuestos.RenderControl(), "Añadir códigos postales a la municipio"); var opcion = new OpcionDeMenu <CpsDeUnMunicipioDto>(Mnt.ZonaMenu.Menu, relacionarCps, $"C.P.", enumModoDeAccesoDeDatos.Gestor); Mnt.ZonaMenu.Menu.Add(opcion); Mnt.OrdenacionInicial = $"{nameof(CpsDeUnMunicipioDto.CodigoPostal)}:CodigoPostal.Codigo:{enumModoOrdenacion.ascendente.Render()}"; }
internal void AnadirOpcionDeCancelarEdicion() { var cancelarEdicion = new CancelarEdicion(); var opcion = new OpcionDeMenu <TElemento>(Menu, cancelarEdicion, $"Cerrar", enumModoDeAccesoDeDatos.Consultor); Menu.Add(opcion); }
internal void AnadirOpcionDeEnviareMail() { if (!(bool)ElementoDto.ValorDelAtributo(typeof(TElemento), nameof(IUDtoAttribute.OpcionDeEnviar))) { return; } var enviarElementos = new EnviarElementos(); if (Mnt.Crud.Negocio == enumNegocio.No_Definido) { enviarElementos.NumeroMaximoEnLaMultiseleccion = 1; } else { if (Mnt.Crud.Negocio.EsUnNegocio()) { //Todo--> añadir variable de correos a enviar y variables de entidades de negocio var negocioDtm = GestorDeNegocios.LeerNegocio(Mnt.Crud.Contexto, Mnt.Crud.Negocio); } enviarElementos.NumeroMaximoEnLaMultiseleccion = 5; } var opcion = new OpcionDeMenu <TElemento>(Menu, enviarElementos, $"Enviar", enumModoDeAccesoDeDatos.Consultor); Menu.Add(opcion); }
public DescriptorDeUsuariosDeUnPuesto(ContextoSe contexto, ModoDescriptor modo) : base(contexto: contexto , nameof(UsuariosDeUnPuestoController), nameof(UsuariosDeUnPuestoController.CrudUsuariosDeUnPuesto), modo, "Seguridad") { var fltGeneral = Mnt.Filtro.ObtenerBloquePorEtiqueta(ltrBloques.General); new RestrictorDeFiltro <UsuariosDeUnPuestoDto>(bloque: fltGeneral , etiqueta: "Puesto" , propiedad: nameof(UsuariosDeUnPuestoDto.IdPuesto) , ayuda: "buscar por puesto" , new Posicion { fila = 0, columna = 0 }); BuscarControlEnFiltro(ltrFiltros.Nombre).CambiarAtributos("Usuario", nameof(UsuariosDeUnPuestoDto.Usuario), "Buscar por 'usuario'"); var modalDePuestos = new ModalDeRelacionarElementos <UsuariosDeUnPuestoDto, UsuarioDto>(mantenimiento: Mnt , tituloModal: "Seleccione los usuarios a relacionar" , crudModal: new DescriptorDeUsuario(contexto, ModoDescriptor.Relacion) , propiedadRestrictora: nameof(UsuariosDeUnPuestoDto.IdPuesto)); var relacionarPuestos = new RelacionarElementos(modalDePuestos.IdHtml, () => modalDePuestos.RenderControl(), "Añadir usuarios al puesto"); var opcion = new OpcionDeMenu <UsuariosDeUnPuestoDto>(Mnt.ZonaMenu.Menu, relacionarPuestos, $"Usuarios", enumModoDeAccesoDeDatos.Gestor); Mnt.ZonaMenu.Menu.Add(opcion); }
internal void AnadirOpcionDeModificarElemento() { var modificarElemento = new ModificarElemento(); var opcion = new OpcionDeMenu <TElemento>(Menu, modificarElemento, $"Modificar", enumModoDeAccesoDeDatos.Gestor); Menu.Add(opcion); }
internal void AnadirOpcionDeNuevoElemento() { var nuevoElemento = new NuevoElemento(); var opcion = new OpcionDeMenu <TElemento>(Menu, nuevoElemento, $"Crear", enumModoDeAccesoDeDatos.Gestor); Menu.Add(opcion); }
public DescriptorDePermisosDeUnRol(ContextoSe contexto, ModoDescriptor modo) : base(contexto: contexto , nameof(PermisosDeUnRolController), nameof(PermisosDeUnRolController.CrudPermisosDeUnRol), modo, "Seguridad") { var fltGeneral = Mnt.Filtro.ObtenerBloquePorEtiqueta(ltrBloques.General); new RestrictorDeFiltro <PermisosDeUnRolDto>(bloque: fltGeneral , etiqueta: "Rol" , propiedad: nameof(PermisosDeUnRolDto.IdRol) , ayuda: "buscar por rol" , new Posicion { fila = 0, columna = 0 }); BuscarControlEnFiltro(ltrFiltros.Nombre).CambiarAtributos("Permiso", nameof(PermisosDeUnRolDto.Permiso), "Buscar por 'permiso'"); //Añade una opcion de menú, para relacionar permisos //- Abre una modal de selección //- Le pasa el id del elemento con el que se va a relacionar (para no mostrar los ya relacionados) //- Al aceptar --> llama al negocio y relaciona los id's //- Al cerrar no hace nada var modalDePermisos = new ModalDeRelacionarElementos <PermisosDeUnRolDto, PermisoDto>(mantenimiento: Mnt , tituloModal: "Seleccione los permisos a relacionar" , crudModal: new DescriptorDePermiso(Contexto, ModoDescriptor.Relacion) , propiedadRestrictora: nameof(PermisosDeUnRolDto.IdRol)); var relacionarPermisos = new RelacionarElementos(modalDePermisos.IdHtml, () => modalDePermisos.RenderControl(), "Seleccionar permisos a relacionar con el rol"); var opcion = new OpcionDeMenu <PermisosDeUnRolDto>(Mnt.ZonaMenu.Menu, relacionarPermisos, $"Permisos", enumModoDeAccesoDeDatos.Gestor); Mnt.ZonaMenu.Menu.Add(opcion); }
internal void AnadirOpcionDeIrACrear() { if (!(bool)ElementoDto.ValorDelAtributo(typeof(TElemento), nameof(IUDtoAttribute.OpcionDeCrear))) { return; } var crearElemento = new CrearElemento(); var opcion = new OpcionDeMenu <TElemento>(Menu, crearElemento, $"Nuevo", enumModoDeAccesoDeDatos.Gestor); Menu.Add(opcion); }
internal void AnadirOpcionDeIrAExportar() { if (!(bool)ElementoDto.ValorDelAtributo(typeof(TElemento), nameof(IUDtoAttribute.OpcionDeExportar))) { return; } var exportarElemento = new ExportarElementos(); var opcion = new OpcionDeMenu <TElemento>(Menu, exportarElemento, $"Exportar", enumModoDeAccesoDeDatos.Consultor); Menu.Add(opcion); }
internal static void AnadirOpciondeRelacion(DescriptorDeMantenimiento <TElemento> Mnt, string controlador, string vista, string relacionarCon, string navegarAlCrud, string nombreOpcion, string propiedadQueRestringe, string propiedadRestrictora, string ayuda) { var accionDeRelacion = new AccionDeRelacionarElemenetos( urlDelCrud: $@"/{controlador.Replace("Controller", "")}/{vista}?origen=relacion" , relacionarCon: relacionarCon , nombreDelMnt: navegarAlCrud , propiedadQueRestringe: propiedadQueRestringe , propiedadRestrictora: propiedadRestrictora , ayuda); var opcion = new OpcionDeMenu <TElemento>(menu: Mnt.ZonaMenu.Menu, accion: accionDeRelacion, tipoAccion: TipoDeLlamada.Post, titulo: $"{nombreOpcion}", enumModoDeAccesoDeDatos.Gestor, enumCssOpcionMenu.DeElemento); Mnt.ZonaMenu.Menu.Add(opcion); }
internal static OpcionDeMenu <TElemento> AnadirOpcionDeDependencias(DescriptorDeMantenimiento <TElemento> Mnt, string controlador, string vista, string datosDependientes, string navegarAlCrud, string nombreOpcion, string propiedadQueRestringe, string propiedadRestrictora, string ayuda) { var accionDeDependencias = new AccionDeGetionarDatosDependientes( urlDelCrud: $@"/{controlador.Replace("Controller", "")}/{vista}?origen=dependencia" , datosDependientes: datosDependientes , nombreDelMnt: navegarAlCrud , propiedadQueRestringe: propiedadQueRestringe , propiedadRestrictora: propiedadRestrictora , ayuda); var opcion = new OpcionDeMenu <TElemento>(menu: Mnt.ZonaMenu.Menu, accion: accionDeDependencias, tipoAccion: TipoDeLlamada.Post, titulo: $"{nombreOpcion}", enumModoDeAccesoDeDatos.Consultor, enumCssOpcionMenu.DeElemento); Mnt.ZonaMenu.Menu.Add(opcion); return(opcion); }
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()}"; }
internal static BodegasContext GenerarOpcionesDeMenu(this BodegasContext db) { if (db.OpcionesDeMenu.Any()) { return(db); } Log.Debug("Generando las opciones de menú por defecto."); var opcionDashboard = new OpcionDeMenu { Titulo = "Dashboard", Icono = "fa-dashboard", Ruta = "Dashboard" }; var opcionGestiones = new OpcionDeMenu { Titulo = "Gestiones", Icono = "fa-cogs", Opciones = new [] { new OpcionDeMenu { Titulo = "Ingresos", Ruta = "IngresosListado" }, new OpcionDeMenu { Titulo = "Egresos", Ruta = "EgresosListado" }, new OpcionDeMenu { Titulo = "Traslados", Ruta = "TrasladosListado" } } }; var opcionManteminientos = new OpcionDeMenu { Titulo = "Mantenimientos", Icono = "fa-database", Opciones = new[] { new OpcionDeMenu { Titulo = "Bodegas", Ruta = "BodegasListado" }, new OpcionDeMenu { Titulo = "Productos", Ruta = "ProductosListado" }, new OpcionDeMenu { Titulo = "Listas", Ruta = "ListasListado" }, new OpcionDeMenu { Titulo = "Proveedores", Ruta = "ProveedoresListado" }, new OpcionDeMenu { Titulo = "Marcas", Ruta = "MarcasListado" }, new OpcionDeMenu { Titulo = "Unidades De Medida", Ruta = "UnidadesDeMedidaListado" } } }; var opcionSeguridad = new OpcionDeMenu { Titulo = "Seguridad", Icono = "fa-lock", Opciones = new[] { new OpcionDeMenu { Titulo = "Usuarios", Ruta = "UsuariosListado" } } }; db.OpcionesDeMenu.Add(opcionDashboard); db.OpcionesDeMenu.Add(opcionGestiones); db.OpcionesDeMenu.Add(opcionManteminientos); db.OpcionesDeMenu.Add(opcionSeguridad); db.SaveChanges(); return(db); }
internal void Add(OpcionDeMenu <TElemento> opcion) { OpcionesDeMenu.Add(opcion); }
public DescriptorDeTrabajosDeUsuario(ContextoSe contexto, ModoDescriptor modo) : base(contexto: contexto , controlador: nameof(TrabajosDeUsuarioController) , vista: $"{nameof(TrabajosDeUsuarioController.CrudDeTrabajosDeUsuario)}" , modo: modo , rutaBase: "TrabajosSometido") { var opcion = new OpcionDeMenu <TrabajoDeUsuarioDto>(Mnt.ZonaMenu.Menu, AccionesDeTu.Iniciar, $"Ejecutar", enumModoDeAccesoDeDatos.Gestor); Mnt.ZonaMenu.Menu.Add(opcion); var opcionBloquear = new OpcionDeMenu <TrabajoDeUsuarioDto>(Mnt.ZonaMenu.Menu, AccionesDeTu.Bloquear, $"Bloquear", enumModoDeAccesoDeDatos.Gestor); Mnt.ZonaMenu.Menu.Add(opcionBloquear); var opcionDesbloquear = new OpcionDeMenu <TrabajoDeUsuarioDto>(Mnt.ZonaMenu.Menu, AccionesDeTu.Desbloquear, $"Desbloquear", enumModoDeAccesoDeDatos.Gestor); Mnt.ZonaMenu.Menu.Add(opcionDesbloquear); var opcionResometer = new OpcionDeMenu <TrabajoDeUsuarioDto>(Mnt.ZonaMenu.Menu, AccionesDeTu.Resometer, $"Resometer", enumModoDeAccesoDeDatos.Gestor); Mnt.ZonaMenu.Menu.Add(opcionResometer); AnadirOpcionDeDependencias(Mnt , controlador: nameof(TrazasDeUnTrabajoController) , vista: nameof(TrazasDeUnTrabajoController.CrudDeTrazasDeUnTrabajo) , datosDependientes: nameof(TrazaDeUnTrabajoDto) , navegarAlCrud: DescriptorDeMantenimiento <TrazaDeUnTrabajoDto> .NombreMnt , nombreOpcion: "Traza" , propiedadQueRestringe: nameof(TrabajoDeUsuarioDto.Id) , propiedadRestrictora: nameof(TrazaDeUnTrabajoDto.IdTrabajoDeUsuario) , "Consultar la traza del trabajo de usuario"); AnadirOpcionDeDependencias(Mnt , controlador: nameof(ErroresDeUnTrabajoController) , vista: nameof(ErroresDeUnTrabajoController.CrudDeErroresDeUnTrabajo) , datosDependientes: nameof(ErrorDeUnTrabajoDto) , navegarAlCrud: DescriptorDeMantenimiento <ErrorDeUnTrabajoDto> .NombreMnt , nombreOpcion: "Errores" , propiedadQueRestringe: nameof(TrabajoDeUsuarioDto.Id) , propiedadRestrictora: nameof(ErrorDeUnTrabajoDto.IdTrabajoDeUsuario) , "Consultar errores del trabajo de usuario"); new FiltroEntreFechas <TrabajoDeUsuarioDto>(bloque: Mnt.BloqueComun, etiqueta: "Planificado", propiedad: nameof(TrabajoDeUsuarioDto.Planificado), ayuda: "trabajos planificados entre", posicion: new Posicion() { fila = 0, columna = 0 }); new FiltroEntreFechas <TrabajoDeUsuarioDto>(bloque: Mnt.BloqueComun, etiqueta: "Ejecutado entre", propiedad: nameof(TrabajoDeUsuarioDto.Iniciado), ayuda: "trabajos ejecutados entre", posicion: new Posicion() { fila = 1, columna = 0 }); Dictionary <string, string> opciones = typeof(enumEstadosDeUnTrabajo).ToDiccionario((x) => TrabajoSometido.EnumeradoToDtm(x)); new ListaDeValores <TrabajoDeUsuarioDto>(Mnt.BloqueGeneral , "Estado" , "Seleccione el estado por el que filtrar" , opciones , nameof(TrabajoDeUsuarioDto.Estado) , new Posicion() { fila = 0, columna = 1 }); Mnt.OrdenacionInicial = @$ "{nameof(TrabajoDeUsuarioDto.Planificado)}:planificado:{enumModoOrdenacion.descendente.Render()}; {nameof(TrabajoDeUsuarioDto.Iniciado)}:iniciado:{enumModoOrdenacion.ascendente.Render()}";