private static OperationBase TransformInsertDelete(InsertOperation remoteInsert, DeleteOperation localDelete) { if (remoteInsert.Position <= localDelete.Position) { return(remoteInsert); } else { return(remoteInsert.NewWithPosition(remoteInsert.Position - localDelete.Length)); } }
private static OperationBase TransformInsertInsert(InsertOperation remoteInsert, InsertOperation localInsert) { if (remoteInsert.Position < localInsert.Position || (remoteInsert.Position == localInsert.Position && remoteInsert.UserId > localInsert.UserId)) { return(remoteInsert); } else { return(remoteInsert.NewWithPosition(remoteInsert.Position + localInsert.Length)); } }
private static OperationBase TransformDeleteInsert(DeleteOperation remoteDelete, InsertOperation localInsert) { if (remoteDelete.Position < localInsert.Position) { return(remoteDelete); } else { return(remoteDelete.NewWithPosition(remoteDelete.Position + localInsert.Length)); } }