Exemple #1
0
        public Guid AgregarEncuentro(Encuentro encuentro)
        {
            if (DatosInvalidosEncuentro(encuentro))
            {
                throw new EncuentroDataException();
            }

            Deporte deporte = _deportesRepository.ObtenerDeportePorNombre(encuentro.Deporte.Nombre);

            if (deporte == null)
            {
                throw new NoExisteDeporteException();
            }

            Equipo equipoLocal     = _equiposRepository.ObtenerEquipoPorDeporte(encuentro.Deporte.Nombre, encuentro.EquipoLocal.Nombre);
            Equipo equipoVisitante = _equiposRepository.ObtenerEquipoPorDeporte(encuentro.Deporte.Nombre, encuentro.EquipoVisitante.Nombre);

            if (equipoLocal == null || equipoVisitante == null)
            {
                throw new NoExisteEquipoException();
            }

            if (_encuentrosRepository.ExisteEncuentroEnFecha(encuentro.FechaHora, equipoLocal.Id) ||
                _encuentrosRepository.ExisteEncuentroEnFecha(encuentro.FechaHora, equipoVisitante.Id))
            {
                throw new ExisteEncuentroEnFecha();
            }

            encuentro.EquipoLocal.Id     = equipoLocal.Id;
            encuentro.EquipoVisitante.Id = equipoVisitante.Id;
            encuentro.Deporte.Id         = deporte.Id;
            _encuentrosRepository.Insert(encuentro);
            _unitOfWork.Save();
            return(encuentro.Id);
        }
Exemple #2
0
        private bool ExisteEncuentroParticipante(DateTime fecha, List <Participante> participantes)
        {
            List <Encuentro> encuentros = _encuentrosRepository.ObtenerEncuentros();

            foreach (Participante participante in participantes)
            {
                if (_encuentrosRepository.ExisteEncuentroEnFecha(fecha, participante.Id))
                {
                    return(true);
                }
            }
            return(false);
        }