getEntityID method

  1. @override
Object? getEntityID(
  1. Object entity, {
  2. String? entityName,
  3. String? tableName,
  4. Type? entityType,
  5. EntityHandler? entityHandler,
})
override

Returns the entity ID for entityName, tableName or entityType.

Implementation

@override
Object? getEntityID(Object entity,
    {String? entityName,
    String? tableName,
    Type? entityType,
    EntityHandler? entityHandler}) {
  if (entity is num) {
    return entity;
  }

  entityType ??= entity.runtimeType;

  entityHandler ??= getEntityHandler(
      entityName: entityName, tableName: tableName, entityType: entityType);

  if (entityHandler == null) return null;

  if (entity is Map) {
    var idFieldsName = entityHandler.idFieldName();
    return entity[idFieldsName];
  } else {
    return entityHandler.getID(entity);
  }
}