public List <Player> SearchPlayersHelper(SearchPlayersViewModel viewModel) { List <Player> playerList = iPlayerRepo.ListAllPlayers(); if (viewModel.SchoolID != null) { playerList = playerList.Where( p => p.TeamPlayers.All( tp => tp.team.SchoolID == viewModel.SchoolID)).ToList <Player>(); } //Search gender and Search End Date if (viewModel.Gender != null) { playerList = playerList.Where( p => p.TeamPlayers.All( tp => tp.team.Gender == viewModel.Gender)).ToList <Player>(); } if (viewModel.Position != null) { playerList = playerList.Where( p => p.Position == viewModel.Position).ToList <Player>(); } if (viewModel.SearchStartDate != null) { playerList = playerList.Where(p => p.TeamPlayers.All( tp => tp.StartDate.Date >= viewModel.SearchStartDate.Value.Date)).ToList <Player>(); } return(playerList); }
public void ShouldSearchForAllMalePlayersAtMHSthatAreDefenders() { mockPlayerList = MockPlayerData(); mockPlayerRepo.Setup(m => m.ListAllPlayers()).Returns(mockPlayerList); int expectedNumberOfPlayers = mockPlayerList.Count; int actualNumberOfPlayers = 0; SearchPlayersViewModel viewModel = new SearchPlayersViewModel(); viewModel.SchoolID = 1; viewModel.Gender = "Male"; viewModel.SearchEndDate = null; viewModel.Division = null; viewModel.Position = "D"; List <Player> expectedPlayerList = mockPlayerList.Where( m => m.TeamPlayers.All(tp => tp.team.SchoolID == viewModel.SchoolID && tp.team.Gender == viewModel.Gender) && m.Position == viewModel.Position).ToList <Player>(); List <Player> actualPlayerList = playersController.SearchPlayersHelper(viewModel); actualNumberOfPlayers = actualPlayerList.Count; expectedNumberOfPlayers = expectedPlayerList.Count; Assert.Equal(expectedNumberOfPlayers, actualNumberOfPlayers); Assert.Equal(expectedPlayerList, actualPlayerList); }
public IActionResult SearchPlayers() { PopulateDropDownLists(); SearchPlayersViewModel viewModel = new SearchPlayersViewModel(); return(View("~/Views/Players/SearchPlayers.cshtml", viewModel)); }
public IActionResult SearchPlayers(SearchPlayersViewModel viewModel) { PopulateDropDownLists(); viewModel.PlayerList = SearchPlayersHelper(viewModel); return(View("~/Views/Players/SearchPlayers.cshtml", viewModel)); }
public void ShouldSearchForAllPlayers() { mockPlayerList = MockPlayerData(); mockPlayerRepo.Setup(m => m.ListAllPlayers()).Returns(mockPlayerList); int expectedNumberOfPlayers = mockPlayerList.Count; int actualNumberOfPlayers = 0; SearchPlayersViewModel viewModel = new SearchPlayersViewModel(); viewModel.SchoolID = null; viewModel.Gender = null; viewModel.SearchEndDate = null; viewModel.Division = null; List <Player> actualPlayerList = playersController.SearchPlayersHelper(viewModel); actualNumberOfPlayers = actualPlayerList.Count; Assert.Equal(expectedNumberOfPlayers, actualNumberOfPlayers); Assert.Equal(mockPlayerList, actualPlayerList); }