// GET: EventCompetitors/Create public ActionResult Create(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Event eventObject = db.Events.Include(e => e.Game).FirstOrDefault(e => e.eventID == id); if (eventObject == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } EventCompetitor eventCompetitor = new EventCompetitor { Event = eventObject, eventID = eventObject.eventID }; SelectList allCompetitors = new SelectList(eventObject.Game.Competitors, "competitorID", "competitorName"); EventCompetitorViewModel eventCompetitorViewModel = new EventCompetitorViewModel() { EventCompetitor = eventCompetitor, AllCompetitors = allCompetitors }; ViewBag.Medals = GetMedals(); return(View(eventCompetitorViewModel)); }
// GET: EventCompetitors/Edit/1/2 public ActionResult Edit(int?id, int?competitorID) { if (id == null || competitorID == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // Get the event competitor from the database based on the route parameters EventCompetitor eventCompetitor = db.EventCompetitors .Include(ec => ec.Competitor) .Include(ec => ec.Event) .Where(ec => ec.eventID == id && ec.competitorID == competitorID) .Single(); if (eventCompetitor == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } EventCompetitorViewModel eventCompetitorViewModel = new EventCompetitorViewModel() { EventCompetitor = eventCompetitor, }; ViewBag.Medals = GetMedals(); return(View(eventCompetitorViewModel)); }
public ActionResult Create(EventCompetitorViewModel eventCompetitorViewModel) { if (ModelState.IsValid) { // Get existing competitor and event from database Competitor competitor = db.Competitors .Find(eventCompetitorViewModel.EventCompetitor.competitorID); Event @event = db.Events .Find(eventCompetitorViewModel.EventCompetitor.eventID); // Assign the secondary propertues var competitorPosition = eventCompetitorViewModel.EventCompetitor.competitorPosition; var competitorMedal = eventCompetitorViewModel.EventCompetitor.competitorMedal; if (competitor != null & @event != null) { // Create a new object EventCompetitor eventCompetitor = new EventCompetitor() { Event = @event, Competitor = competitor, competitorMedal = competitorMedal, competitorPosition = competitorPosition }; // Add to the DbContext and save the changes db.EventCompetitors.Add(eventCompetitor); db.SaveChanges(); return(RedirectToAction("Index", "Events", new { id = eventCompetitor.eventID })); } else { ModelState.AddModelError("", "Invalid event or competitor!"); } } // Repopulate in case of validation error Event eventObject = db.Events .Include(e => e.Game) .FirstOrDefault(e => e.eventID == eventCompetitorViewModel.EventCompetitor.eventID); SelectList allCompetitors = new SelectList(eventObject.Game.Competitors, "competitorID", "competitorName"); eventCompetitorViewModel.AllCompetitors = allCompetitors; ViewBag.Medals = GetMedals(); return(View(eventCompetitorViewModel)); }
public ActionResult Edit(EventCompetitorViewModel eventCompetitorViewModel) { if (ModelState.IsValid) { Competitor competitor = db.Competitors .Find(eventCompetitorViewModel.EventCompetitor.competitorID); Event @event = db.Events .Find(eventCompetitorViewModel.EventCompetitor.eventID); var competitorPosition = eventCompetitorViewModel.EventCompetitor.competitorPosition; var competitorMedal = eventCompetitorViewModel.EventCompetitor.competitorMedal; if (competitorMedal == "None") { competitorMedal = null; } if (competitor != null & @event != null) { EventCompetitor eventCompetitor = new EventCompetitor() { Event = @event, Competitor = competitor, competitorMedal = competitorMedal, competitorPosition = competitorPosition }; db.Entry(eventCompetitor).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index", "Events", new { id = eventCompetitor.eventID })); } else { ModelState.AddModelError("", "Invalid event or competitor!"); } } ViewBag.Medals = GetMedals(); return(View(eventCompetitorViewModel)); }