internal void ComunicarFinalizacion() { if (TrabajoSometido.ComunicarFin) { GestorDeCorreos.CrearCorreoPara(ContextoDelEntorno , new List <string> { Sometedor.eMail } , $"Trabajo {TrabajoSometido.Nombre} finalizado{(TrabajoDeUsuario.Estado == enumEstadosDeUnTrabajo.conErrores.ToDtm() ? " con errores" : "")}" , $"El trabajo {TrabajoSometido.Nombre} de fecha {TrabajoDeUsuario.Encolado} ha finalizado, acceda a la traza{(TrabajoDeUsuario.Estado == enumEstadosDeUnTrabajo.conErrores.ToDtm() ? " y a los errores" : "")} para ver el resultado" , new List <TipoDtoElmento> { new TipoDtoElmento { TipoDto = typeof(TrabajoDeUsuarioDto).FullName, IdElemento = TrabajoDeUsuario.Id, Referencia = TrabajoSometido.Nombre } } , null); } }
internal void ComunicarError(Exception e) { AnotarError(e); if (TrabajoSometido.ComunicarError) { GestorDeCorreos.CrearCorreoPara(ContextoDelEntorno , new List <string> { Sometedor.eMail } , $"Error al ejecutar el trabajo {TrabajoSometido.Nombre}" , $"Error en la ejecución del trabajo {TrabajoSometido.Nombre} de fecha {TrabajoDeUsuario.Encolado}, acceda al mantenimiento de trabajos de usuario para visualizar los errores" , new List <TipoDtoElmento> { new TipoDtoElmento { TipoDto = typeof(TrabajoDeUsuarioDto).FullName, IdElemento = TrabajoDeUsuario.Id, Referencia = TrabajoSometido.Nombre } } , null); } }
public static Task ProcesarCola(this GestorDeTrabajosDeUsuario gestorDelEntorno, UsuarioDtm usuario) { CumplimentarDatosDeConexion(gestorDelEntorno, usuario); var trabajosPorEjecutar = LeerTrabajoPendiente(); if (trabajosPorEjecutar.Count == 1) { bool trazar = CacheDeVariable.Cola_Trazar; if (trazar) { gestorDelEntorno.Contexto.IniciarTraza(trabajosPorEjecutar[0].Nombre); } try { GestorDeTrabajosDeUsuario.Iniciar(gestorDelEntorno.Contexto, trabajosPorEjecutar[0].Id, true); if (trazar) { gestorDelEntorno.Contexto.CerrarTraza("Trabajo finalizado correctamente"); } } catch { if (trazar) { gestorDelEntorno.Contexto.CerrarTraza("Trabajo finalizado con errores"); } } } var gestorDeCorreos = GestorDeCorreos.Gestor(gestorDelEntorno.Contexto, gestorDelEntorno.Contexto.Mapeador); gestorDeCorreos.EnviarCorreoPendientesAsync(); TrabajosDeEntorno.SometerBorrarTrazas(gestorDelEntorno.Contexto); return(Task.FromResult(new ResultadoDelProceso(true))); }