public IActionResult Post([FromBody] AgregarEncuentro encuentroModelo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Datos invalidos"));
            }

            try
            {
                Encuentro encuentro = encuentroModelo.TransformarAEncuentro();
                Guid      idCreado  = this._encuentrosService.AgregarEncuentro(encuentro);
                encuentro.Id = idCreado;
                return(CreatedAtRoute("GetEncuentro", new { id = idCreado }, encuentro));
            }
            catch (EncuentroDataException)
            {
                return(BadRequest("Datos invalidos"));
            }
            catch (NoExisteDeporteException)
            {
                return(BadRequest("El nombre del deporte no existe en la BD."));
            }
            catch (NoExisteEquipoException)
            {
                return(BadRequest("El/los equipos no existen en la BD."));
            }
            catch (ExisteEncuentroEnFecha) {
                return(StatusCode(409, "Ya existe un encuentro en esa fecha para el/los equipos seleccionados."));
            }
        }
        public IActionResult Post([FromBody] AgregarEncuentro encuentroModelo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Datos invalidos"));
            }

            try
            {
                Encuentro encuentro = encuentroModelo.TransformarAEncuentro();
                Guid      idCreado  = this._encuentrosService.AgregarEncuentro(encuentro);
                encuentro.Id = idCreado;
                return(Ok());
            }
            catch (EncuentroDataException)
            {
                return(BadRequest("Datos invalidos"));
            }
            catch (NoExisteDeporteException)
            {
                return(BadRequest("El nombre del deporte no existe en la BD."));
            }
            catch (NoExisteParticipanteException)
            {
                return(BadRequest("El/los equipos no existen en la BD."));
            }
            catch (ExisteEncuentroEnFechaException)
            {
                return(StatusCode(409, "Ya existe un encuentro en esa fecha para el/los equipos seleccionados."));
            }
            catch (CantidadIncorrectaDePartcipantesException)
            {
                return(BadRequest("Se ingreso una cantidad incorrecta de participantes para el encuentro"));
            }
            catch (NoCoincideDeporteException)
            {
                return(BadRequest("El deporte del encuentro no coincide con el de los participantes"));
            }
            catch (ParticipantesRepetidoException)
            {
                return(BadRequest("Se ha ingresado un participante duplicado"));
            }
            catch (ExisteEncuentroMismoDiaException)
            {
                return(BadRequest("Algun participante tiene un encuentro ya fijado para la fecha del encuentro actual"));
            }
            catch (ResultadoIncorrectoException)
            {
                return(BadRequest("Los resultados ingresados no son correctos"));
            }
        }