예제 #1
0
 public ActionResult SetWinners(EventWinnerVM model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             Exception result = db.SetWinners(model);
             if (result == null)
             {
                 return(RedirectToAction("Results", "Game", new { area = "" }));
             }
             else
             {
                 throw result;
             }
         }
         //get model invalid errors
         string messages = string.Join(" ", ModelState.Values
                                       .SelectMany(x => x.Errors)
                                       .Select(x => x.ErrorMessage));
         ModelState.AddModelError("Error", string.Format("The following validation errors occurred:{0}", messages));
         model.Event          = db.GetEventByYear(model.Event.Year);
         model.EventCountries = new SelectList(db.GetEventCountriesByYear(model.Event.Year), "id", "Description");
         return(View(model));
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("Error", ex.InnerException.Message);
         model.Event          = db.GetEventByYear(model.Event.Year);
         model.EventCountries = new SelectList(db.GetEventCountriesByYear(model.Event.Year), "id", "Description");
         return(View(model));
     }
 }
예제 #2
0
        Exception SourceRepository.SetWinners(EventWinnerVM model)
        {
            try
            {
                //get the event
                Event e = db.Events.Find(model.Event.Year);
                //create euro winner
                EventCountry EW_EC = db.EventCountries.Find(model.EventCountryEuroWinner);
                e.EurovisionWinner = new EurovisionWinner {
                    Year = model.Event.Year, CountryID = EW_EC.CountryID, Player = EW_EC.OwningPlayer
                };
                //create home champ
                EventCountry HC_EC = db.EventCountries.Find(model.EventCountryHomeChamp);
                e.HomeChampion = new HomeChampion {
                    Year = model.Event.Year, CountryID = HC_EC.CountryID, Player = HC_EC.OwningPlayer
                };

                db.Entry(e).State = EntityState.Modified;
                db.SaveChanges();

                return(null);
            }
            catch (Exception ex)
            {
                return(ex);
            }
        }
예제 #3
0
        public ActionResult SetWinners(int id)
        {
            EventWinnerVM model = new EventWinnerVM();

            model.Event          = db.GetEventByYear(id);
            model.EventCountries = new SelectList(db.GetEventCountriesByYear(id), "id", "Description");
            return(View(model));
        }