public async Task <IActionResult> Eliminar(int id)
        {
            try
            {
                Pases entidad = _context.Pases.Find(id);

                int maxID = _context.Pases.Where(x => x.JugadorID == entidad.JugadorID).Select(x => x.ID).Max();

                if (entidad.ID < maxID)
                {
                    return(BadRequest("No se puede eliminar ya que este no es el último movimiento, seleccione otro movimiento."));
                }

                Jugadores jugadores = _context.Jugadores.Find(entidad.JugadorID);
                jugadores.EquipoID = entidad.EquipoOUT;

                _context.Jugadores.Update(jugadores);
                await _context.SaveChangesAsync();

                _context.Pases.Remove(entidad);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }
            catch (Exception ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }

            return(Ok());
        }
        public async Task <IActionResult> Editar(int id, [Bind("JugadorID, Fecha, EquipoIN, EquipoOUT, Valor")] Pases pases)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                if (pases.EquipoOUT == pases.EquipoIN)
                {
                    return(BadRequest("No se puede pasar el jugador al mismo equipo, seleccione otro equipo."));
                }

                int maxID = _context.Pases.Where(x => x.JugadorID == pases.JugadorID).Select(x => x.ID).Max();

                Pases entidad = _context.Pases.Find(id);

                if (entidad.ID < maxID)
                {
                    return(BadRequest("No se puede editar ya que este no es el último movimiento, seleccione otro movimiento."));
                }

                Jugadores jugadores = _context.Jugadores.Find(pases.JugadorID);
                jugadores.EquipoID = pases.EquipoIN;

                _context.Jugadores.Update(jugadores);
                await _context.SaveChangesAsync();

                entidad.Fecha    = pases.Fecha;
                entidad.EquipoIN = pases.EquipoIN;
                entidad.Valor    = pases.Valor;

                _context.Pases.Update(entidad);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }
            catch (Exception ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }

            return(Ok("Registro Actualizado"));
        }
        public async Task <IActionResult> Crear([Bind("JugadorID, Fecha, EquipoIN, EquipoOUT, Valor")] Pases pases)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                if (pases.EquipoOUT == pases.EquipoIN)
                {
                    return(BadRequest("No se puede pasar el jugador al mismo equipo, seleccione otro equipo."));
                }
                Jugadores jugadores = _context.Jugadores.Find(pases.JugadorID);
                jugadores.EquipoID = pases.EquipoIN;

                _context.Jugadores.Update(jugadores);
                await _context.SaveChangesAsync();

                Pases entidad = new Pases
                {
                    JugadorID = pases.JugadorID,
                    Fecha     = pases.Fecha,
                    EquipoIN  = pases.EquipoIN,
                    EquipoOUT = pases.EquipoOUT,
                    Valor     = pases.Valor
                };

                _context.Pases.Add(entidad);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }
            catch (Exception ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }

            return(Ok(pases));
        }