public void DeleteAssignments(object layer, Luna.WPF.ApplicationFramework.Controls.CellEditRoutedEventArgs e)
        {
            if (layer == null)
            {
                return;
            }

            CellTraversal(SelectionTimeRange, _selectionDataRowRange, AssignmentType.DayOff, ResetAgentWhenCellEditing, WhenAgentDirty, BindableAgents, (value, item) => item.Is <UnknowAssignment>(),
                          (AssignmentType choosedTermStyle, IAgent agent, ITerm term) => TryDeleteTerm(agent, (IIndependenceTerm)term), AnyShiftCellValueChanged, e);
        }
        public void ChangeShfitCells(object newValue, Luna.WPF.ApplicationFramework.Controls.CellEditRoutedEventArgs e)
        {
            IEnumerable <SubEventInsertRule> subeventInsertRules = null;

            CellTraversal(SelectionTimeRange, _selectionDataRowRange, newValue, ResetAgentWhenCellEditing, WhenAgentDirty, BindableAgents, Equals, (AssignmentType choosedTermStyle, IAgent agent, ITerm term) =>
            {
                if (subeventInsertRules == null)
                {
                    subeventInsertRules = _shiftDispatcherModel.LoadSubEventInsertRules(choosedTermStyle);
                }
                return(ReplaceAssignment(choosedTermStyle, agent, term));
            }, AnyShiftCellValueChanged, e);
        }