public IHttpActionResult PostFecha(Fecha fecha) { if (!ModelState.IsValid) { return BadRequest(ModelState); } try { foreach (var partido in fecha.Partidos) { List<PartidoJugador> jugadoresPartido = new List<PartidoJugador>(); // obetengo el listado de jugadores del equipo local cargados para el torneo en particular var jugadoresLocales = (from j in db.EquiposJugadorTorneos where j.EquipoTorneo.ZonaTorneo.TorneoId == fecha.torneoId && j.EquipoTorneo.EquipoId == partido.EquipoLocalId select j).ToList(); foreach (var item in jugadoresLocales) { var pj = new PartidoJugador() { JugadorId = item.JugadorId, PartidoId = partido.Id, EquipoId = item.EquipoTorneo.EquipoId, Goles = 0, TarjetasAmarillas = 0, TarjetasRojas = 0 }; jugadoresPartido.Add(pj); // cargo al jugador como parte del partido } // obetengo el listado de jugadores del equipo visitantes cargados para el torneo en particular var jugadoresVisitantes = (from j in db.EquiposJugadorTorneos where j.EquipoTorneo.ZonaTorneo.TorneoId == fecha.torneoId && j.EquipoTorneo.EquipoId == partido.EquipoVisitanteId select j).ToList(); foreach (var item in jugadoresVisitantes) { var pj = new PartidoJugador() { JugadorId = item.JugadorId, PartidoId = partido.Id, EquipoId = item.EquipoTorneo.EquipoId, Goles = 0, TarjetasAmarillas = 0, TarjetasRojas = 0 }; jugadoresPartido.Add(pj); // cargo al jugador como parte del partido } partido.JugadoresDelPartido = jugadoresPartido; } db.Fechas.Add(fecha); db.SaveChanges(); return Ok(); } catch (Exception ex) { return BadRequest(ex.Message); } }
public IHttpActionResult PutFecha(int id, Fecha fecha) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != fecha.Id) { return BadRequest(); } db.Entry(fecha).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!FechaExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }