Пример #1
0
 public VectorClockSyncResult <T> ToModel()
 {
     if (Solution != null)
     {
         return(VectorClockSyncResult <T> .Successfull(CurrentNode.ToModel(), Solution.ToModel()));
     }
     return(VectorClockSyncResult <T> .Conflictual(CurrentNode.ToModel(), Conflict.ToModel()));
 }
Пример #2
0
        public VectorClockSyncResult <T> ResolveConflict(VectorClockSyncResult <T> conflict)
        {
            if (conflict.IsSuccessfull)
            {
                throw new InvalidOperationException($"{nameof(conflict)} is already resolved");
            }

            return(conflict.ResolveConflict(mediator.Invoke(conflict.Conflict.NodeA.Payload, conflict.Conflict.NodeB.Payload)));
        }
Пример #3
0
 public static VectorClockSyncResultDto <T> FromModel(VectorClockSyncResult <T> model)
 {
     return(new VectorClockSyncResultDto <T>
     {
         Solution = VectorClockNodeDto <T> .FromModel(model.Solution),
         Conflict = VectorClockConflictDto <T> .FromModel(model.Conflict),
         CurrentNode = VectorClockNodeDto <T> .FromModel(model.CurrentNode),
     });
 }
 public VectorClockSyncResult <T> ResolveConflict(VectorClockSyncResult <T> conflict) => conflict;