private async Task CommitEditAsync()
        {
            FlaggedPersonViewModel editedEntry =
                (FlaggedPersonViewModel)FlaggedPersonDataGrid.SelectedItem;

            await contextViewModel.CommitChangesAsync();

            RefocusGrid(editedEntry);
        }
        private async Task CommitAddAsync()
        {
            FlaggedPersonViewModel newEntry =
                (FlaggedPersonViewModel)FlaggedPersonDataGrid.SelectedItem;

            await contextViewModel.AddNonClientAsync(newEntry);

            RefocusGrid(newEntry);
        }
        private void RestoreBackup()
        {
            FlaggedPersonViewModel editing = (FlaggedPersonViewModel)FlaggedPersonDataGrid.SelectedItem;

            editing.DateModified      = _backup.DateModified;
            editing.DeniedAllServices = _backup.DeniedAllServices;
            editing.DeniedShelter     = _backup.DeniedShelter;
            editing.FirstName         = _backup.FirstName;
            editing.LastName          = _backup.LastName;
            editing.Narrative         = _backup.Narrative;
            editing.Rescreen          = _backup.Rescreen;
        }
        private void PrepareBackup()
        {
            _backup = new FlaggedPersonViewModel();
            FlaggedPersonViewModel editing = (FlaggedPersonViewModel)FlaggedPersonDataGrid.SelectedItem;

            _backup.DateModified      = editing.DateModified;
            _backup.DeniedAllServices = editing.DeniedAllServices;
            _backup.DeniedShelter     = editing.DeniedShelter;
            _backup.FirstName         = editing.FirstName;
            _backup.LastName          = editing.LastName;
            _backup.Narrative         = editing.Narrative;
            _backup.Rescreen          = editing.Rescreen;
        }
        private void RefocusGrid(FlaggedPersonViewModel target)
        {
            FlaggedPersonViewModel test = (from d in contextViewModel.FlaggedPeople
                                           where d.FirstName == target.FirstName &&
                                           d.LastName == target.LastName &&
                                           d.DateModified == target.DateModified
                                           select d).FirstOrDefault();

            if (test != null)
            {
                FlaggedPersonDataGrid.ScrollIntoView(test);
                FlaggedPersonDataGrid.SelectedItem = test;
            }
        }
        private void PrepareNewEntry()
        {
            ObservableCollection <FlaggedPersonViewModel> currentItemsSource =
                (ObservableCollection <FlaggedPersonViewModel>)FlaggedPersonDataGrid.ItemsSource;

            FlaggedPersonViewModel newEntry = new FlaggedPersonViewModel()
            {
                FirstName    = "{First Name}",
                LastName     = "{Last Name}",
                Narrative    = "{Narrative}",
                DateModified = System.DateTime.Today
            };

            currentItemsSource.Add(newEntry);

            DataGridCell lastNameCell = GridNavigator.GetCellByItem(FlaggedPersonDataGrid, newEntry, 0);

            lastNameCell.Focus();
            lastNameCell.IsEditing = true;
        }