public PuestoDeTrabajoController(GestorDePuestosDeTrabajo gestorDePuesto, GestorDeErrores gestorDeErrores) : base ( gestorDePuesto, gestorDeErrores ) { }
protected override dynamic CargaDinamica(string claseElemento, int posicion, int cantidad, List <ClausulaDeFiltrado> filtros) { if (claseElemento == nameof(UsuarioDto)) { return(GestorDeUsuarios.Gestor(GestorDeElementos.Contexto, GestorDeElementos.Mapeador).LeerUsuarios(posicion, cantidad, filtros)); } if (claseElemento == nameof(PuestoDto)) { return(GestorDePuestosDeTrabajo.Gestor(GestorDeElementos.Contexto, GestorDeElementos.Mapeador).LeerPuestos(posicion, cantidad, filtros)); } return(base.CargaDinamica(claseElemento, posicion, cantidad, filtros)); }
private static void ValidarParametrosDeCorreo(ContextoSe contexto, Dictionary <string, object> parametros) { if (!parametros.ContainsKey(ltrParamCorreos.usuarios) && !parametros.ContainsKey(ltrParamCorreos.puestos)) { GestorDeErrores.Emitir("Debe indicar algún receptor"); } var usuarios = parametros.ContainsKey(ltrParamCorreos.usuarios) ? parametros[ltrParamCorreos.usuarios].ToString().JsonToLista <int>() : new List <int>(); var puestos = parametros.ContainsKey(ltrParamCorreos.puestos) ? parametros[ltrParamCorreos.puestos].ToString().JsonToLista <int>() : new List <int>(); if (usuarios.Count == 0 && puestos.Count == 0) { GestorDeErrores.Emitir("Debe indicar algún receptor"); } var receptores = ""; foreach (var idUsuario in usuarios) { receptores = $"{receptores};{GestorDeUsuarios.LeerUsuario(contexto, idUsuario).eMail}"; } foreach (var idPuesto in puestos) { List <UsuarioDtm> usuariosDeUnPuesto = GestorDePuestosDeTrabajo.LeerUsuarios(contexto, idPuesto); foreach (var usuario in usuariosDeUnPuesto) { receptores = $"{receptores};{GestorDeUsuarios.LeerUsuario(contexto, usuario.Id).eMail}"; } } parametros[ltrParamCorreos.receptores] = receptores.Substring(1).ToLista <string>(); if (((string)parametros[ltrParamCorreos.asunto]).IsNullOrEmpty()) { GestorDeErrores.Emitir("Debe indicar el asunto"); } if (((string)parametros[ltrParamCorreos.cuerpo]).IsNullOrEmpty()) { GestorDeErrores.Emitir("Debe indicar el cuerpo"); } if (parametros.ContainsKey(ltrParamCorreos.adjuntos)) { //var lista = new List<TipoDtoElmento>(); var elementosDto = parametros[ltrParamCorreos.adjuntos].ToString().JsonToLista <TipoDtoElmento>(); //foreach (var elementoDto in elementosDto) //{ // var partes = elementoDto.Split("#:#"); // if (partes.Length != 3) // GestorDeErrores.Emitir($"Intenta enviar un correo adjuntando un elemento mal definido. debe indicar el tipoDto, el IdElemento y la referencia, sólo se han indicado {partes.Length} parámetros"); // if(partes[0].IsNullOrEmpty() || partes[2].IsNullOrEmpty() || partes[1].Entero() == 0) // { // GestorDeErrores.Emitir($"Intenta enviar un correo adjuntando un elemento mal definido. debe indicar el tipoDto, el IdElemento y la referencia, el sistema ha indicado {partes[0]}:{partes[1]}:{partes[2]}"); // } // var elemento = new TipoDtoElmento { TipoDto = partes[0], IdElemento = partes[1].Entero(), Referencia = partes[2]}; // lista.Add(GestorDeNegocios.ValidarElementoDto(elemento)); // } parametros[ltrParamCorreos.adjuntos] = elementosDto; // lista; } //TODO: Validar que las rutas de los archivos o los Ids de los archivos existen }