public ActionResult GenerateFixtures(int? groupid) { Groups group = unitOfWork.GroupRepository.GetByID((int)groupid); if (group == null) { AddApplicationMessage("Skupina s tímto ID neexistuje", MessageSeverity.Danger); return RedirectToAction("Index", "Competitions"); } int fixexist = unitOfWork.FixtureRepository.Get(filter: f => f.Group == groupid).Count(); if (fixexist > 0) { AddApplicationMessage("Rozlosování pro tuto skupinu již existuje", Models.MessageSeverity.Danger); return RedirectToAction("Admin", "Group", new { groupid = groupid }); } var teams = unitOfWork.TeamRepository.GetTeamsByGroup((int)groupid).ToList(); // Random poradi tymu pro rozlosovani int n = teams.Count; Random rng = new Random(); while (n > 1) { n--; int k = rng.Next(n + 1); Teams value = teams[k]; teams[k] = teams[n]; teams[n] = value; } if (teams.Count % 2 != 0) { var evenTeam = new Teams(){ ID = 0 }; teams.Add(evenTeam); } var games = ListMatches(teams); int currentRound = 1; foreach (var round in games) { foreach(var game in round) { if (game.Item1.ID == 0 || game.Item2.ID == 0) continue; Fixtures fixture = new Fixtures() { Team1 = game.Item1.ID, Team2 = game.Item2.ID, Round = currentRound, Group = (int)groupid }; unitOfWork.FixtureRepository.Insert(fixture); } currentRound++; } unitOfWork.Save(); AddApplicationMessage("Rozlosování skupiny " + group.Name + " bylo provedeno", MessageSeverity.Success); return RedirectToAction("Admin","Group", new { groupid = groupid}); }
public int CalculateRollingExpenses(Teams team) { return (team.Value - 1750000 < 0) ? 0 : ((int)team.Value - 1750000) / 150000 * 10000; }
public void RemovePlayerInjuries(Teams team) { var players = unitOfWork.PlayerRepository.Get(filter: p => p.Team == team.ID && p.MNG == 1); foreach(var player in players) { if (player.MNG == 1) { player.MNG = 0; team.Value += player.Value; unitOfWork.PlayerRepository.Update(player); } } unitOfWork.TeamRepository.Update(team); unitOfWork.Save(); }
public ActionResult Add(AddTeamViewModel model) { var races = from Races r in Enum.GetValues(typeof(Races)) select new { ID = (int)r, Name = r.ToString() }; model.races = new SelectList(races, "ID", "Name"); var users = unitOfWork.UserRepository.Get(filter: u => u.Status == Status.Active).ToList(); model.users = new SelectList(users, "ID", "Name"); if (ModelState.IsValid) { Teams team = new Teams() { Race = (Races)model.race, Owner = model.owner, Name = model.name, Rerolls = 0, Fanfactor = 0, Asscoaches = 0, Cheerleaders = 0, Apothecary = 0, Value = 0, Treasury = model.startValue == null ? model.startValue : 1000000, Status = Status.Active }; unitOfWork.TeamRepository.Insert(team); unitOfWork.Save(); AddApplicationMessage("Tým byl úspěšně založen", MessageSeverity.Success); return RedirectToAction("Index", "Team"); } AddApplicationMessage("Tým se nepodařilo založit, zkontrolujte formulář", MessageSeverity.Danger); return View(model); }