Ejemplo n.º 1
0
        private IObservable <ITransition> getCorrectTransitionFromResults(
            IEnumerable <IConflictResolutionResult <TThreadsafeModel> > results,
            TThreadsafeModel originalEntity)
        {
            foreach (var result in results)
            {
                switch (result)
                {
                case UpdateResult <TThreadsafeModel> u when u.OriginalId == originalEntity.Id:
                    return(Observable.Return(Done.Transition(extractFrom(result))));

                case IgnoreResult <TThreadsafeModel> i when i.Id == originalEntity.Id:
                    return(Observable.Return(EntityChanged.Transition(originalEntity)));
                }
            }
            throw new ArgumentException("Results must contain result with one of the specified ids.");
        }
Ejemplo n.º 2
0
 private IObservable <ITransition> entityChanged(TThreadsafeModel entity)
 => Observable.Return(EntityChanged.Transition(entity));