コード例 #1
0
        private async void OK_Tapped(object sender, EventArgs e)
        {
            await Navigation.PopAsync(false);

            var playersList = _viewModel?.SelectedLiveMatch?.PlayersOfMatch?.ToList();

            if (_playerOfMatch.PlayingStatus < 3)
            {
                PlayerOfMatch player = CopyPlayerOfMatch();
                player.FirstName = FirstNameEntry.Text;
                player.LastName  = LastNameEntry.Text;
                if (int.TryParse(Number.Text, out int x))
                {
                    player.Number = Convert.ToInt32(Number.Text);
                }
                playersList.Add(player);
                playersList.Remove(_playerOfMatch);
                await _viewModel.UpdatePlayerOfMatch(player);

                _viewModel.SelectedLiveMatch.PlayersOfMatch = new ObservableCollection <PlayerOfMatch>(playersList);
                PlayingListView.SelectedItem = player;
            }
            else
            {
                SetNewPlayerOfMatchValues();
                if (await _viewModel.AddPlayerOfMatch(_playerOfMatch))
                {
                    await _viewModel.GetPlayersOfMatchAsync(_viewModel.SelectedLiveMatch);
                }
                PlayingListView.SelectedItem = _playerOfMatch;
            }
        }
コード例 #2
0
        private async void SetPlayerStatus(PlayerOfMatch player, int playingStatus)
        {
            int?previousPlayingStatus = player.PlayingStatus;

            if (previousPlayingStatus == playingStatus)
            {
                return;
            }

            player.PlayingStatus = playingStatus;

            if (previousPlayingStatus < 3)
            {
                if (await _viewModel.UpdatePlayerOfMatch(player))
                {
                    ModifyPlayersOfMatch(player);
                }
                else
                {
                    player.PlayingStatus = previousPlayingStatus;
                }
            }
            else
            {
                if (await _viewModel.AddPlayerOfMatch(player))
                {
                    await _viewModel.GetPlayersOfMatchAsync(_viewModel.SelectedLiveMatch);
                }
                else
                {
                    player.PlayingStatus = previousPlayingStatus;
                }
            }
        }
コード例 #3
0
        private void Player_Tapped(object sender, EventArgs e)
        {
            PlayerOfMatch playerOfMatch = (e as TappedEventArgs).Parameter as PlayerOfMatch;

            if (MainView.IsVisible)
            {
                if (_mainSelectedPlayer == playerOfMatch)
                {
                    _mainSelectedPlayer = null;
                }
                else
                {
                    _mainSelectedPlayer = playerOfMatch;
                }
                MainSelectedPlayerLabel.Text = (_mainSelectedPlayer?.FirstName + " " + _mainSelectedPlayer?.LastName)?.Trim();
            }
            else if (SecondView.IsVisible)
            {
                if (_secondSelectedPlayer == playerOfMatch)
                {
                    _secondSelectedPlayer = null;
                }
                else
                {
                    _secondSelectedPlayer = playerOfMatch;
                }
                SecondSelectedPlayerLabel.Text = (_secondSelectedPlayer?.FirstName + " " + _secondSelectedPlayer?.LastName)?.Trim();
            }
        }
コード例 #4
0
        private void SecondViewSendEvent_Clicked(object sender, EventArgs e)
        {
            PlayerOfMatch secondPlayer = _secondSelectedPlayer;

            _eventOfMatch.SecondPlayerOfMatchID     = secondPlayer?.PlayerOfMatchID ?? 0;
            _eventOfMatch.SecondPlayerOfMatchNumber = secondPlayer?.Number?.ToString();
            SendEventChanges();
        }
コード例 #5
0
        private void ModifyPlayersOfMatch(PlayerOfMatch player)
        {
            var playersList = _viewModel?.SelectedLiveMatch?.PlayersOfMatch?.ToList();

            playersList.Add(player);
            playersList.Remove(playersList.Find(x => x.PlayerID == player.PlayerID));
            _viewModel.SelectedLiveMatch.PlayersOfMatch = new ObservableCollection <PlayerOfMatch>(playersList);
            PlayingListView.SelectedItem = player;
        }
コード例 #6
0
 public SelectedPlayerPage(PlayerOfMatch playerOfMatch, MatchesViewModel viewModel, ListView playingListView)
 {
     InitializeComponent();
     _playerOfMatch  = playerOfMatch;
     _viewModel      = viewModel;
     PlayingListView = playingListView;
     Title           = _playerOfMatch?.FirstName + " " + _playerOfMatch?.LastName;
     BindingContext  = _playerOfMatch;
 }
コード例 #7
0
        private void OutOfPlaying_Tapped(object sender, EventArgs e)
        {
            PlayerOfMatch player = (PlayerOfMatch)(e as TappedEventArgs).Parameter;

            if (player != null)
            {
                int playingStatus = 0;
                SetPlayerStatus(player, playingStatus);
            }
        }
コード例 #8
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            string fullName = string.Empty;

            if (value != null)
            {
                PlayerOfMatch player = (value as PlayerOfMatch);
                fullName = player?.FirstName + " " + player?.LastName;
            }
            return(fullName.Trim());
        }
コード例 #9
0
ファイル: Tools.cs プロジェクト: predrag1977/DystirSuite
        private string GetEventPlayer(MatchDetails selectedMatch, int?playerID)
        {
            string fullName = string.Empty;

            if (playerID != null && playerID > 0)
            {
                PlayerOfMatch player = selectedMatch?.PlayersOfMatch?.FirstOrDefault(x => x.PlayerOfMatchID == playerID);
                fullName = player?.FirstName + " " + player?.LastName;
            }
            return(fullName.Trim());
        }
コード例 #10
0
 private void SetPosition(TappedEventArgs tappedEventArgs, string position)
 {
     _selectedPlayer = tappedEventArgs.Parameter as PlayerOfMatch;
     if (_selectedPlayer.Position != position)
     {
         _selectedPlayer.Position = position;
     }
     else
     {
         _selectedPlayer.Position = null;
     }
 }
コード例 #11
0
        private void SelectedPlayer_Tapped(object sender, EventArgs e)
        {
            if (_selectedPlayer != null)
            {
                _selectedPlayer.IsSelected = (e as TappedEventArgs).Parameter as PlayerOfMatch == _selectedPlayer;
            }
            _selectedPlayer            = (e as TappedEventArgs).Parameter as PlayerOfMatch;
            _selectedPlayer.IsSelected = true;
            var      view           = sender as View;
            ViewCell parentViewCell = view.Parent as ViewCell;

            parentViewCell.ForceUpdateSize();
        }
コード例 #12
0
ファイル: DataLoader.cs プロジェクト: predrag1977/DystirSuite
        public async Task <bool> UpdatePlayerOfMatchAsync(PlayerOfMatch player)
        {
            HttpClient          client   = new HttpClient();
            StringContent       content  = new StringContent(JsonConvert.SerializeObject(player), Encoding.UTF8, "application/json");
            HttpResponseMessage response = await client.PutAsync(Url + "PlayersOfMatches?id=" + player.PlayerOfMatchID, content);

            if (response.IsSuccessStatusCode)
            {
                return(await Task.FromResult(true));
            }
            else
            {
                return(await Task.FromResult(true));
            }
        }
コード例 #13
0
        private void Player_Tapped(object sender, EventArgs e)
        {
            PlayerOfMatch playerOfMatch = (e as TappedEventArgs).Parameter as PlayerOfMatch;

            if (FocusedEventOfMatch.MainPlayerOfMatchID == playerOfMatch.PlayerOfMatchID)
            {
                FocusedEventOfMatch.MainPlayerOfMatchID     = 0;
                FocusedEventOfMatch.MainPlayerOfMatchNumber = "";
                playerOfMatch = null;
            }
            else
            {
                FocusedEventOfMatch.MainPlayerOfMatchID     = playerOfMatch.PlayerOfMatchID;
                FocusedEventOfMatch.MainPlayerOfMatchNumber = playerOfMatch.Number?.ToString() ?? "";
            }
            MainSelectedPlayerLabel.Text = (playerOfMatch?.FirstName + " " + playerOfMatch?.LastName)?.Trim();
        }
コード例 #14
0
        public async Task <bool> UpdatePlayerOfMatch(PlayerOfMatch player)
        {
            bool result = true;

            IsLoading     = true;
            MainException = null;
            try
            {
                await GetDataStore().UpdatePlayerOfMatchAsync(player);
            }
            catch (Exception ex)
            {
                MainException = ex;
                result        = false;
            }
            IsLoading = false;
            return(result);
        }
コード例 #15
0
 private void PopulateEventData()
 {
     _playersList                    = _matchEventName == "CORNER" || _matchEventName == "PENALTY" || _matchEventName == "COMMENTARY" ? null : GetPlayersList();
     MainEventNameLabel.Text         = _matchEventName.ToUpper();
     _mainSelectedPlayer             = _playersList?.FirstOrDefault(x => x.PlayerOfMatchID == _eventOfMatch.MainPlayerOfMatchID);
     MainSelectedPlayerLabel.Text    = (_mainSelectedPlayer?.FirstName + " " + _mainSelectedPlayer?.LastName)?.Trim();
     _secondSelectedPlayer           = _playersList?.FirstOrDefault(x => x.PlayerOfMatchID == _eventOfMatch.SecondPlayerOfMatchID);
     SecondEventNameLabel.Text       = _matchEventName.ToUpper();
     SecondSelectedPlayerLabel.Text  = (_secondSelectedPlayer?.FirstName + " " + _secondSelectedPlayer?.LastName)?.Trim();
     MainPlayersListView.ItemsSource = _playersList;
     if (_matchEventName == "SUBSTITUTION")
     {
         Title = string.Format("{0} - {1}", "SUBS OUT", _teamName);
         MainEventNameLabel.Text           = "SUBS OUT";
         SecondEventNameLabel.Text         = "SUBS OUT";
         SecondPlayersListView.ItemsSource = _playersList;
     }
 }
コード例 #16
0
ファイル: Tools.cs プロジェクト: predrag1977/DystirSuite
        private void PopulatePlayerInfoLayout(PlayerOfMatch playerOfMatch, StackLayout infoLayout)
        {
            //POSITION
            Label positionLabel = new Label()
            {
                Text      = GetPositionText(playerOfMatch.Position),
                TextColor = Color.FromHex("#a6a6a6"),
                FontSize  = 10,
                Margin    = new Thickness(0, 0, 2, 0)
            };

            infoLayout.Children.Add(positionLabel);

            //GOAL
            if (playerOfMatch.Goal > 0)
            {
                CachedImage goalImage = new CachedImage()
                {
                    Source        = @"resource://DystirManager.Images.goal.png",
                    HeightRequest = 10,
                    WidthRequest  = 10,
                    Margin        = new Thickness(2, 0, 0, 0)
                };
                Label goalLabel = new Label()
                {
                    TextColor = Color.FromHex("#a6a6a6"),
                    Text      = playerOfMatch.Goal.ToString(),
                    FontSize  = 10,
                    Margin    = new Thickness(0, 0, 2, 0)
                };
                infoLayout.Children.Add(goalImage);
                infoLayout.Children.Add(goalLabel);
            }

            //OWNGOAL
            if (playerOfMatch.OwnGoal > 0)
            {
                CachedImage ownGoalImage = new CachedImage()
                {
                    Source        = @"resource://DystirManager.Images.owngoal.png",
                    HeightRequest = 10,
                    WidthRequest  = 10,
                    Margin        = new Thickness(2, 0, 0, 0)
                };
                Label ownGoalLabel = new Label()
                {
                    TextColor = Color.FromHex("#a6a6a6"),
                    Text      = playerOfMatch.OwnGoal.ToString(),
                    FontSize  = 10,
                    Margin    = new Thickness(0, 0, 2, 0)
                };
                infoLayout.Children.Add(ownGoalImage);
                infoLayout.Children.Add(ownGoalLabel);
            }

            //YELLOW CARD
            if (playerOfMatch.YellowCard > 0)
            {
                Grid yellowCardGrid = new Grid()
                {
                    BackgroundColor = Color.Gold,
                    HeightRequest   = 8,
                    WidthRequest    = 7,
                    Margin          = new Thickness(2)
                };
                infoLayout.Children.Add(yellowCardGrid);
                if (playerOfMatch.YellowCard > 1)
                {
                    yellowCardGrid = new Grid()
                    {
                        BackgroundColor = Color.Gold,
                        HeightRequest   = 8,
                        WidthRequest    = 7,
                        Margin          = new Thickness(2)
                    };
                    infoLayout.Children.Add(yellowCardGrid);
                }
            }

            //RED CARD
            if (playerOfMatch.RedCard > 0)
            {
                Grid redCardGrid = new Grid()
                {
                    BackgroundColor = Color.Red,
                    HeightRequest   = 8,
                    WidthRequest    = 7,
                    Margin          = new Thickness(2)
                };
                infoLayout.Children.Add(redCardGrid);
            }

            //SUBIN
            if (playerOfMatch.SubIN > 0)
            {
                Label subInLabel = new Label()
                {
                    Text      = char.ConvertFromUtf32(0x25B2).ToString(),
                    TextColor = Color.Green,
                    FontSize  = 10,
                    Margin    = new Thickness(2, 0, 0, 0)
                };
                infoLayout.Children.Add(subInLabel);
                Label subInText = new Label()
                {
                    Text      = playerOfMatch.SubIN.ToString() + "'",
                    TextColor = Color.FromHex("#a6a6a6"),
                    FontSize  = 10,
                    Margin    = new Thickness(0, 0, 2, 0)
                };
                infoLayout.Children.Add(subInText);
            }

            //SUBOUT
            if (playerOfMatch.SubOUT > 0)
            {
                Label subOutLabel = new Label()
                {
                    Text      = char.ConvertFromUtf32(0x25BC).ToString(),
                    TextColor = Color.Red,
                    FontSize  = 10,
                    Margin    = new Thickness(2, 0, 0, 0)
                };
                infoLayout.Children.Add(subOutLabel);
                Label subOutText = new Label()
                {
                    Text      = playerOfMatch.SubOUT.ToString() + "'",
                    TextColor = Color.FromHex("#a6a6a6"),
                    FontSize  = 10,
                    Margin    = new Thickness(0, 0, 2, 0)
                };
                infoLayout.Children.Add(subOutText);
            }
        }
コード例 #17
0
 private void OK_Player_Tapped(object sender, EventArgs e)
 {
     _selectedPlayer.IsSelected = false;
     ModifyPlayersOfMatch(_selectedPlayer);
     _selectedPlayer = null;
 }
コード例 #18
0
 private async void SelectedPlayer_Tapped(object sender, EventArgs e)
 {
     PlayerOfMatch selectedPlayer = (e as TappedEventArgs).Parameter as PlayerOfMatch;
     await Navigation.PushAsync(new SelectedPlayerPage(selectedPlayer, _viewModel, PlayingListView), false);
 }
コード例 #19
0
 private async void NewPlayer_Tapped(object sender, EventArgs e)
 {
     PlayerOfMatch player = new PlayerOfMatch();
     await Navigation.PushAsync(new SelectedPlayerPage(player, _viewModel, PlayingListView), false);
 }