public SingleGameTeamLineupEditorViewModel(TeamViewModel teamViewModel, bool sortLineup = true) { SwitchInLineupCommand = new DelegateCommand(SwitchInLineup, CanSwitchInLineup); MoveDownCommand = new DelegateCommand(MoveDown, CanMoveDown); MoveUpCommand = new DelegateCommand(MoveUp, CanMoveUp); Team = teamViewModel; if (sortLineup) { Team.Lineup.Order(b => b.OnBasePlusSlugging, true); var order = 0; foreach (var batter in Team.Lineup) { batter.CurrentGameLineupIndex = order; order++; } } SelectedLineupBatter = Team.Lineup.ElementAt(0); if (Team.Bench.Any()) { SelectedBenchBatter = Team.Bench.ElementAt(0); } IsGameStarted = false; }
private TeamViewModel SetupHistoricalTeamViewModel(Team team) { var batters = team.PlayerStints.Where(p => p.PitchingStint == null).Select(b => new BatterViewModel(b)).ToList(); var pitchers = team.PlayerStints.Where(p => p.PitchingStint != null).Select(p => new PitcherViewModel(p)).ToList(); var teamViewModel = new TeamViewModel(); teamViewModel.Catcher = batters.Where(b => b.PlayerStint.FieldingStints.Any(f => f.PositionType == PositionType.Catcher)) .OrderByDescending(b => b.PlayerStint.FieldingStints.SingleOrDefault(f => f.PositionType == PositionType.Catcher).Games).First(); batters.Remove(teamViewModel.Catcher); teamViewModel.Shortstop = batters.Where(b => b.PlayerStint.FieldingStints.Any(f => f.PositionType == PositionType.Shortstop)) .OrderByDescending(b => b.PlayerStint.FieldingStints.SingleOrDefault(f => f.PositionType == PositionType.Shortstop).Games).First(); batters.Remove(teamViewModel.Shortstop); teamViewModel.SecondBaseman = batters.Where(b => b.PlayerStint.FieldingStints.Any(f => f.PositionType == PositionType.SecondBaseman)) .OrderByDescending(b => b.PlayerStint.FieldingStints.SingleOrDefault(f => f.PositionType == PositionType.SecondBaseman).Games).First(); batters.Remove(teamViewModel.SecondBaseman); teamViewModel.ThirdBaseman = batters.Where(b => b.PlayerStint.FieldingStints.Any(f => f.PositionType == PositionType.ThirdBaseman)) .OrderByDescending(b => b.PlayerStint.FieldingStints.SingleOrDefault(f => f.PositionType == PositionType.ThirdBaseman).Games).First(); batters.Remove(teamViewModel.ThirdBaseman); teamViewModel.FirstBaseman = batters.Where(b => b.PlayerStint.FieldingStints.Any(f => f.PositionType == PositionType.FirstBaseman)) .OrderByDescending(b => b.PlayerStint.FieldingStints.SingleOrDefault(f => f.PositionType == PositionType.FirstBaseman).Games).First(); batters.Remove(teamViewModel.FirstBaseman); teamViewModel.CenterFielder = batters.Where(b => b.PlayerStint.FieldingStints.Any(f => f.PositionType == PositionType.CenterFielder)) .OrderByDescending(b => b.PlayerStint.FieldingStints.SingleOrDefault(f => f.PositionType == PositionType.CenterFielder).Games)?.FirstOrDefault(); if (teamViewModel.CenterFielder == null) { teamViewModel.CenterFielder = batters.Where(b => b.PlayerStint.FieldingStints.Any(f => f.PositionType == PositionType.OutFielder)) .OrderByDescending(b => b.PlayerStint.FieldingStints.SingleOrDefault(f => f.PositionType == PositionType.OutFielder).Games)?.FirstOrDefault(); } batters.Remove(teamViewModel.CenterFielder); teamViewModel.RightFielder = batters.Where(b => b.PlayerStint.FieldingStints.Any(f => f.PositionType == PositionType.RightFielder)) .OrderByDescending(b => b.PlayerStint.FieldingStints.SingleOrDefault(f => f.PositionType == PositionType.RightFielder).Games)?.FirstOrDefault(); if (teamViewModel.RightFielder == null) { teamViewModel.RightFielder = batters.Where(b => b.PlayerStint.FieldingStints.Any(f => f.PositionType == PositionType.OutFielder)) .OrderByDescending(b => b.PlayerStint.FieldingStints.SingleOrDefault(f => f.PositionType == PositionType.OutFielder).Games)?.FirstOrDefault(); } batters.Remove(teamViewModel.RightFielder); teamViewModel.LeftFielder = batters.Where(b => b.PlayerStint.FieldingStints.Any(f => f.PositionType == PositionType.LeftFielder)) .OrderByDescending(b => b.PlayerStint.FieldingStints.SingleOrDefault(f => f.PositionType == PositionType.LeftFielder).Games)?.FirstOrDefault(); if (teamViewModel.LeftFielder == null) { teamViewModel.LeftFielder = batters.Where(b => b.PlayerStint.FieldingStints.Any(f => f.PositionType == PositionType.OutFielder)) .OrderByDescending(b => b.PlayerStint.FieldingStints.SingleOrDefault(f => f.PositionType == PositionType.OutFielder).Games)?.FirstOrDefault(); } batters.Remove(teamViewModel.LeftFielder); teamViewModel.DesignatedHitter = batters.OrderByDescending(b => b.PlayerStint.BattingStint.Games).First(); batters.Remove(teamViewModel.DesignatedHitter); teamViewModel.BenchPlayer1 = batters.OrderByDescending(b => b.PlayerStint.BattingStint.Games)?.FirstOrDefault(); if (teamViewModel.BenchPlayer1 != null) { batters.Remove(teamViewModel.BenchPlayer1); teamViewModel.BenchPlayer2 = batters.OrderByDescending(b => b.PlayerStint.BattingStint.Games)?.FirstOrDefault(); if (teamViewModel.BenchPlayer2 != null) { batters.Remove(teamViewModel.BenchPlayer2); teamViewModel.BenchPlayer3 = batters.OrderByDescending(b => b.PlayerStint.BattingStint.Games)?.FirstOrDefault(); if (teamViewModel.BenchPlayer3 != null) { batters.Remove(teamViewModel.BenchPlayer3); teamViewModel.BenchPlayer4 = batters.OrderByDescending(b => b.PlayerStint.BattingStint.Games)?.FirstOrDefault(); if (teamViewModel.BenchPlayer4 != null) { batters.Remove(teamViewModel.BenchPlayer4); } } } } teamViewModel.StartingPitcher1 = pitchers.OrderByDescending(p => p.GamesStarted).First(); pitchers.Remove(teamViewModel.StartingPitcher1); teamViewModel.StartingPitcher2 = pitchers.OrderByDescending(p => p.GamesStarted)?.FirstOrDefault(); if (teamViewModel.StartingPitcher2 != null) { pitchers.Remove(teamViewModel.StartingPitcher2); teamViewModel.StartingPitcher3 = pitchers.OrderByDescending(p => p.GamesStarted)?.FirstOrDefault(); if (teamViewModel.StartingPitcher3 != null) { pitchers.Remove(teamViewModel.StartingPitcher3); teamViewModel.StartingPitcher4 = pitchers.OrderByDescending(p => p.GamesStarted)?.FirstOrDefault(); if (teamViewModel.StartingPitcher4 != null) { pitchers.Remove(teamViewModel.StartingPitcher4); teamViewModel.StartingPitcher5 = pitchers.OrderByDescending(p => p.GamesStarted)?.FirstOrDefault(); if (teamViewModel.StartingPitcher5 != null) { pitchers.Remove(teamViewModel.StartingPitcher5); } } } } teamViewModel.ReliefPitcher1 = pitchers.OrderByDescending(p => p.Games)?.FirstOrDefault(); if (teamViewModel.ReliefPitcher1 != null) { pitchers.Remove(teamViewModel.ReliefPitcher1); teamViewModel.ReliefPitcher2 = pitchers.OrderByDescending(p => p.Games)?.FirstOrDefault(); if (teamViewModel.ReliefPitcher2 != null) { pitchers.Remove(teamViewModel.ReliefPitcher2); teamViewModel.ReliefPitcher3 = pitchers.OrderByDescending(p => p.Games)?.FirstOrDefault(); if (teamViewModel.ReliefPitcher3 != null) { pitchers.Remove(teamViewModel.ReliefPitcher3); teamViewModel.ReliefPitcher4 = pitchers.OrderByDescending(p => p.Games)?.FirstOrDefault(); if (teamViewModel.ReliefPitcher4 != null) { pitchers.Remove(teamViewModel.ReliefPitcher4); teamViewModel.ReliefPitcher5 = pitchers.OrderByDescending(p => p.Games)?.FirstOrDefault(); if (teamViewModel.ReliefPitcher5 != null) { pitchers.Remove(teamViewModel.ReliefPitcher5); teamViewModel.ReliefPitcher6 = pitchers.OrderByDescending(p => p.Games)?.FirstOrDefault(); if (teamViewModel.ReliefPitcher6 != null) { pitchers.Remove(teamViewModel.ReliefPitcher6); teamViewModel.ReliefPitcher7 = pitchers.OrderByDescending(p => p.Games)?.FirstOrDefault(); if (teamViewModel.ReliefPitcher7 != null) { pitchers.Remove(teamViewModel.ReliefPitcher7); } } } } } } } return(teamViewModel); }
private void SetDefaultTeamCollections(TeamViewModel team) { team.Lineup.Add(team.Catcher); team.Lineup.Add(team.FirstBaseman); team.Lineup.Add(team.SecondBaseman); team.Lineup.Add(team.ThirdBaseman); team.Lineup.Add(team.Shortstop); team.Lineup.Add(team.LeftFielder); team.Lineup.Add(team.CenterFielder); team.Lineup.Add(team.RightFielder); team.Lineup.Add(team.DesignatedHitter); if (team.BenchPlayer1 != null) { team.Bench.Add(team.BenchPlayer1); } if (team.BenchPlayer2 != null) { team.Bench.Add(team.BenchPlayer2); } if (team.BenchPlayer3 != null) { team.Bench.Add(team.BenchPlayer3); } if (team.BenchPlayer4 != null) { team.Bench.Add(team.BenchPlayer4); } team.CurrentPitcher = team.StartingPitcher1; if (team.StartingPitcher2 != null) { team.Bullpen.Add(team.StartingPitcher2); } if (team.StartingPitcher3 != null) { team.Bullpen.Add(team.StartingPitcher3); } if (team.StartingPitcher4 != null) { team.Bullpen.Add(team.StartingPitcher4); } if (team.StartingPitcher5 != null) { team.Bullpen.Add(team.StartingPitcher5); } if (team.ReliefPitcher1 != null) { team.Bullpen.Add(team.ReliefPitcher1); } if (team.ReliefPitcher2 != null) { team.Bullpen.Add(team.ReliefPitcher2); } if (team.ReliefPitcher3 != null) { team.Bullpen.Add(team.ReliefPitcher3); } if (team.ReliefPitcher4 != null) { team.Bullpen.Add(team.ReliefPitcher4); } if (team.ReliefPitcher5 != null) { team.Bullpen.Add(team.ReliefPitcher5); } if (team.ReliefPitcher6 != null) { team.Bullpen.Add(team.ReliefPitcher6); } if (team.ReliefPitcher7 != null) { team.Bullpen.Add(team.ReliefPitcher7); } var count = 0; foreach (var batter in team.Lineup) { batter.CurrentGameLineupIndex = count; count++; } count = 0; foreach (var batter in team.Bench) { batter.CurrentGameBenchIndex = count; count++; } count = 0; foreach (var pitcher in team.Bullpen) { pitcher.BullpenIndex = count; count++; } }
public IEnumerable <TeamViewModel> GenerateRandomTeams(bool hallOfFamer = false, bool allStar = false) { var homeTeam = new TeamViewModel(); var awayTeam = new TeamViewModel(); homeTeam.TeamName = "Home Team"; awayTeam.TeamName = "Away Team"; homeTeam.Catcher = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.Catcher, true, hallOfFamer, allStar)); awayTeam.Catcher = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.Catcher, true, hallOfFamer, allStar)); homeTeam.FirstBaseman = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.FirstBaseman, true, hallOfFamer, allStar)); awayTeam.FirstBaseman = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.FirstBaseman, true, hallOfFamer, allStar)); homeTeam.SecondBaseman = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.SecondBaseman, true, hallOfFamer, allStar)); awayTeam.SecondBaseman = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.SecondBaseman, true, hallOfFamer, allStar)); homeTeam.ThirdBaseman = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.ThirdBaseman, true, hallOfFamer, allStar)); awayTeam.ThirdBaseman = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.ThirdBaseman, true, hallOfFamer, allStar)); homeTeam.Shortstop = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.Shortstop, true, hallOfFamer, allStar)); awayTeam.Shortstop = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.Shortstop, true, hallOfFamer, allStar)); homeTeam.LeftFielder = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.LeftFielder, true, hallOfFamer, allStar)); awayTeam.LeftFielder = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.LeftFielder, true, hallOfFamer, allStar)); homeTeam.CenterFielder = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.CenterFielder, true, hallOfFamer, allStar)); awayTeam.CenterFielder = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.CenterFielder, true, hallOfFamer, allStar)); homeTeam.RightFielder = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.RightFielder, true, hallOfFamer, allStar)); awayTeam.RightFielder = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.RightFielder, true, hallOfFamer, allStar)); homeTeam.DesignatedHitter = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.DesignatedHitter, true, hallOfFamer, allStar)); awayTeam.DesignatedHitter = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.DesignatedHitter, true, hallOfFamer, allStar)); homeTeam.BenchPlayer1 = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.Catcher, false, hallOfFamer, allStar)); awayTeam.BenchPlayer1 = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.Catcher, false, hallOfFamer, allStar)); homeTeam.BenchPlayer2 = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.CornerInfielder, false, hallOfFamer, allStar)); awayTeam.BenchPlayer2 = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.CornerInfielder, false, hallOfFamer, allStar)); homeTeam.BenchPlayer3 = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.MiddleInfielder, false, hallOfFamer, allStar)); awayTeam.BenchPlayer3 = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.MiddleInfielder, false, hallOfFamer, allStar)); homeTeam.BenchPlayer4 = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.OutFielder, false, hallOfFamer, allStar)); awayTeam.BenchPlayer4 = new BatterViewModel(RandomPlayerSelectorService.SelectRandomBatter(PositionType.OutFielder, false, hallOfFamer, allStar)); homeTeam.StartingPitcher1 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(true, hallOfFamer, allStar)); awayTeam.StartingPitcher1 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(true, hallOfFamer, allStar)); homeTeam.StartingPitcher2 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(true, hallOfFamer, allStar)); awayTeam.StartingPitcher2 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(true, hallOfFamer, allStar)); homeTeam.StartingPitcher3 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(true, hallOfFamer, allStar)); awayTeam.StartingPitcher3 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(true, hallOfFamer, allStar)); homeTeam.StartingPitcher4 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(true, hallOfFamer, allStar)); awayTeam.StartingPitcher4 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(true, hallOfFamer, allStar)); homeTeam.StartingPitcher5 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(true, hallOfFamer, allStar)); awayTeam.StartingPitcher5 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(true, hallOfFamer, allStar)); homeTeam.ReliefPitcher1 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); awayTeam.ReliefPitcher1 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); homeTeam.ReliefPitcher2 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); awayTeam.ReliefPitcher2 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); homeTeam.ReliefPitcher3 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); awayTeam.ReliefPitcher3 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); homeTeam.ReliefPitcher4 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); awayTeam.ReliefPitcher4 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); homeTeam.ReliefPitcher5 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); awayTeam.ReliefPitcher5 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); homeTeam.ReliefPitcher6 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); awayTeam.ReliefPitcher6 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); homeTeam.ReliefPitcher7 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); awayTeam.ReliefPitcher7 = new PitcherViewModel(RandomPlayerSelectorService.SelectRandomPitcher(false, hallOfFamer, allStar)); return(new List <TeamViewModel> { homeTeam, awayTeam }); }