public static void Desbloquear(ContextoSe contexto, int idTrabajoDeUsuario) { var gestor = Gestor(contexto); var tu = gestor.LeerRegistroPorId(idTrabajoDeUsuario, true, true, true, aplicarJoin: true); try { if (tu.Estado != TrabajoSometido.ToDtm(enumEstadosDeUnTrabajo.Bloqueado)) { throw new Exception($"El trabajo no se puede desbloquear, ha de estar en estado bloqueado y está en estado {TrabajoSometido.ToDto(tu.Estado)}"); } tu.Estado = TrabajoSometido.ToDtm(enumEstadosDeUnTrabajo.Pendiente); gestor.PersistirRegistro(tu, new ParametrosDeNegocio(enumTipoOperacion.Modificar)); GestorDeTrazasDeUnTrabajo.AnotarTraza(contexto, tu, $"Trabajo desbloqueado por el usuario {contexto.DatosDeConexion.Login}"); } catch (Exception e) { GestorDeErroresDeUnTrabajo.AnotarError(contexto, tu, e); GestorDeTrazasDeUnTrabajo.AnotarTraza(contexto, tu, $"El usuario {contexto.DatosDeConexion.Login} no ha podido desbloquear el trabajo"); throw; } }
public void AnotarError(Exception e) { GestorDeErroresDeUnTrabajo.AnotarError(ContextoDelEntorno, TrabajoDeUsuario, e); }