public DraftLeagueViewModel(GameCore core, League league) : base(core) { this.league = league; var draftLotteryVm = new DraftLotteryViewModel(core, league); draftLotteryVm.DraftLotteryComplete += () => { var draftedPlayers = core.GameState.Leagues.SelectMany(l => l.Teams.SelectMany(t => t.DraftCards.Select(d => d.Player))); var playerDraftVm = new PlayerDraftMasterViewModel(core, league, player => !draftedPlayers.Any(draftedPlayer => draftedPlayer != null && draftedPlayer.ID == player.ID)); ChildViews.Add(playerDraftVm); NotifyPropertyChanged("ChildViews"); }; ChildViews.Add(draftLotteryVm); }