public Task <bool> Add(SnapshotElement <BaseAggregate> snapshot)
 {
     lock (_snapshots)
     {
         _snapshots.Add(snapshot);
         return(Task.FromResult(true));
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Makes a snapshot of the given object and starts dirty state detection
        /// </summary>
        /// <param name="obj"></param>
        public void Start(object obj)
        {
            if (obj == null)
            {
                throw new ArgumentNullException("obj");
            }
            CleanUp();

            _snapshotElement = SnaphotFactory.Create(this, obj);
        }
Exemplo n.º 3
0
 private void CleanUp()
 {
     if (_snapshotElement != null)
     {
         _snapshotElement.ReleaseListeners();
         _snapshotElement = null;
     }
     _modifiedProperties.Clear();
     IsDirty = false;
 }
Exemplo n.º 4
0
 internal void MarkPropertyAsChanged(SnapshotElement propertySnapshot)
 {
     this._modifiedProperties.Add(propertySnapshot);
     UpdateDirtyState();
 }
        private static SnapshotElement <T> Copy <T>(SnapshotElement <BaseAggregate> obj) where T : BaseAggregate
        {
            var copy = (T)(obj.Content).Clone();

            return(new SnapshotElement <T>(obj.Start, obj.CreateDateTime, obj.Id, copy));
        }