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); }
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)); }