public TrabajosBatch ObtenerSiguieteTrabajo(string nombreCola)
        {
            TrabajosBatch trabajo = null;

            using (var context = new IFaseDbContext())
            {
                trabajo = context.TrabajosBatch.Where(p => p.IdCola == nombreCola && p.Estado == EstadoProceso.Pendiente).FirstOrDefaultAsync <TrabajosBatch>().Result;
            }
            return(trabajo);
        }
        private void MarcarTrabajo(TrabajosBatch trabajoBatch, EstadoProceso estado)
        {
            trabajoBatch.Estado            = estado;
            trabajoBatch.FechaFinalizacion = DateTime.Now;

            using (var context = new IFaseDbContext())
            {
                context.TrabajosBatch.Attach(trabajoBatch);
                context.Entry(trabajoBatch).State = EntityState.Modified;
                GuardarCambios($"No se ha podido marcar el trabajo como {estado.ToString()}.", context);
            }
        }
 public void MarcarTrabajoEnEjecucion(TrabajosBatch trabajoBatch)
 {
     MarcarTrabajo(trabajoBatch, EstadoProceso.EnEjecucion);
 }
 public void MarcarTrabajoErroneo(TrabajosBatch trabajoBatch)
 {
     MarcarTrabajo(trabajoBatch, EstadoProceso.FinalizadoConErrores);
 }
 public void MarcarTrabajoAbortado(TrabajosBatch trabajoBatch)
 {
     MarcarTrabajo(trabajoBatch, EstadoProceso.Abortado);
 }
 public void MarcarTrabajoCorrecto(TrabajosBatch trabajoBatch)
 {
     MarcarTrabajo(trabajoBatch, EstadoProceso.FinalizadoSinErrores);
 }