// GET: League/Scoring public ActionResult LeagueScoring(TournamentDetailsMvcModel model, int id, int divisionId = 0, int roundId = 0) { TournamentDetailsMvcModel input = new TournamentDetailsMvcModel(); var t = GlobalConfiguration.Connection.Tournaments_GetByID(id); input.TournamentName = t.TournamentName; input.Id = t.Id; input.DivisionsEntered = t.DivisionsEntered; input.DivisionsEntered = GlobalConfiguration.Connection.TeamGroupEntries_GetSpecific(t.DivisionsEntered); if (divisionId != 0) { DivisionModel division = t.DivisionsEntered.First(x => x.Id == divisionId); division = GlobalConfiguration.Connection.GetGroups(division); input.SelectedDivision = division; foreach (GroupModel gm in division.Groups) { var activeFound = false; for (int i = 0; i < gm.Rounds.Count; i++) { RoundStatus status = RoundStatus.Locked; if (!activeFound) { if (gm.Rounds[i].TrueForAll(x => x.Winner != null)) { status = RoundStatus.Complete; } else { status = RoundStatus.Active; activeFound = true; if (roundId == 0) { roundId = i + 1; } } } input.Rounds.Add(new RoundMvcModel { RoundName = "Round " + (i + 1), RoundNumber = i + 1, RoundId = roundId, Status = status, GroupId = gm.Id }); input.TempMatchups = GetMatchups(gm.Rounds[i], input.Id, divisionId, gm.Id, roundId, status); foreach (MatchupMvcModel mvc in input.TempMatchups) { input.Matchups.Add(mvc); } } } } return(View(input)); }
// GET: League/Details public ActionResult DetailLeague(int id, int roundId = 0) { try { TournamentDetailsMvcModel input = new TournamentDetailsMvcModel(); TournamentModel t = GlobalConfiguration.Connection.Tournaments_GetByID(id); input.TournamentName = t.TournamentName; input.Id = t.Id; input.Active = t.Active; return(View(input)); } catch { return(RedirectToAction("Index", "Home")); } }
public ActionResult EditLeague(TournamentDetailsMvcModel model, string listOfTeams) { TournamentModel t = new TournamentModel { Id = model.Id }; t = GlobalConfiguration.Connection.Tournaments_GetByID(t.Id); t.TournamentName = model.TournamentName; t.Active = model.Active; t.TeamsEntered = model.TeamsEntered; t.TournamentStartDate = model.TournamentDateStart.Add(model.TournamentTimeStart); t.TournamentEndDate = model.TournamentDateEnd.Add(model.TournamentTimeEnd); int divisionsToAdd = Int32.Parse(model.DivisionsToAdd); int divisionsToRemove = Int32.Parse(model.DivisionsToRemove); int numberOfDivisions = t.DivisionsEntered.Count; string[] split = listOfTeams.Split(new[] { ']' }, StringSplitOptions.RemoveEmptyEntries); string[] split3 = Regex.Split(split[t.DivisionsEntered.Count], @"\D+"); SeedTeams(t, split, split3); AdjustDivisionSize(t, divisionsToAdd, divisionsToRemove, numberOfDivisions); GlobalConfiguration.Connection.EditTournament(t); if (t.Active) { GlobalConfiguration.Connection.TeamGroup_Insert(t.DivisionsEntered); t.DivisionsEntered = GlobalConfiguration.Connection.TeamGroupEntries_GetSpecific(t.DivisionsEntered); foreach (DivisionModel dm in t.DivisionsEntered) { foreach (GroupModel gm in dm.Groups) { TournamentRoundRobin.CreateRounds(gm); GlobalConfiguration.Connection.SaveGroupRounds(gm, t.Id); } } } return(RedirectToAction("DetailLeague", "Tournament", new { id = model.Id })); }
public ActionResult Scoreboard(int id) { TournamentDetailsMvcModel input = new TournamentDetailsMvcModel(); List <TournamentEntryModel> tem = new List <TournamentEntryModel>(); var t = GlobalConfiguration.Connection.Tournaments_GetByID(id); input.TournamentName = t.TournamentName; input.Id = t.Id; input.DivisionsEntered = t.DivisionsEntered; input.DivisionsEntered = GlobalConfiguration.Connection.TeamGroupEntries_GetSpecific(t.DivisionsEntered); input.SelectedDivisionList = input.DivisionsEntered.Select(x => new SelectListItem { Text = x.DivisionName, Value = x.Id.ToString() }).ToList(); input.SelectedTeamsList = input.TeamsEntered.Select(x => new SelectListItem { Text = x.TeamName, Value = x.Id.ToString() }).ToList(); input.TeamsEntered = GlobalConfiguration.Connection.GetTeamsByTournamentId(t.Id); foreach (TeamModel tm in input.TeamsEntered) { var temTemp = GlobalConfiguration.Connection.GetTournamentEntry(tm.Id, t.Id); tem.Add(temTemp); } List <TournamentEntryModel> result = tem.OrderByDescending(n => n.Wins).ThenByDescending(n => n.RoundDifference).ToList(); input.ScoredTeams = result; foreach (DivisionModel dm in input.DivisionsEntered) { foreach (GroupModel gm in dm.Groups) { gm.TeamsEntered = gm.TeamsEntered.OrderBy(b => result.FindIndex(a => a.TeamId == b.Id)).ToList(); } } return(View(input)); }
// GET: League/Edit public ActionResult EditLeague(int id) { try { TournamentDetailsMvcModel input = new TournamentDetailsMvcModel(); TournamentModel t = GlobalConfiguration.Connection.Tournaments_GetByID(id); input.TournamentName = t.TournamentName; input.Id = t.Id; input.TeamsEntered = t.TeamsEntered; input.TournamentDateStart = t.TournamentStartDate.Date; input.TournamentDateEnd = t.TournamentEndDate.Date; input.TournamentTimeStart = t.TournamentStartDate.TimeOfDay; input.TournamentTimeEnd = t.TournamentEndDate.TimeOfDay; input.DivisionsEntered = t.DivisionsEntered; input.SelectedDivisionList = input.DivisionsEntered.Select(x => new SelectListItem { Text = x.DivisionName, Value = x.Id.ToString() }).ToList(); input.SelectedTeamsList = input.TeamsEntered.Select(x => new SelectListItem { Text = x.TeamName, Value = x.Id.ToString() }).ToList(); for (int i = 0; i < input.DivisionsEntered.Count + 1; i++) { input.SelectListRemove.Add(new SelectListItem { Value = i.ToString(), Text = i.ToString() }); } return(View(input)); } catch { return(RedirectToAction("Index", "Home")); } }