Пример #1
0
        // 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));
        }
Пример #2
0
        // 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));
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }