public PlayerNameView(PlayerBoard[] boards) { // Init InitializeComponent(); NavigationPage.SetHasNavigationBar(this, false); // Set Binding BindingContext = new PlayerNameViewModel(boards); // Set first Rowdefenition as * PlayerGrid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Star, }); // Generate and place elements to enter player names for (int i = 0; i < boards.Length; i++) { // Add row for each player PlayerGrid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto, }); // Create Box For CoinIcon and add to grid BoxView icon = new BoxView() { HeightRequest = 10, WidthRequest = 10, }; PlayerGrid.Children.Add(icon, 0, i + 1); // Create Entry for player name and add to grid Entry entry = new PlayerEntry(boards[i]) { IsTextPredictionEnabled = false, HorizontalOptions = LayoutOptions.FillAndExpand, Placeholder = $"Player {boards[i].ToString()}", }; // Add listeners for unfocus and enter-press entry.Unfocused += (sender, args) => Entry_UnFocussed(sender, args); entry.Completed += (sender, args) => Entry_Compleded(sender, args); // Add to the grid PlayerGrid.Children.Add(entry, 1, i + 1); } // Add closing row PlayerGrid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Star, }); }
/// <summary> /// Returns list of free players which are satisfy specified search string, team and exclude list /// </summary> /// <param name="searchString">Name of player</param> /// <returns>List of free players</returns> public JsonResult GetFreePlayers(string searchString) { #pragma warning disable S1226 // Method parameters, caught exceptions and foreach variables' initial values should not be ignored searchString = HttpUtility.UrlDecode(searchString).Replace(" ", string.Empty); #pragma warning restore S1226 // Method parameters, caught exceptions and foreach variables' initial values should not be ignored var _freePlayersDto = _playerService.GetFreePlayerDto(). Where(p => (p.FirstName + p.LastName).Contains(searchString) || (p.LastName + p.FirstName).Contains(searchString)); var result = _freePlayersDto.OrderBy(p => p.LastName) #pragma warning disable S2971 // "IEnumerable" LINQs should be simplified Enity franework error must be ToList() .ToList() #pragma warning restore S2971 // "IEnumerable" LINQs should be simplified .Select(p => PlayerNameViewModel.Map(p)); return(Json(result, JsonRequestBehavior.AllowGet)); }
public void Create_RosterPlayerPassed_PlayersUpdated() { // Arrange var team = CreateTeam(); var captain = CreatePlayer(SPECIFIED_PLAYER_ID); var rosterDomain = new PlayerServiceTestFixture() .TestPlayers() .AddPlayer(captain) .Build(); MockTeamServiceGetTeam(team); _teamServiceMock.Setup(ts => ts.GetTeamCaptain(It.IsAny <Team>())).Returns(captain); _teamServiceMock.Setup(ts => ts.GetTeamRoster(It.IsAny <TeamId>())).Returns(rosterDomain.ToList()); _teamServiceMock.Setup(ts => ts.AddPlayers(It.IsAny <TeamId>(), It.IsAny <List <PlayerId> >())); _playerServiceMock.Setup(ps => ps.CreateBulk(It.IsAny <ICollection <CreatePlayerDto> >())) .Returns(rosterDomain); var rosterPlayer = new PlayerNameViewModel() { Id = SPECIFIED_PLAYER_ID, FirstName = SPECIFIED_FIRST_PLAYER_NAME, LastName = SPECIFIED_LAST_PLAYER_NAME }; var roster = new List <PlayerNameViewModel>() { rosterPlayer }; var viewModel = new TeamMvcViewModelBuilder().WithRoster(roster).WithAddedPlayers().Build(); _teamServiceMock.Setup(ts => ts.Create(It.IsAny <CreateTeamDto>())).Returns(MakeTestTeams().First); // Act var sut = BuildSUT(); sut.Create(viewModel); // Assert _playerServiceMock.Verify( ts => ts.CreateBulk(It.IsAny <List <CreatePlayerDto> >()), Times.Once()); }
/// <summary> /// Returns list of free players which are satisfy specified search string, team and exclude list /// </summary> /// <param name="searchString">Name of player</param> /// <param name="excludeList">list of players ids should be excluded from result</param> /// <param name="includeList">list of players ids should be included to result</param> /// <param name="includeTeam">Id of team which players should be included to the search result</param> /// <returns>List of free players</returns> public JsonResult GetFreePlayers(string searchString, string excludeList, string includeList, int?includeTeam) { searchString = HttpUtility.UrlDecode(searchString).Replace(" ", string.Empty); var query = _playerService.Get() .Where(p => (p.FirstName + p.LastName).Contains(searchString) || (p.LastName + p.FirstName).Contains(searchString)); if (includeTeam.HasValue) { if (string.IsNullOrEmpty(includeList)) { query = query.Where(p => p.TeamId == null || p.TeamId == includeTeam.Value); } else { var selectedIds = ParseIntList(includeList); query = query.Where(p => p.TeamId == null || p.TeamId == includeTeam.Value || selectedIds.Contains(p.Id)); } } else if (string.IsNullOrEmpty(includeList)) { query = query.Where(p => p.TeamId == null); } else { var selectedIds = ParseIntList(includeList); query = query.Where(p => p.TeamId == null || selectedIds.Contains(p.Id)); } if (!string.IsNullOrEmpty(excludeList)) { var selectedIds = ParseIntList(excludeList); query = query.Where(p => !selectedIds.Contains(p.Id)); } var result = query.OrderBy(p => p.LastName) .ToList() .Select(p => PlayerNameViewModel.Map(p)); return(Json(result, JsonRequestBehavior.AllowGet)); }
public void Edit_RosterPlayerPassed_PlayersUpdated() { // Arrange var team = CreateTeam(); var captain = CreatePlayer(SPECIFIED_PLAYER_ID); var rosterDomain = new PlayerServiceTestFixture() .TestPlayers() .AddPlayer(captain) .Build(); MockTeamServiceGetTeam(team); _teamServiceMock.Setup(ts => ts.GetTeamCaptain(It.IsAny <Team>())).Returns(captain); _teamServiceMock.Setup(ts => ts.GetTeamRoster(It.IsAny <TeamId>())).Returns(rosterDomain.ToList()); var rosterPlayer = new PlayerNameViewModel() { Id = SPECIFIED_PLAYER_ID, FirstName = SPECIFIED_FIRST_PLAYER_NAME, LastName = SPECIFIED_LAST_PLAYER_NAME }; var roster = new List <PlayerNameViewModel>() { rosterPlayer }; var viewModel = new TeamMvcViewModelBuilder().WithRoster(roster).Build(); _teamServiceMock.Setup(ts => ts.Edit(It.IsAny <Team>())); _playerServiceMock.Setup(ps => ps.GetPlayerTeam(It.IsAny <Player>())).Returns(team); _playerServiceMock.Setup(ps => ps.CreateBulk(It.IsAny <ICollection <CreatePlayerDto> >())) .Returns(rosterDomain); // Act var sut = BuildSUT(); var jsonResult = sut.Edit(viewModel); // Assert Assert.IsNotNull(jsonResult); }
public void Edit_RosterPlayerPassed_PlayersUpdated() { // Arrange var team = CreateTeam(); var captain = CreatePlayer(SPECIFIED_PLAYER_ID); var rosterDomain = new PlayerServiceTestFixture() .TestPlayers() .AddPlayer(captain) .Build(); MockTeamServiceGetTeam(team); _teamServiceMock.Setup(ts => ts.GetTeamCaptain(It.IsAny <Team>())).Returns(captain); _teamServiceMock.Setup(ts => ts.GetTeamRoster(It.IsAny <int>())).Returns(rosterDomain.ToList()); var rosterPlayer = new PlayerNameViewModel() { Id = SPECIFIED_PLAYER_ID, FirstName = SPECIFIED_FIRST_PLAYER_NAME, LastName = SPECIFIED_LAST_PLAYER_NAME }; var roster = new List <PlayerNameViewModel>() { rosterPlayer }; var viewModel = new TeamMvcViewModelBuilder().WithRoster(roster).Build(); _teamServiceMock.Setup(ts => ts.Edit(It.IsAny <Team>())) .Callback <Team>(t => t.Id = SPECIFIED_TEAM_ID); // Act var sut = BuildSUT(); sut.Edit(viewModel); // Assert _teamServiceMock.Verify( ts => ts.UpdateRosterTeamId(It.IsAny <List <Player> >(), It.IsAny <int>()), Times.Once()); }
/// <summary> /// Sets captain of test team view model /// </summary> /// <param name="captain">Captain for test team view model</param> /// <returns>Team view model builder object</returns> public TeamMvcViewModelBuilder WithCaptain(PlayerNameViewModel captain) { _teamViewModel.Captain = captain; return(this); }