public MergeResult <TDataObject> GetChanges(IReadOnlyCollection <ICommand> commands)
        {
            var specification = _storageBasedDataObjectAccessor.GetFindSpecification(commands);
            var source        = _storageBasedDataObjectAccessor.GetSource().WhereMatched(specification);
            var target        = _query.For <TDataObject>().WhereMatched(specification);

            var result = MergeTool.Merge(source, target, _identityComparer);

            return(result);
        }
Exemple #2
0
 public FindSpecification <T> GetFindSpecification(IReadOnlyCollection <ICommand> commands)
 => _implementation.GetFindSpecification(commands);
        public MergeResult <TDataObject> GetChanges(IReadOnlyCollection <ICommand> commands)
        {
            var specification = _storageBasedDataObjectAccessor.GetFindSpecification(commands);

            return(_dataChangesDetector.DetectChanges(specification));
        }