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,
            });
        }
Ejemplo n.º 2
0
        /// <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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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());
        }
Ejemplo n.º 7
0
 /// <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);
 }