public ActionResult Create(TeamCreateViewModel vm) { if (!ModelState.IsValid) { ViewBag.TeamNames = FindTeamsByClub(); return View(vm); } if (Context.ExternalTeams.Any(t => t.Name == vm.NewTeamName && t.Club.Id == vm.ClubId)) { TempData["message"] = "That team already exists."; return Redirect(vm.ReturnTo); } Club club = Context.Clubs.SingleOrDefault(c => c.Id == vm.ClubId); if (club == null) { TempData["message"] = "System error. Club cannot be found."; return Redirect(vm.ReturnTo); } Division division = Context.Divisions.SingleOrDefault(d => d.Id == vm.DivisionId); if (division == null) { TempData["message"] = "System error. Division cannot be found."; return Redirect(vm.ReturnTo); } var team = new ExternalTeam { Club = club, Division = division, Name = vm.NewTeamName, CityState = vm.CityState, ContactName = vm.ContactName, ContactPhoneNumber = vm.ContactPhoneNumber, ContactEmailAddress = vm.ContactEmailAddress, Level = vm.Level }; Context.ExternalTeams.Add(team); Context.SaveChanges(); return Redirect(vm.ReturnTo); }
public static TeamCreateViewModel LoadFromSelect(List<Club> clubs, List<Division> divisions) { var vm = new TeamCreateViewModel { ClubList = new List<SelectListItem>(), DivisionList = new List<SelectListItem>() }; foreach (Club club in clubs) { vm.ClubList.Add(new SelectListItem {Text= club.Name, Value = club.Id.ToString()}); } foreach (Division division in divisions) { vm.DivisionList.Add(new SelectListItem { Text = division.Name, Value = division.Id.ToString() }); } return vm; }