public void cerrarEdicion(int idEdicion) { cambiarEstado(Estado.edicionFINALIZADA); //Cambia estado edición: de Iniciada a FINALIZADA cambiarEstadoAFase(edicion.idEdicion, faseActual.idFase, Estado.faseFINALIZADA); // Cambiar estado Fase a FINALIZADA DAOPartido daoPartido = new DAOPartido(); DAOFecha daoFecha = new DAOFecha(); daoPartido.cambiarEstadosAPartidos(Estado.partidoCANCELADO, edicion.idEdicion); //De todos los partidos que no han sido jugados, les cambia el estado a CANCELADO daoFecha.cambiarEstadosAFechas(Estado.fechaCOMPLETA, edicion.idEdicion); // Pone a todas las fechas como COMPLETAS }
public void cancelarEdicion(int idEdicion) { if (edicion.estado.idEstado != Estado.edicionREGISTRADA) {//la edición está CONFIGURADA O INICIADA DAOFase daoFase = new DAOFase(); DAOFecha daoFecha = new DAOFecha(); DAOPartido daoPartido = new DAOPartido(); //Le pone estado Cancelada a todas las fases que no estén finalizadas daoFase.cambiarEstadoAFasesIncompletasYDiagramadas(edicion.idEdicion, Estado.edicionCANCELADA); //Le pone estado Cancelado a todos los partidos que no están jugados daoPartido.cambiarEstadosAPartidos(Estado.partidoCANCELADO, edicion.idEdicion); daoFecha.cambiarEstadosAFechasIncompletas(Estado.fechaCANCELADA, edicion.idEdicion); } cambiarEstado(Estado.edicionCANCELADA);//Cambia estado edición: de Iniciada a FINALIZADA }
/// <summary> /// Cierra la fase anterior a la actual, y actualiza todas las fases posteriores segun lo haya configurado el usuario. /// </summary> /// <param name="edicion">La edicion que contiene las fases a modificar</param> /// <param name="idFaseActual">El numero de fase que acaba de crear el usuario.</param> public void cerrarFaseYActualizarPosteriores(Edicion edicion, int idFaseActual) { SqlConnection con = new SqlConnection(cadenaDeConexion); SqlCommand cmd = new SqlCommand(); SqlTransaction trans = null; try { if (con.State == ConnectionState.Closed) { con.Open(); } trans = con.BeginTransaction(); cmd.Connection = con; cmd.Transaction = trans; DAOPartido daoPartido = new DAOPartido(); DAOFecha daoFecha = new DAOFecha(); cerrarFase(idFaseActual - 1, edicion.idEdicion, cmd); daoPartido.cambiarEstadosAPartidos(Estado.partidoCANCELADO, edicion.idEdicion, idFaseActual - 1, cmd); daoFecha.cambiarEstadosAFechas(Estado.fechaCOMPLETA, edicion.idEdicion, idFaseActual - 1, cmd); actualizarFasesPosteriores(edicion.fases, idFaseActual, cmd); trans.Commit(); } catch (Exception ex) { cmd.Transaction.Rollback(); throw new Exception("No se pudo cambiar el estado de la Fase: " + ex.Message); } finally { if (con != null && con.State == ConnectionState.Open) { con.Close(); } } }