public CorreosController(GestorDeCorreos gestorDeCorreos, GestorDeErrores gestorDeErrores) : base ( gestorDeCorreos, gestorDeErrores ) { }
public override string RenderControl() { try { var renderCorreo = ""; if (GestorDeCorreos.PermiteElEnvioDeCorreo <TElemento>()) { renderCorreo = $@" <!-- ******************* div de envío de correo *************** --> {Cartero.RenderDeEnvioDeCorreo()} <!-- ********** div de selector de receptor de correo****** --> {Cartero.RenderDeModalesParaSeleccionarReceptores()}"; } var renderMnt = Mnt.RenderDelMantenimiento(); if (ModoDescriptor.Mantenimiento == Modo) { return($@" {renderMnt} <!-- ******************* div de creacion ******************* --> {Creador.RenderDeCreacion()} <!-- ******************* div de edición ******************* --> {Editor.RenderDeEdicion()} <!-- ******************* div de exportacion ******************* --> {Exportador.RenderDeExportacion()} <!-- ******************* div de borrado ******************* --> {Borrado.RenderDelBorrado()} {renderCorreo} <!-- ******************* modales de filtrado ******************* --> {Mnt.Filtro.RenderizarLasModalesDelFiltro()}"); } if (ModoDescriptor.Consulta == Modo) { return($@" {renderMnt} <!-- ******************* div de edición --> {Editor.RenderControl()}"); } return(renderMnt); } catch (Exception e) { return($@" <input id=error>{e.Message}</input> "); } finally { BlanquearListaDeIds(); } }
public static void Exportacion(EntornoDeTrabajo entorno) { Dictionary <string, object> parametros = entorno.TrabajoDeUsuario.Parametros.ToDiccionarioDeParametros(); if (!parametros.ContainsKey(nameof(ElementoDto))) { GestorDeErrores.Emitir("No se ha indicado el ElementoDto de exportación"); } if (!parametros.ContainsKey(nameof(Registro))) { GestorDeErrores.Emitir("No se ha indicado el Registro de exportación"); } var gestor = NegociosDeSe.CrearGestor(entorno.contextoDelProceso, parametros[nameof(Registro)].ToString(), parametros[nameof(ElementoDto)].ToString()); var cantidad = !parametros.ContainsKey(ltrFiltros.cantidad) ? -1 : parametros[ltrFiltros.cantidad].ToString().Entero(); var posicion = !parametros.ContainsKey(ltrFiltros.posicion) ? 0 : parametros[ltrFiltros.posicion].ToString().Entero(); List <ClausulaDeFiltrado> filtros = !parametros.ContainsKey(ltrFiltros.filtro) || parametros[ltrFiltros.filtro].ToString().IsNullOrEmpty() ? new List <ClausulaDeFiltrado>() : JsonConvert.DeserializeObject <List <ClausulaDeFiltrado> >(parametros["filtro"].ToString()); List <ClausulaDeOrdenacion> orden = !parametros.ContainsKey(ltrFiltros.orden) || parametros[ltrFiltros.orden].ToString().IsNullOrEmpty() ? new List <ClausulaDeOrdenacion>() : JsonConvert.DeserializeObject <List <ClausulaDeOrdenacion> >(parametros["orden"].ToString()); var opcionesDeMapeo = new Dictionary <string, object>(); opcionesDeMapeo.Add(ltrParametrosDto.DescargarGestionDocumental, false); Type clase = gestor.GetType(); MethodInfo metodo = clase.GetMethod(nameof(GestorDeElementos <ContextoSe, Registro, ElementoDto> .LeerElementos)); dynamic elementos = metodo.Invoke(gestor, new object[] { posicion, cantidad, filtros, orden, opcionesDeMapeo }); var ficheroConRuta = GenerarExcel(entorno.contextoDelProceso, elementos); GestorDeCorreos.CrearCorreoPara(entorno.contextoDelProceso , new List <string> { parametros[ltrFltCorreosDto.receptores].ToString() } , "Exportación solicitada" , "Se le adjunta el fichero con la exportación solicitada" , new List <TipoDtoElmento>() , new List <string>() { ficheroConRuta } ); }
//END-POINT: desde CrudMantenimiento.Ts public JsonResult epEnviarPorCorreo(string parametrosJson) { var r = new Resultado(); try { ApiController.CumplimentarDatosDeUsuarioDeConexion(Contexto, Mapeador, HttpContext); GestorDeCorreos.CrearCorreoDe(Contexto, parametrosJson); r.Mensaje = $"Correo enviado"; r.ModoDeAcceso = enumModoDeAccesoDeDatos.Consultor.Render(); r.Estado = enumEstadoPeticion.Ok; } catch (Exception e) { ApiController.PrepararError(e, r, "Error al enviar el correo."); } return(new JsonResult(r)); }
public DescriptorDeCrud(ContextoSe contexto, string controlador, string vista, ModoDescriptor modo, string rutaBase, string id = null) : base( padre: null, id: id == null ? $"{NombreCrud}" : id, etiqueta: typeof(TElemento).Name.Replace("Dto", ""), propiedad: null, ayuda: null, posicion: null ) { var elemento = typeof(TElemento).Name.Replace("Dto", ""); RutaBase = rutaBase; Tipo = enumTipoControl.DescriptorDeCrud; Mnt = new DescriptorDeMantenimiento <TElemento>(crud: this, etiqueta: elemento); Controlador = controlador.Replace("Controller", ""); Vista = $@"{vista}"; Contexto = contexto; Modo = modo; DefinirColumnasDelGrid(); Creador = new DescriptorDeCreacion <TElemento>(crud: this, etiqueta: elemento); Editor = new DescriptorDeEdicion <TElemento>(crud: this, etiqueta: elemento); Exportador = new DescriptorDeExportacion <TElemento>(crud: this); if (modo == ModoDescriptor.Mantenimiento) { Mnt.ZonaMenu.AnadirOpcionDeIrACrear(); Mnt.ZonaMenu.AnadirOpcionDeIrAEditar(); Mnt.ZonaMenu.AnadirOpcionDeIrAExportar(); if (GestorDeCorreos.PermiteElEnvioDeCorreo <TElemento>()) { Cartero = new DescriptorDeEnviarCorreo <TElemento>(crud: this); Mnt.ZonaMenu.AnadirOpcionDeEnviareMail(); } Borrado = new DescriptorDeBorrado <TElemento>(crud: this, etiqueta: elemento); Mnt.ZonaMenu.AnadirOpcionDeBorrar(); DefinirDescriptorDeAuditoria(); } }