private async void AcceptButtonEd_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                synchProgressRing.IsActive  = true;
                loadingRectangle.Visibility = Windows.UI.Xaml.Visibility.Visible;
                if (PlayerComboBoxEd.SelectedItem != null && TeamComboBoxEd.SelectedItem != null)
                {
                    if (PlayerComboBoxEd.SelectedItem.GetType().Equals(typeof(Player)))
                    {
                        if (editorPanel.Tag.ToString() == "Edit")
                        {
                            Player       p = (Player)PlayerComboBoxEd.SelectedItem;
                            FootballTeam ft;
                            if (TeamComboBoxEd.SelectedIndex == 0)
                            {
                                ft = ((FootballMatch)this.DefaultViewModel["Match"]).team1;
                                ActiveDataGroupGoalItem.firstTeam = true;
                            }
                            else
                            {
                                ft = ((FootballMatch)this.DefaultViewModel["Match"]).team2;
                                ActiveDataGroupGoalItem.firstTeam = false;
                            }
                            ActiveDataGroupGoalItem.goal.Player_idValue = p.id;
                            ActiveDataGroupGoalItem.player            = p;
                            ActiveDataGroupGoalItem.team              = ft;
                            ActiveDataGroupGoalItem.goal.Team_idValue = ft.id;
                            int iM  = 0;
                            int iAM = 0;
                            try
                            {
                                iM  = Int32.Parse(MinuteTextBox.Text);
                                iAM = Int32.Parse(AdditionMinuteTextBox.Text);
                            }
                            catch
                            {
                                iM  = 0;
                                iAM = 0;
                            }
                            ActiveDataGroupGoalItem.goal.MinuteValue          = iM;
                            ActiveDataGroupGoalItem.goal.Addition_minuteValue = iAM;
                            if (AssistantComboBoxEd.SelectedIndex != -1)
                            {
                                ActiveDataGroupGoalItem.goal.Assistant_idValue = ((Player)AssistantComboBoxEd.SelectedItem).id;
                            }
                            else
                            {
                                ActiveDataGroupGoalItem.goal.Assistant_idValue = 0;
                            }
                            ActiveDataGroupGoalItem.goal.Is_penaltyValue  = (bool)IsPenaltyEd.IsChecked;
                            ActiveDataGroupGoalItem.goal.Is_autogoalValue = (bool)IsAutogoalEd.IsChecked;
                            ActiveDataGroupGoalItem.goal.objectStatus     = (int)DataSource.status.needUpdate;
                            await ActiveDataGroupGoalItem.goal.Update();
                        }
                        else
                        {
                            FootballTeam ft;
                            bool         first;
                            if (TeamComboBoxEd.SelectedIndex == 0)
                            {
                                ft    = ((FootballMatch)this.DefaultViewModel["Match"]).team1;
                                first = true;
                            }
                            else
                            {
                                ft    = ((FootballMatch)this.DefaultViewModel["Match"]).team2;
                                first = false;
                            }
                            int iM  = 0;
                            int iAM = 0;
                            try
                            {
                                iM  = Int32.Parse(MinuteTextBox.Text);
                                iAM = Int32.Parse(AdditionMinuteTextBox.Text);
                            }
                            catch
                            {
                                if (iM == null)
                                {
                                    iM = 0;
                                }
                                if (iAM == null)
                                {
                                    iAM = 0;
                                }
                            }
                            int t = 0;
                            if (AssistantComboBoxEd.SelectedIndex != -1)
                            {
                                t = ((Player)AssistantComboBoxEd.SelectedItem).id;
                            }

                            Goal mp = new Goal(0, ((FootballMatch)this.DefaultViewModel["Match"]).id, ft.id, ((Player)PlayerComboBoxEd.SelectedItem).id, t, (bool)IsAutogoalEd.IsChecked, (bool)IsPenaltyEd.IsChecked, iM, iAM);
                            mp.objectStatus = (int)DataSource.status.needCreate;
                            await mp.Update();

                            FootballMatch fm = await DataSource.GetItemAsync(activId);

                            if (mp.objectStatus != (int)DataSource.status.Deleted || mp.objectStatus != (int)DataSource.status.needDelete)
                            {
                                DataGroupGoalsPlayers dgm = new DataGroupGoalsPlayers(fm, ft, ((Player)PlayerComboBoxEd.SelectedItem), mp);
                                if (first)
                                {
                                    dgm.assName   = "Не было помощника";
                                    dgm.firstTeam = true;
                                    foreach (Player ass in ((FootballMatch)this.DefaultViewModel["Match"]).team1_players)
                                    {
                                        if (ass.id == dgm.goal.Assistant_idValue)
                                        {
                                            dgm.assName = ass.full_name;
                                        }
                                    }
                                }
                                else
                                {
                                    dgm.assName   = "Не было помощника";
                                    dgm.firstTeam = false;
                                    foreach (Player ass in ((FootballMatch)this.DefaultViewModel["Match"]).team2_players)
                                    {
                                        if (ass.id == dgm.goal.Assistant_idValue)
                                        {
                                            dgm.assName = ass.full_name;
                                        }
                                    }
                                }


                                //this.DefaultViewModel["Team1MatchPlayers"] = dataGroupsGoalsPlayer.Where((team) => team.team.id.Equals(fm.team1.id));
                                //this.DefaultViewModel["Team2MatchPlayers"] = dataGroupsGoalsPlayer.Where((team) => team.team.id.Equals(fm.team2.id));
                            }
                            //Frame.Navigate(typeof(MatchPlayerPage), activId);
                        }
                        viewPanel.Visibility      = Windows.UI.Xaml.Visibility.Visible;
                        editorPanel.Visibility    = Windows.UI.Xaml.Visibility.Collapsed;
                        DeleteButtonEd.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                    }
                }
                var dialog = new MessageDialog("Успешно сохранено на сервере.");
                await DataSource.Save();

                dialog.ShowAsync();
            }
            catch (Exception ex)
            {
                var dialog = new MessageDialog("Не удалось сохранить данные на сервере.");
                dialog.ShowAsync();
            }
            finally
            {
                LoadState();
                synchProgressRing.IsActive  = false;
                loadingRectangle.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                if (TeamComboBox.SelectedIndex == 0)
                {
                    if (this.DefaultViewModel.ContainsKey("Team1MatchPlayers"))
                    {
                        mainListView.ItemsSource = this.DefaultViewModel["Team1MatchPlayers"];
                    }
                }
                else
                {
                    if (this.DefaultViewModel.ContainsKey("Team2MatchPlayers"))
                    {
                        mainListView.ItemsSource = this.DefaultViewModel["Team2MatchPlayers"];
                    }
                }
            }
        }
        private void GroupSection_ItemClick(object sender, ItemClickEventArgs e)
        {
            //var groupId = ((SampleDataGroup)e.ClickedItem).UniqueId;
            //if (!Frame.Navigate(typeof(SectionPage), groupId))
            //{
            //    throw new Exception(this.resourceLoader.GetString("NavigationFailedExceptionMessage"));
            //}
            // var itemId = ((FootballMatch)e.ClickedItem).id;
            //Frame.Navigate(typeof(ItemPage), itemId);
            Player tmp = null;

            this.DefaultViewModel["ActivElement"] = (DataGroupGoalsPlayers)e.ClickedItem;
            ActiveDataGroupGoalItem   = (DataGroupGoalsPlayers)e.ClickedItem;
            viewPanel.Visibility      = Windows.UI.Xaml.Visibility.Collapsed;
            editorPanel.Visibility    = Windows.UI.Xaml.Visibility.Visible;
            DeleteButtonEd.Visibility = Windows.UI.Xaml.Visibility.Visible;
            AcceptButtonEd.Content    = "Изменить";
            editorPanel.Tag           = "Edit";
            if (ActiveDataGroupGoalItem.firstTeam)
            {
                TeamComboBoxEd.SelectedIndex = 0;
            }
            else
            {
                TeamComboBoxEd.SelectedIndex = 1;
            }
            PlayerComboBoxEd.SelectedItem = ActiveDataGroupGoalItem.player;

            // = ActiveDataGroupRCPlayersItem.redCard.NoteValue;
            MinuteTextBox.Text         = ActiveDataGroupGoalItem.goal.MinuteValue.ToString();
            AdditionMinuteTextBox.Text = ActiveDataGroupGoalItem.goal.Addition_minuteValue.ToString();
            if (ActiveDataGroupGoalItem.goal.Assistant_idValue != 0)
            {
                try
                {
                    tmp = (Player)AssistantComboBoxEd.SelectedItem;
                }
                catch
                {
                    tmp = null;
                }
                if (tmp != null)
                {
                }
            }
            if (ActiveDataGroupGoalItem.goal.Assistant_idValue != 0)
            {
                try
                {
                    foreach (Player cbi in AssistantComboBoxEd.Items)
                    {
                        try
                        {
                            tmp = (Player)cbi;
                        }
                        catch (Exception ex)
                        {
                            tmp = null;
                        }
                        if (tmp != null)
                        {
                            if (cbi.id == ActiveDataGroupGoalItem.goal.Assistant_idValue)
                            {
                                AssistantComboBoxEd.SelectedItem = cbi;
                            }
                        }
                    }
                }
                catch (Exception ex2)
                {
                }
            }

            IsAutogoalEd.IsChecked = ActiveDataGroupGoalItem.goal.Is_autogoalValue;
            IsPenaltyEd.IsChecked  = ActiveDataGroupGoalItem.goal.Is_penaltyValue;
        }
        private async void LoadState()
        {
            DeleteButtonEd.Visibility = Windows.UI.Xaml.Visibility.Collapsed;

            FootballMatch Data = await DataSource.GetItemAsync(activId);

            dataGroupsGoalsPlayer = new ObservableCollection <DataGroupGoalsPlayers>();
            foreach (Goal mp in Data.goals)
            {
                DataGroupGoalsPlayers dp = null;
                if (mp.objectStatus != (int)DataSource.status.Deleted || mp.objectStatus != (int)DataSource.status.needDelete)
                {
                    if (mp.Team_idValue == Data.team1.id)
                    {
                        var matches = Data.team1_players.Where((player) => player.id.Equals(mp.Player_idValue));
                        if (matches.Count() > 0)
                        {
                            dp           = new DataGroupGoalsPlayers(Data, Data.team1, matches.First(), mp);
                            dp.assName   = "Не было помощника";
                            dp.firstTeam = true;
                            foreach (Player ass in Data.team1_players)
                            {
                                if (ass.id == dp.goal.Assistant_idValue)
                                {
                                    dp.assName = ass.full_name;
                                }
                            }
                        }
                    }
                    else
                    {
                        var matches = Data.team2_players.Where((player) => player.id.Equals(mp.Player_idValue));
                        if (matches.Count() > 0)
                        {
                            dp           = new DataGroupGoalsPlayers(Data, Data.team2, matches.First(), mp);
                            dp.assName   = "Не было помощника";
                            dp.firstTeam = false;
                            foreach (Player ass in Data.team2_players)
                            {
                                if (ass.id == dp.goal.Assistant_idValue)
                                {
                                    dp.assName = ass.full_name;
                                }
                            }
                        }
                    }
                    if (dp != null)
                    {
                        dataGroupsGoalsPlayer.Add(dp);
                    }
                }
            }
            this.DefaultViewModel["Match"] = Data;
            if (dataGroupsGoalsPlayer.Count() > 0)
            {
                this.DefaultViewModel["ActivElement"]          = dataGroupsGoalsPlayer.First();
                this.DefaultViewModel["dataGroupsMatchPlayer"] = dataGroupsGoalsPlayer;
                this.DefaultViewModel["Team1MatchPlayers"]     = dataGroupsGoalsPlayer.Where((team) => team.team.id.Equals(Data.team1.id));
                this.DefaultViewModel["Team2MatchPlayers"]     = dataGroupsGoalsPlayer.Where((team) => team.team.id.Equals(Data.team2.id));
            }
            if (TeamComboBox.SelectedIndex == 0)
            {
                if (this.DefaultViewModel.ContainsKey("Team1MatchPlayers"))
                {
                    mainListView.ItemsSource = this.DefaultViewModel["Team1MatchPlayers"];
                }
            }
            else
            {
                if (this.DefaultViewModel.ContainsKey("Team2MatchPlayers"))
                {
                    mainListView.ItemsSource = this.DefaultViewModel["Team2MatchPlayers"];
                }
            }
        }
        private async void AcceptButtonEd_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                synchProgressRing.IsActive = true;
                loadingRectangle.Visibility = Windows.UI.Xaml.Visibility.Visible;
                if (PlayerComboBoxEd.SelectedItem != null && TeamComboBoxEd.SelectedItem != null)
                {
                    if (PlayerComboBoxEd.SelectedItem.GetType().Equals(typeof(Player)))
                    {
                        if (editorPanel.Tag.ToString() == "Edit")
                        {

                            Player p = (Player)PlayerComboBoxEd.SelectedItem;
                            FootballTeam ft;
                            if (TeamComboBoxEd.SelectedIndex == 0)
                            {
                                ft = ((FootballMatch)this.DefaultViewModel["Match"]).team1;
                                ActiveDataGroupGoalItem.firstTeam = true;
                            }
                            else
                            {
                                ft = ((FootballMatch)this.DefaultViewModel["Match"]).team2;
                                ActiveDataGroupGoalItem.firstTeam = false;
                            }
                            ActiveDataGroupGoalItem.goal.Player_idValue = p.id;
                            ActiveDataGroupGoalItem.player = p;
                            ActiveDataGroupGoalItem.team = ft;
                            ActiveDataGroupGoalItem.goal.Team_idValue = ft.id;
                            int iM = 0;
                            int iAM = 0;
                            try
                            {
                                iM = Int32.Parse(MinuteTextBox.Text);
                                iAM = Int32.Parse(AdditionMinuteTextBox.Text);
                            }
                            catch
                            {
                                iM = 0;
                                iAM = 0;
                            }
                            ActiveDataGroupGoalItem.goal.MinuteValue = iM;
                            ActiveDataGroupGoalItem.goal.Addition_minuteValue = iAM;
                            if (AssistantComboBoxEd.SelectedIndex != -1) ActiveDataGroupGoalItem.goal.Assistant_idValue = ((Player)AssistantComboBoxEd.SelectedItem).id;
                            else ActiveDataGroupGoalItem.goal.Assistant_idValue = 0;
                            ActiveDataGroupGoalItem.goal.Is_penaltyValue = (bool)IsPenaltyEd.IsChecked;
                            ActiveDataGroupGoalItem.goal.Is_autogoalValue = (bool)IsAutogoalEd.IsChecked;
                            ActiveDataGroupGoalItem.goal.objectStatus = (int)DataSource.status.needUpdate;
                            await ActiveDataGroupGoalItem.goal.Update();


                        }
                        else
                        {
                            FootballTeam ft;
                            bool first;
                            if (TeamComboBoxEd.SelectedIndex == 0)
                            {
                                ft = ((FootballMatch)this.DefaultViewModel["Match"]).team1;
                                first = true;
                            }
                            else
                            {
                                ft = ((FootballMatch)this.DefaultViewModel["Match"]).team2;
                                first = false;
                            }
                            int iM = 0;
                            int iAM = 0;
                            try
                            {
                                iM = Int32.Parse(MinuteTextBox.Text);
                                iAM = Int32.Parse(AdditionMinuteTextBox.Text);
                            }
                            catch
                            {
                                if(iM == null)iM = 0;
                                if(iAM == null)iAM = 0;
                            }
                            int t = 0;
                            if (AssistantComboBoxEd.SelectedIndex != -1) t = ((Player)AssistantComboBoxEd.SelectedItem).id;

                            Goal mp = new Goal(0, ((FootballMatch)this.DefaultViewModel["Match"]).id, ft.id, ((Player)PlayerComboBoxEd.SelectedItem).id, t, (bool)IsAutogoalEd.IsChecked, (bool)IsPenaltyEd.IsChecked, iM, iAM);
                            mp.objectStatus = (int)DataSource.status.needCreate;
                            await mp.Update();

                            FootballMatch fm = await DataSource.GetItemAsync(activId);
                            if (mp.objectStatus != (int)DataSource.status.Deleted || mp.objectStatus != (int)DataSource.status.needDelete)
                            {
                                DataGroupGoalsPlayers dgm = new DataGroupGoalsPlayers(fm, ft, ((Player)PlayerComboBoxEd.SelectedItem), mp);
                                if (first)
                                {
                                    dgm.assName = "Не было помощника";
                                    dgm.firstTeam = true;
                                    foreach (Player ass in ((FootballMatch)this.DefaultViewModel["Match"]).team1_players)
                                    {
                                        if (ass.id == dgm.goal.Assistant_idValue)
                                        {
                                            dgm.assName = ass.full_name;
                                        }
                                    }
                                }
                                else
                                {
                                    dgm.assName = "Не было помощника";
                                    dgm.firstTeam = false;
                                    foreach (Player ass in ((FootballMatch)this.DefaultViewModel["Match"]).team2_players)
                                    {
                                        if (ass.id == dgm.goal.Assistant_idValue)
                                        {
                                            dgm.assName = ass.full_name;
                                        }
                                    }
                                }

                                
                                //this.DefaultViewModel["Team1MatchPlayers"] = dataGroupsGoalsPlayer.Where((team) => team.team.id.Equals(fm.team1.id));
                                //this.DefaultViewModel["Team2MatchPlayers"] = dataGroupsGoalsPlayer.Where((team) => team.team.id.Equals(fm.team2.id));
                                
                            }
                            //Frame.Navigate(typeof(MatchPlayerPage), activId);
                        }
                        viewPanel.Visibility = Windows.UI.Xaml.Visibility.Visible;
                        editorPanel.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                        DeleteButtonEd.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                    }
                }
                var dialog = new MessageDialog("Успешно сохранено на сервере.");
                await DataSource.Save();
                dialog.ShowAsync();
            }
            catch (Exception ex)
            {
                var dialog = new MessageDialog("Не удалось сохранить данные на сервере.");
                dialog.ShowAsync();
            }
            finally
            {
                LoadState();
                synchProgressRing.IsActive = false;
                loadingRectangle.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                if (TeamComboBox.SelectedIndex == 0)
                {
                    if (this.DefaultViewModel.ContainsKey("Team1MatchPlayers")) mainListView.ItemsSource = this.DefaultViewModel["Team1MatchPlayers"];
                }
                else
                {
                    if (this.DefaultViewModel.ContainsKey("Team2MatchPlayers")) mainListView.ItemsSource = this.DefaultViewModel["Team2MatchPlayers"];
                }
            }
        }
        private void GroupSection_ItemClick(object sender, ItemClickEventArgs e)
        {
            //var groupId = ((SampleDataGroup)e.ClickedItem).UniqueId;
            //if (!Frame.Navigate(typeof(SectionPage), groupId))
            //{
            //    throw new Exception(this.resourceLoader.GetString("NavigationFailedExceptionMessage"));
            //}
            // var itemId = ((FootballMatch)e.ClickedItem).id;
            //Frame.Navigate(typeof(ItemPage), itemId);
            Player tmp = null;
            this.DefaultViewModel["ActivElement"] = (DataGroupGoalsPlayers)e.ClickedItem;
            ActiveDataGroupGoalItem = (DataGroupGoalsPlayers)e.ClickedItem;
            viewPanel.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
            editorPanel.Visibility = Windows.UI.Xaml.Visibility.Visible;
            DeleteButtonEd.Visibility = Windows.UI.Xaml.Visibility.Visible;
            AcceptButtonEd.Content = "Изменить";
            editorPanel.Tag = "Edit";
            if (ActiveDataGroupGoalItem.firstTeam)
            {
                TeamComboBoxEd.SelectedIndex = 0;
            }
            else
            {
                TeamComboBoxEd.SelectedIndex = 1;
            }
            PlayerComboBoxEd.SelectedItem = ActiveDataGroupGoalItem.player;

            // = ActiveDataGroupRCPlayersItem.redCard.NoteValue;
            MinuteTextBox.Text = ActiveDataGroupGoalItem.goal.MinuteValue.ToString();
            AdditionMinuteTextBox.Text = ActiveDataGroupGoalItem.goal.Addition_minuteValue.ToString();
            if (ActiveDataGroupGoalItem.goal.Assistant_idValue != 0)
            {

                try
                {
                    tmp = (Player)AssistantComboBoxEd.SelectedItem;
                }
                catch
                {
                    tmp = null;
                }
                if (tmp != null)
                {

                }
            }
            if (ActiveDataGroupGoalItem.goal.Assistant_idValue != 0)
            {
                try
                {
                    foreach (Player cbi in AssistantComboBoxEd.Items)
                    {
                        try
                        {
                            tmp = (Player)cbi;
                        }
                        catch (Exception ex)
                        {
                            tmp = null;
                        }
                        if (tmp != null)
                        {
                            if (cbi.id == ActiveDataGroupGoalItem.goal.Assistant_idValue)
                            {
                                AssistantComboBoxEd.SelectedItem = cbi;
                            }
                        }
                    }
                }
                catch (Exception ex2)
                {

                }
            }

            IsAutogoalEd.IsChecked = ActiveDataGroupGoalItem.goal.Is_autogoalValue;
            IsPenaltyEd.IsChecked = ActiveDataGroupGoalItem.goal.Is_penaltyValue;
        }
        private async void LoadState()
        {
            DeleteButtonEd.Visibility = Windows.UI.Xaml.Visibility.Collapsed;

            FootballMatch Data = await DataSource.GetItemAsync(activId);
            dataGroupsGoalsPlayer = new ObservableCollection<DataGroupGoalsPlayers>();
            foreach (Goal mp in Data.goals)
            {
                DataGroupGoalsPlayers dp = null;
                if (mp.objectStatus != (int)DataSource.status.Deleted || mp.objectStatus != (int)DataSource.status.needDelete)
                {
                    if (mp.Team_idValue == Data.team1.id)
                    {
                        var matches = Data.team1_players.Where((player) => player.id.Equals(mp.Player_idValue));
                        if (matches.Count() > 0)
                        {
                            dp = new DataGroupGoalsPlayers(Data, Data.team1, matches.First(), mp);
                            dp.assName = "Не было помощника";
                            dp.firstTeam = true;
                            foreach (Player ass in Data.team1_players)
                            {
                                if (ass.id == dp.goal.Assistant_idValue)
                                {
                                    dp.assName = ass.full_name;
                                }
                            }
                        }
                    }
                    else
                    {
                        var matches = Data.team2_players.Where((player) => player.id.Equals(mp.Player_idValue));
                        if (matches.Count() > 0)
                        {
                            dp = new DataGroupGoalsPlayers(Data, Data.team2, matches.First(), mp);
                            dp.assName = "Не было помощника";
                            dp.firstTeam = false;
                            foreach (Player ass in Data.team2_players)
                            {
                                if (ass.id == dp.goal.Assistant_idValue)
                                {
                                    dp.assName = ass.full_name;
                                }
                            }
                        }
                    }
                    if (dp != null) dataGroupsGoalsPlayer.Add(dp);
                }
            }
            this.DefaultViewModel["Match"] = Data;
            if (dataGroupsGoalsPlayer.Count() > 0)
            {
                this.DefaultViewModel["ActivElement"] = dataGroupsGoalsPlayer.First();
                this.DefaultViewModel["dataGroupsMatchPlayer"] = dataGroupsGoalsPlayer;
                this.DefaultViewModel["Team1MatchPlayers"] = dataGroupsGoalsPlayer.Where((team) => team.team.id.Equals(Data.team1.id));
                this.DefaultViewModel["Team2MatchPlayers"] = dataGroupsGoalsPlayer.Where((team) => team.team.id.Equals(Data.team2.id));

            }
            if (TeamComboBox.SelectedIndex == 0)
            {
                if (this.DefaultViewModel.ContainsKey("Team1MatchPlayers")) mainListView.ItemsSource = this.DefaultViewModel["Team1MatchPlayers"];
            }
            else
            {
                if (this.DefaultViewModel.ContainsKey("Team2MatchPlayers")) mainListView.ItemsSource = this.DefaultViewModel["Team2MatchPlayers"];
            }

        }