public ActionResult Create(CreateDivisionViewModel viewModel)
        {
            if (!ModelState.IsValid) {
            return View(viewModel);
              }
              DateTime startingDate;
              if (!DateTime.TryParse(viewModel.StartingDate, out startingDate)) {
            ModelState.AddModelErrorFor<CreateDivisionViewModel>(m => m.StartingDate, "Enter a valid date");
            return View(viewModel);
              }

              Season season = repository.Get<Season>(viewModel.SeasonId);
              if (null == season) {
            TempData[GlobalViewDataProperty.PageErrorMessage] = "Invalid/missing season, cannot create division";
            return View(viewModel);
              }

              if (season.DivisionNameIsInUse(viewModel.Name)) {
            ModelState.AddModelErrorFor<CreateDivisionViewModel>(m => m.Name, "This name is already in use");
            return View(viewModel);
              }

              Division division = new Division(viewModel.Name, startingDate, season);
              repository.SaveOrUpdate(division);
              season.AddDivision(division);
              repository.SaveChanges();

              // I hate doing this here because theoretically /divisions/create could be called
              // from anywhere, but I don't know what else to do now. Same comment applies for all
              // redirects in this controller
              return RedirectToAction("Details", "Seasons", new { id = season.Id });
        }
 public ActionResult Create(int seasonId)
 {
     var season = repository.Get<Season>(seasonId);
       if (null == season) {
     return HttpNotFound();
       }
       var viewModel = new CreateDivisionViewModel() {
     SeasonId = season.Id,
     SeasonName = season.Name,
       };
       return View(viewModel);
 }