private void GroupApplyChange(bool?isChecked, string propertyName)
 {
     if (GameItemsView != null && GameItemsView.GroupDescriptions != null)
     {
         if (isChecked == true &&
             GameItemsView.GroupDescriptions.All(x => ((PropertyGroupDescription)x).PropertyName != propertyName))
         {
             GameItemsView.GroupDescriptions.Add(new PropertyGroupDescription(propertyName));
         }
         else if (isChecked == false &&
                  GameItemsView.GroupDescriptions.Any(x => ((PropertyGroupDescription)x).PropertyName == propertyName))
         {
             GameItemsView.GroupDescriptions.Remove(
                 GameItemsView.GroupDescriptions.First(
                     x => ((PropertyGroupDescription)x).PropertyName == propertyName));
         }
         DataGridGameItem.UpdateLayout();
     }
 }
        private void LoadData()
        {
            //Backup update item
            var backup = new GameItem();

            if (_currentAction == ActionState.Update)
            {
                backup = EnglishGameHelper.CloneItem(UpdateGameItem);
            }
            //Get new list items
            GameItems = FileManagement.GetListGameData();
            IntializeGroupData();
            DataGridGameItem.UpdateLayout();

            //Show data
            if (GameItems.Count > 0)
            {
                switch (_currentAction)
                {
                case ActionState.Add:
                    SelectedGameItem = GameItems.First(x => x.Title == NewGameItem.Title && x.GameName == NewGameItem.GameName);
                    break;

                case ActionState.Update:
                    SelectedGameItem = GameItems.First(x => x.Title == backup.Title && x.GameName == backup.GameName);
                    break;

                default:
                    SelectedGameItem = GameItems[0];
                    break;
                }
                _currentAction             = ActionState.Update;
                EditorTitle.Text           = "Selected item detail";
                ViewDetailItem.DataContext = UpdateGameItem;
            }
            else
            {
                AddNewGameItemClick(null, null);
            }

            CanCloneAndDeleteVisibility = GetCloneAndDeleteVisibility();
        }