public ActionResult Create()
        {
            LeagueViewModel model = new LeagueViewModel();

            PopulateStaticData(model);

            return View(model);
        }
        public ActionResult Edit(int id)
        {
            LeagueViewModel model = new LeagueViewModel();

            model.League = leagueService.Get(id);

            PopulateStaticData(model);

            return View(model);
        }
        public ActionResult Create(LeagueViewModel model)
        {
            if (ModelState.IsValid)
            {
                // TODO Refactor at some point
                model.League.Season = competitionService.GetSeasons(s => s.Id == model.SeasonId)[0];
                leagueService.Insert(model.League);
                leagueService.Commit();
                SuccessMessage(FormMessages.SaveSuccess);
                return RedirectToAction("Index");
            }

            PopulateStaticData(model);

            return View(model);
        }
        public ActionResult Edit(LeagueViewModel model)
        {
            if (ModelState.IsValid)
            {
                League leagueToUpdate = leagueService.Get(model.League.Id);
                TryUpdateModel(leagueToUpdate, "League");
                leagueToUpdate.Season = competitionService.GetSeasons(s => s.Id == model.SeasonId)[0];

                leagueService.Update(leagueToUpdate);
                leagueService.Commit();

                SuccessMessage(FormMessages.SaveSuccess);
                return RedirectToAction("Index");
            }

            PopulateStaticData(model);

            return View(model);
        }
 private void PopulateStaticData(LeagueViewModel model)
 {
     model.SeasonId = model.League.Season.Id;
     model.Seasons = competitionService.GetSeasons(orderBy: q => q.OrderByDescending(s => s.Id)).ToSelectList(x => x.Name, x => x.Id.ToString(), model.League.Season.Id.ToString());
 }