integrate method

  1. @override
void integrate(
  1. IEntities<E> fromEntities
)
override

Implementation

@override
void integrate(IEntities<E> fromEntities) {
  for (var entity in toList()) {
    var fromEntity = fromEntities.singleWhereOid(entity.oid);
    if (fromEntity == null) {
      remove(entity);
    }
  }
  for (var fromEntity in fromEntities) {
    var entity = singleWhereOid(fromEntity.oid);
    if (entity != null && entity.whenSet != null) {
      if (entity.whenSet!.millisecondsSinceEpoch <
          fromEntity.whenSet!.millisecondsSinceEpoch) {
        entity.setAttributesFrom(fromEntity);
      }
    } else {
      add(fromEntity);
    }
  }
}