Пример #1
0
 protected virtual void OnSavedStateChanged(SavedStates newSavedState)
 {
     if (SavedStateChanged == null)
     {
         return;
     }
     SavedStateChanged(this, new EventArgs <SavedStates>(newSavedState));
 }
Пример #2
0
            public void Restore(int transactionId)
            {
                if (SavedStates.TryGetValue(transactionId, out var savedState))
                {
                    SavedStates[transactionId] = _savedCellContent;

                    _savedCellContent = savedState;
                    RejectChanges();
                }
            }
Пример #3
0
        /// <summary>
        /// Remove selected state.
        /// </summary>
        /// <param name="index">Specifies which saved state should be removed.</param>
        protected bool RemoveState(int index)
        {
            if (!HasState(index))
            {
                return(false);
            }

            SavedStates.RemoveAt(index);
            return(true);
        }
Пример #4
0
        private void CancelChanges()
        {
            Category = new CategoryModel
            {
                CategoryName = SavedCategory.CategoryName
            };
            if (SavedCategory.CategoryID != null)
            {
                Category.CategoryID = SavedCategory.CategoryID;
            }

            States = new ObservableCollection <StateModel>(SavedStates.ToList());
        }
Пример #5
0
            public void CommitChanges(int transactionId, bool revertable)
            {
                if (revertable)
                {
                    SavedStates[transactionId] = _savedCellContent;
                }
                _savedCellContent = new CellContent(HostedCell);

                var maxSavedTransaction = SavedStates.Select(x => x.Key).DefaultIfEmpty(0).Max();

                for (var i = transactionId + 1; i <= maxSavedTransaction; i++)
                {
                    SavedStates.Remove(i);
                }
            }
Пример #6
0
 /// <summary>
 /// Remove all saved states.
 /// </summary>
 protected void ClearStates()
 {
     SavedStates.Clear();
 }
Пример #7
0
 /// <summary>
 /// Save current state.
 /// </summary>
 protected void SaveCurrentState()
 {
     SavedStates.Add(Originator.SaveStateToMemento());
 }