private void DataGridCell_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            DataGridCell cell = sender as DataGridCell;

            BADataGrid.GridColumnFastEdit(cell, e);
        }
        private void DataGridCell_PreviewTextInput(object sender, TextCompositionEventArgs e)
        {
            DataGridCell cell = sender as DataGridCell;

            BADataGrid.GridColumnFastEdit(cell, e);
        }
        private void timer_Closed(object sender, EventArgs e)
        {
            if (wnd.DialogResult.HasValue && wnd.DialogResult.Value)
            {
                try
                {
                    grid.Focus();
                    grid.SelectedCells.Clear();
                    grid.SelectedCells.Add(wnd.Cell);
                    grid.CurrentCell = wnd.Cell;

                    var setViewModel = grid.GetSetCellForCurrentRest();
                    var setCell      = setViewModel;
                    setCell.EnsureSetExists();

                    if (grid.IsRestColumnSelected())
                    {
                        setCell.Set.EndTime = wnd.StartTime;
                        var item = setCell.Set.StrengthTrainingItem;

                        var index   = item.Series.IndexOf(setCell.Set) + 1;
                        var nextSet = setCell.Parent.GetSetViewModel(index);
                        nextSet.EnsureSetExists();

                        var newIndex = item.Series.IndexOf(nextSet.Set);
                        if (newIndex == -1)
                        {
                            item.AddSerie(nextSet.Set);
                        }
                        nextSet.Set.StartTime = wnd.EndTime;
                        setCell.Parent.UpdateReadOnly();
                        setCell.Parent.UpdateSetsDisplay();

                        var cell = grid.GetCell(grid.GetSelectedRow(), grid.CurrentCell.Column.DisplayIndex + 1);
                        if (cell != null)
                        {
                            cell.IsSelected = true;
                            BADataGrid.GridColumnFastEdit(cell, new RoutedEventArgs());
                        }
                    }
                    else
                    {
                        setCell.Set.StartTime = wnd.StartTime;
                        setCell.Set.EndTime   = wnd.EndTime;
                        if (setCell.Set.StrengthTrainingItem.Exercise.ExerciseType == ExerciseType.Cardio)
                        {
                            setCell.Set.Weight = (int)(setCell.Set.EndTime.Value - setCell.Set.StartTime.Value).TotalSeconds;
                        }
                        setCell.UpdateDisplay();
                        setCell.Parent.UpdateReadOnly();
                        var cell = grid.GetCell(grid.GetSelectedRow(), grid.CurrentCell.Column.DisplayIndex);
                        BADataGrid.GridColumnFastEdit(cell, new RoutedEventArgs());
                    }
                }
                catch (Exception ex)
                {
                    ExceptionHandler.Default.Process(ex, "ErrTimerGridChanged".TranslateStrength(), ErrorWindow.MessageBox);
                }
                finally
                {
                    updateToolbar();
                }
            }
        }