47 lines
1.1 KiB
Dart
47 lines
1.1 KiB
Dart
class HoseItem {
|
|
final int talkgroupId;
|
|
final String talkgroupName;
|
|
final String sourceCall;
|
|
final String? sourceName;
|
|
final int slot;
|
|
final DateTime lastActivity;
|
|
final bool isActive;
|
|
|
|
HoseItem({
|
|
required this.talkgroupId,
|
|
required this.talkgroupName,
|
|
required this.sourceCall,
|
|
this.sourceName,
|
|
required this.slot,
|
|
required this.lastActivity,
|
|
required this.isActive,
|
|
});
|
|
|
|
String get displayName {
|
|
if (sourceName != null && sourceName!.isNotEmpty) {
|
|
return '$sourceCall ($sourceName)';
|
|
}
|
|
return sourceCall;
|
|
}
|
|
|
|
HoseItem copyWith({
|
|
int? talkgroupId,
|
|
String? talkgroupName,
|
|
String? sourceCall,
|
|
String? sourceName,
|
|
int? slot,
|
|
DateTime? lastActivity,
|
|
bool? isActive,
|
|
}) {
|
|
return HoseItem(
|
|
talkgroupId: talkgroupId ?? this.talkgroupId,
|
|
talkgroupName: talkgroupName ?? this.talkgroupName,
|
|
sourceCall: sourceCall ?? this.sourceCall,
|
|
sourceName: sourceName ?? this.sourceName,
|
|
slot: slot ?? this.slot,
|
|
lastActivity: lastActivity ?? this.lastActivity,
|
|
isActive: isActive ?? this.isActive,
|
|
);
|
|
}
|
|
}
|