public ActionResult AddTeam([Bind(Include = "Id,TeamId,EventId,Under17s,Rider1Id,Pony1Id,Rider2Id,Pony2Id,Rider3Id,Pony3Id,Rider4Id,Pony4Id,Rider5Id,Pony5Id")] ParticipatingTeam model) { if (ModelState.IsValid) { var teamEntry = new EventTeamEntry() { EventId = model.EventId, TeamId = model.TeamId, Under17s = model.Under17s }; db.EventTeamEntries.Add(teamEntry); db.SaveChanges(); var r1 = new EventRiderEntry() { EventTeamEntry = teamEntry, RiderId = model.Rider1Id.Value, PonyId = model.Pony1Id.Value }; db.EventRiderEntries.Add(r1); if (model.Rider2Id > 0) { var r2 = new EventRiderEntry() { EventTeamEntry = teamEntry, RiderId = model.Rider2Id.Value, PonyId = model.Pony2Id.Value }; db.EventRiderEntries.Add(r2); } if (model.Rider3Id > 0) { var r3 = new EventRiderEntry() { EventTeamEntry = teamEntry, RiderId = model.Rider3Id.Value, PonyId = model.Pony3Id.Value }; db.EventRiderEntries.Add(r3); } if (model.Rider4Id > 0) { var r4 = new EventRiderEntry() { EventTeamEntry = teamEntry, RiderId = model.Rider4Id.Value, PonyId = model.Pony4Id.Value }; db.EventRiderEntries.Add(r4); } //db.EventRiderEntries.AddRange(new EventRiderEntry[] { r1, r2, r3, r4 }); if (model.Rider5Id > 0) { var r5 = new EventRiderEntry() { EventTeamEntry = teamEntry, RiderId = model.Rider5Id.Value, PonyId = model.Pony5Id.Value }; db.EventRiderEntries.Add(r5); } db.SaveChanges(); return RedirectToAction("Participants", new { id = model.EventId }); } //ViewBag.TeamId = new SelectList(db.Teams, "Id", "TeamName", model.TeamId); //ViewBag.EventId = new SelectList(db.Events, "Id", "EventName", model.EventId); return View(model); }
public ActionResult CopyPrevious(int Id, int PreviousEventId) { Event thisEvent = db.Events.Find(Id); Event previousEvent = db.Events.Include("EventTeamEntries.EventRiderEntries").First(e => e.Id == PreviousEventId); var POS = 1; foreach(var previousEntry in previousEvent.EventTeamEntries) { System.Diagnostics.Debug.Print("Entry " + (POS++) + " of " + previousEvent.EventTeamEntries.Count); var newEntry = new EventTeamEntry(); thisEvent.EventTeamEntries.Add(newEntry); //newEntry.Event = thisEvent; newEntry.TeamId = previousEntry.TeamId; newEntry.Under17s = previousEntry.Under17s; newEntry.EventRiderEntries = new List<EventRiderEntry>(); foreach(var previousRider in previousEntry.EventRiderEntries) { var newRider = new EventRiderEntry(); newEntry.EventRiderEntries.Add(newRider); newRider.PonyId = previousRider.PonyId; newRider.RiderId = previousRider.RiderId; } } //db.Events.Remove(@event); db.SaveChanges(); return RedirectToAction("Index"); }