private void ResetSorting(object sender, RoutedEventArgs e)
        {
            using (var conn = new SqlConnection(App.ConnectionString))
            {
                foreach (SfDataGrid dataGrid in MasterDataGrids)
                {
                    if (ResetSorts.IsChecked != null && (bool)ResetSorts.IsChecked)
                    {
                        UiHelper.ResetGridSorting(dataGrid,
                                                  App.GetPrefabOfDataTable(conn, (DataTable)dataGrid.ItemsSource), true);
                    }
                    else
                    {
                        UiHelper.ResetGridSorting(dataGrid,
                                                  App.GetPrefabOfDataTable(conn, (DataTable)dataGrid.ItemsSource), false);
                    }

                    dataGrid.ClearFilters();
                }
            }
        }
        private void ResetGrouping(object sender, RoutedEventArgs e)
        {
            using (var conn = new SqlConnection(App.ConnectionString))
            {
                conn.Open();
                foreach (SfDataGrid dataGrid in MasterDataGrids)
                {
                    if (ResetGroupsBox.IsChecked != null && (bool)ResetGroupsBox.IsChecked)
                    {
                        UiHelper.ResetGridGrouping(dataGrid,
                                                   App.GetPrefabOfDataTable(conn, (DataTable)dataGrid.ItemsSource), this, true);
                    }
                    else
                    {
                        UiHelper.ResetGridGrouping(dataGrid,
                                                   App.GetPrefabOfDataTable(conn, (DataTable)dataGrid.ItemsSource), this, false);
                    }
                }

                conn.Close();
            }
        }
        public void InitializeOrRefreshEverything(int tabIndex)
        {
            System.Windows.Forms.Cursor.Current = Cursors.WaitCursor;

            CurrentVisualStyle      = Settings.Default.Theme;
            App.ThisIsNowConcurrent = false;
            App.ThisMadeLastChange  = false;

            ResetGroupsBox.IsChecked     = false;
            DeleteModeCheckBox.IsChecked = false;
            SearchField.Clear();
            SearchField.AutoCompleteSource = SearchBoxAutoCompleteItems;

            MasterTabControl.Items.Clear();
            var dataSets = App.MainSet(this);

            MasterDataSet = dataSets;
            MasterDataGrids.Clear();
            EditedCells.Clear();
            ProgressGrid.Visibility = Visibility.Hidden;

            using (var conn =
                       new SqlConnection(App.ConnectionString))
            {
                conn.Open();

                foreach (string s in App.GetTableNames(conn))
                {
                    var tab = new TabItemExt
                    {
                        Header = s
                    };
                    MasterTabControl.Items.Add(tab);
                }

                int i = 0;
                foreach (DataTable dt in MasterDataSet.Tables)
                {
                    WriteToDataGrid(dt, App.GetPrefabOfDataTable(conn, dt), (TabItem)MasterTabControl.Items[i]);
                    i++;
                }

                conn.Close();
            }

            if (MasterTabControl.Items.Count > 0 && tabIndex < MasterTabControl.Items.Count)
            {
                MasterTabControl.SelectedIndex = tabIndex;
            }
            else if (tabIndex >= MasterTabControl.Items.Count)
            {
                MasterTabControl.SelectedIndex = MasterTabControl.Items.Count - 1;
            }
            else
            {
                MasterTabControl.SelectedIndex = 0;
            }

            RefreshRevertTables();

            if (MasterTabControl.Items.Count < 1)
            {
                SearchField.IsEnabled        = false;
                ResetSorts.IsEnabled         = false;
                ResetGroupsBox.IsEnabled     = false;
                DeleteModeCheckBox.IsEnabled = false;
                //RevertChanges.IsEnabled = false;
                NewRowButton.IsEnabled           = false;
                RefreshAll.IsEnabled             = false;
                BarcodeTextBox.IsEnabled         = false;
                BarcodeInventoryCommit.IsEnabled = false;
            }
            else
            {
                SearchField.IsEnabled            = true;
                ResetSorts.IsEnabled             = true;
                ResetSorts.IsChecked             = true;
                ResetGroupsBox.IsEnabled         = true;
                DeleteModeCheckBox.IsEnabled     = true;
                RefreshAll.IsEnabled             = true;
                BarcodeTextBox.IsEnabled         = true;
                BarcodeInventoryCommit.IsEnabled = true;
                NewRowButton.IsEnabled           = true;
            }

            Recycled.FillRecycledDataTable();
            System.Windows.Forms.Cursor.Current = Cursors.Default;
        }