Beispiel #1
0
 public EntornoDeTrabajo(GestorDeTrabajosDeUsuario gestorDelEntorno, TrabajoDeUsuarioDtm trabajoUsuario)
 {
     TrabajoDeUsuario = trabajoUsuario;
     gestorDelEntorno.Contexto.EsElContextosDeUnEntorno = true;
     TrabajoSometido = gestorDelEntorno.Contexto.Set <TrabajoSometidoDtm>().AsNoTracking().First(p => p.Id.Equals(trabajoUsuario.IdTrabajo));
     Sometedor       = gestorDelEntorno.Contexto.Set <UsuarioDtm>().AsNoTracking().First(p => p.Id.Equals(trabajoUsuario.IdSometedor));
     Ejecutor        = gestorDelEntorno.Contexto.Set <UsuarioDtm>().AsNoTracking().First(p => p.Id.Equals(trabajoUsuario.IdEjecutor));
     gestorDelEntorno.Contexto.NombreDelTrabajo = TrabajoSometido.Nombre;
     GestorDelEntorno = gestorDelEntorno;
 }
Beispiel #2
0
        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)));
        }
Beispiel #3
0
 private static void CumplimentarDatosDeConexion(GestorDeTrabajosDeUsuario gestor, UsuarioDtm usuario)
 {
     gestor.Contexto.DatosDeConexion.IdUsuario       = usuario.Id;
     gestor.Contexto.DatosDeConexion.EsAdministrador = usuario.EsAdministrador;
     gestor.Contexto.DatosDeConexion.Login           = usuario.Login;
 }