public ActionResult ReplaceCompetitionPlayer(int competitionId, int replacedPlayerId, int replacementPlayerId, CompetitionPlayerSource source, CompetitionPlayerStatus status, string reason) { SystemMonitor.Info("Replaceing {0} with {1}", replacedPlayerId, replacementPlayerId); var manager = ServiceProvider.Get<ICompetitionsManager>(); manager.ReplacePlayer(competitionId, replacedPlayerId, replacementPlayerId, source, status, reason); return new HttpStatusCodeResult(200); }
public ActionResult Create(int? competitionId, int? replacePlayerId, string idNumber, CompetitionPlayerSource? source, CompetitionSection? section, CompetitionPlayerStatus? status, string reason) { var player = new Player(); var model = new CreatePlayerModel { Player = player }; if (competitionId.HasValue) { var competitionRepository = ServiceProvider.Get<ICompetitionRepository>(); model.Competition = competitionRepository.GetCompetition(competitionId.Value); model.Source = source.GetValueOrDefault(CompetitionPlayerSource.Regular); model.Section = section.GetValueOrDefault(CompetitionSection.Final); model.Status = status.GetValueOrDefault(CompetitionPlayerStatus.Active); model.Reason = reason; if (replacePlayerId.HasValue) { var playersRepository = ServiceProvider.Get<IPlayersRepository>(); model.ReplacedPlayer = playersRepository.Get(replacePlayerId.Value); } } if (idNumber.NotNullOrEmpty()) { model.Player.IdNumber = idNumber; } return View(model); }
public void AddPlayerToCompetition(int competitionId, int playerId, CompetitionPlayerSource source, CompetitionSection section) { var competitionsEngine = ServiceProvider.Get <ICompetitionsEngine>(); var competitionsRepository = ServiceProvider.Get <ICompetitionRepository>(); var playersRepository = ServiceProvider.Get <IPlayersRepository>(); var player = playersRepository.Get(playerId); var competition = competitionsRepository.GetCompetition(competitionId); if (competition == null) { throw new ArgumentException("Invalid competition id"); } competitionsEngine.AddPlayersToCompetition(competitionId, new[] { new AddCompetitionPlayerInfo() { Player = player, Source = source, Section = section } }); if ((int)competition.Status >= (int)CompetitionStatus.Positioned) { competitionsEngine.PositionPlayerInSection(competitionId, playerId, section); } }
public ActionResult Create(int? competitionId, int? replacedPlayerId, Player player, CompetitionPlayerSource? competitionPlayerSource, CompetitionSection? competitionSection, CompetitionPlayerStatus? status, string reason) { var playersRepository = ServiceProvider.Get<IPlayersRepository>(); var newPlayerId = playersRepository.Add(player); if (competitionId.HasValue) { var manager = ServiceProvider.Get<ICompetitionsManager>(); if (replacedPlayerId.HasValue) { manager.ReplacePlayer(competitionId.Value, replacedPlayerId.Value, newPlayerId, competitionPlayerSource.GetValueOrDefault(CompetitionPlayerSource.Regular), status.GetValueOrDefault(CompetitionPlayerStatus.Active), reason); } else { manager.AddPlayerToCompetition(competitionId.Value, newPlayerId, competitionPlayerSource.GetValueOrDefault(CompetitionPlayerSource.Regular), competitionSection.GetValueOrDefault(CompetitionSection.Final)); } return RedirectToAction("Details", "Competitions", new { id = competitionId.Value }); } else { return RedirectToAction("Index"); } }
public ActionResult ReplaceCompetitionPlayer(int competitionId, int replacedPlayerId, int replacementPlayerId, CompetitionPlayerSource source, CompetitionPlayerStatus status, string reason) { SystemMonitor.Info("Replaceing {0} with {1}", replacedPlayerId, replacementPlayerId); var manager = ServiceProvider.Get <ICompetitionsManager>(); manager.ReplacePlayer(competitionId, replacedPlayerId, replacementPlayerId, source, status, reason); return(new HttpStatusCodeResult(200)); }
public void ReplacePlayer(int competitionId, int replacedPlayerId, int replacingPlayerId, CompetitionPlayerSource source, CompetitionPlayerStatus status, string reason) { var competitionRepository = ServiceProvider.Get <ICompetitionRepository>(); var player = competitionRepository.GetCompetitionPlayer(competitionId, replacedPlayerId); if (player.IsNull()) { throw new ArgumentException("Cannot replace player, player does not exist."); } RemovePlayer(competitionId, replacedPlayerId, status, reason); AddPlayerToCompetition(competitionId, replacingPlayerId, source, player.Section); }