Beispiel #1
0
 def nuevo_participante(self, dto):
     """Realiza las correspondientes validaciones con del participante y luego lo agrega al sistema"""
     if dto.nombre in [None, ""]:
         raise FaltaDeDatos("Debe escribir un nombre para este participante.")
     if dto.correo_electronico in [None, ""]:
         raise FaltaDeDatos("Debe escribir un correo electronico para este participante.")
     part = Participante(nombre=dto.nombre, correo_electronico=dto.correo_electronico)
     historial = HistorialNombres(nombre=part.nombre, fecha=datetime.now().date(), id_participante=part.id)
     part.historial_nombres = [historial]
     return GestorCompetencia.get_instance().agregar_participante(
         participante=part, id_competencia=dto.id_competencia
     )
Beispiel #2
0
    def listar_partidas(self, id_participante=None, id_partida=None, id_competencia=None):
        from gestorcompetencia import GestorCompetencia

        lista_partidas = GestorBaseDeDatos.get_instance().listar_partidas(id_participante = id_participante,
                                                                          id_partida = id_partida,
                                                                          id_competencia = id_competencia)
        if id_partida is not None:
            lista_partidas = [lista_partidas]
        lista_dtos = []
        for partida in lista_partidas:
            competencia = GestorCompetencia.get_instance().listar_competencias(id_competencia=partida.id_competencia)[0]
            dto = DTOPartida(partida.id, partida.estado, partida.instancia, partida.local_presente,
                             partida.visitante_presente, partida.id_resultado, partida.participante_local.nombre,
                             partida.participante_visitante.nombre, competencia.permitir_empate,
                             competencia.tipo_puntuacion, competencia.cantidad_de_sets)
            lista_dtos.append(dto)
        return lista_dtos
Beispiel #3
0
 def listar_participantes(self, id_competencia=None, id_participante=None):
     lista_participantes = []
     if id_participante is not None:
         lista_participantes.append(
             GestorBaseDeDatos.get_instance().listar_participantes(id_participante=id_participante)
         )
     else:
         lista_participantes += GestorBaseDeDatos.get_instance().listar_participantes(id_competencia=id_competencia)
     lista = []
     competencia = GestorCompetencia.get_instance().listar_competencias(id_competencia=id_competencia)[0]
     for participante in lista_participantes:
         nombres_en_historial = []
         for nombre in participante.historial_nombres:
             nombres_en_historial.append(nombre.nombre)
         dto_participante = DTOParticipante(
             participante.id,
             participante.nombre,
             participante.correo_electronico,
             competencia.nombre,
             nombres_en_historial,
             None,
         )
         lista.append(dto_participante)
     return lista
Beispiel #4
0
 def agregar_resultado(self, dto):
     from gestorcompetencia import GestorCompetencia
     partida = GestorBaseDeDatos.get_instance().listar_partidas(id_partida = dto.id_partida)
     competencia = GestorCompetencia.get_instance().listar_competencias(id_competencia = partida.id_competencia)
     cantidad_de_sets = competencia[0].cantidad_de_sets
     resultado_new = None
     if dto.tipo == 'porsets':
         lista_de_sets = []
         if not dto.local_presente:
             for sets in range((cantidad_de_sets/2)+1):
                 new_set = Set( puntaje_de_local = 0, puntaje_de_visitante = 6, numero = sets+1)
                 lista_de_sets.append(new_set)
         elif not dto.visitante_presente:
             for sets in range((cantidad_de_sets/2)+1):
                 new_set = Set( puntaje_de_local = 6, puntaje_de_visitante = 0, numero = sets+1)
                 lista_de_sets.append(new_set)
         else:
             for dtoset in dto.lista_dto_sets:
                 new_set = Set( puntaje_de_local = dtoset.puntaje_local, puntaje_de_visitante = dtoset.puntaje_visitante,
                 numero = dtoset.numero_de_set)
                 lista_de_sets.append(new_set)
         resultado_new = ResultadoPorSet(fecha = datetime.now().date(), sets = lista_de_sets)
     elif dto.tipo == 'porresultadofinal':
         if not dto.local_presente:
             resultado_new = ResultadoPorResultadoFinal(fecha = datetime.now().date(), resultado_de_local = 0,
             resultado_de_visitante = 1)
         elif not dto.visitante_presente:
             resultado_new = ResultadoPorResultadoFinal(fecha = datetime.now().date(), resultado_de_local = 1,
             resultado_de_visitante = 0)
         else:
             resultado_new = ResultadoPorResultadoFinal(fecha = datetime.now().date(), resultado_de_local = dto.resultado_local,
             resultado_de_visitante = dto.resultado_visitante)
     elif dto.tipo == 'porpuntuacion':
         dto_competencia = GestorCompetencia.get_instance().listar_competencias(id_competencia=partida.id_competencia)[0]
         puntos_local = dto.resultado_local
         puntos_visitante = dto.resultado_visitante
         if not dto.local_presente:
             puntos_local = 0
             puntos_visitante = dto_competencia.tantos_presentismo
         if not dto.visitante_presente:
             puntos_visitante = 0
             puntos_local = dto_competencia.tantos_presentismo
         resultado_new = ResultadoPorPuntuacion(fecha = datetime.now().date(), puntos_de_local = puntos_local,
             puntos_de_visitante = puntos_visitante)
     if partida.resultado is None:
         dtocompetencia = DTOCompetencia(partida.id_competencia, None, None, 'En Disputa',None, None, None, None, None, None,None,
                              None, None, None, None, None)
         GestorCompetencia.get_instance().modificar_competencia(dtocompetencia)
     partida.resultado = resultado_new
     partida.visitante_presente = dto.visitante_presente
     partida.local_presente = dto.local_presente
     partida.estado = 'Finalizada'
     partida.historial.append(resultado_new)
     GestorBaseDeDatos.get_instance().modificar_partida()
     lista_partidas = GestorBaseDeDatos.get_instance().listar_partidas(id_competencia = partida.id_competencia)
     terminado = 0
     for partidas in lista_partidas:
         if partidas.estado in ['Finalizado', 'Finalizada']:
             terminado += 1
     if terminado == len(lista_partidas):
         dtocompetencia = DTOCompetencia(partida.id_competencia,None, None, 'Finalizada', None, None, None, None, None, None, None,
                          None, None, None, None, None)
         GestorCompetencia.get_instance().modificar_competencia(dtocompetencia)
     return 1