本文整理汇总了C#中RepositoryFactory.GetNationalCupFinal方法的典型用法代码示例。如果您正苦于以下问题:C# RepositoryFactory.GetNationalCupFinal方法的具体用法?C# RepositoryFactory.GetNationalCupFinal怎么用?C# RepositoryFactory.GetNationalCupFinal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RepositoryFactory
的用法示例。
在下文中一共展示了RepositoryFactory.GetNationalCupFinal方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateNextSeason
public void CreateNextSeason(string previousSeasonId, IUnitOfWorkRepository repository)
{
Season previousSeason;
using (var seasonRepository = _repositoryFactory.CreateSeasonRepository())
{
previousSeason = seasonRepository.GetOne(previousSeasonId);
}
if (previousSeason.SeasonStatus != SeasonStatus.Ended)
{
throw new ConflictException("Season must be ended before a new one can be created");
}
var newSeasonInfo = new NewSeasonInfo
{
Game = previousSeason.Game,
SeasonNumber = previousSeason.GameOrder + 1
};
// Determine which teams promote and relegate.
IEnumerable<Team> allTeamsSortedOnLeagueAndPosition;
using (var teamRepository = _repositoryFactory.CreateTeamRepository())
{
allTeamsSortedOnLeagueAndPosition = teamRepository.GetTeamsByGame(previousSeason.GameId).OrderBy(x => x.CurrentLeagueCompetition.Order).ThenBy(x => x.CurrentLeaguePosition);
}
var teamsGroupedPerLeague = allTeamsSortedOnLeagueAndPosition.GroupBy(t => t.CurrentLeagueCompetitionId).Select(grp => grp.ToList()).ToList();
var newLeagues = _leagueManager.PromoteAndRelegateTeams(teamsGroupedPerLeague);
newSeasonInfo.TeamsLeague1 = newLeagues[0];
newSeasonInfo.TeamsLeague2 = newLeagues[1];
newSeasonInfo.TeamsLeague3 = newLeagues[2];
newSeasonInfo.TeamsLeague4 = newLeagues[3];
// Determine champion of the highest league.
newSeasonInfo.NationalChampion = teamsGroupedPerLeague[0][0];
// Determine cup winner.
using (var matchRepository = new RepositoryFactory().CreateMatchRepository())
{
var cupFinal = matchRepository.GetNationalCupFinal(previousSeason.Id);
newSeasonInfo.NationalCupWinner = cupFinal.GetWinner();
}
// Now all teams have been placed in the right leagues, so create match schedules for all competitions.
var seasonAndCompetitionSchedules = CreateSeasonAndCompetitionSchedules(newSeasonInfo);
// Insert the season and all competition schedules.
InsertSeasonAndCompetitionSchedule(repository, seasonAndCompetitionSchedules);
}