41 lines
1.4 KiB
Dart
41 lines
1.4 KiB
Dart
/// 장비 정보 표시를 위한 헬퍼 클래스 (SRP, 재사용성, 테스트 용이성 중심)
|
|
class EquipmentDisplayHelper {
|
|
/// 제조사명 포맷팅 (빈 값은 대시로 표시)
|
|
static String formatManufacturer(String? manufacturer) {
|
|
if (manufacturer == null || manufacturer.isEmpty) return '-';
|
|
return manufacturer;
|
|
}
|
|
|
|
/// 장비명 포맷팅 (빈 값은 대시로 표시)
|
|
static String formatEquipmentName(String? name) {
|
|
if (name == null || name.isEmpty) return '-';
|
|
return name;
|
|
}
|
|
|
|
/// 카테고리 포맷팅 (비어있지 않은 카테고리만 합침)
|
|
static String formatCategory(
|
|
String? category,
|
|
String? subCategory,
|
|
String? subSubCategory,
|
|
) {
|
|
final parts = [
|
|
if (category != null && category.isNotEmpty) category,
|
|
if (subCategory != null && subCategory.isNotEmpty) subCategory,
|
|
if (subSubCategory != null && subSubCategory.isNotEmpty) subSubCategory,
|
|
];
|
|
if (parts.isEmpty) return '-';
|
|
return parts.join(' > ');
|
|
}
|
|
|
|
/// 시리얼 번호 포맷팅 (없으면 대시)
|
|
static String formatSerialNumber(String? serialNumber) {
|
|
return serialNumber?.isNotEmpty == true ? serialNumber! : '-';
|
|
}
|
|
|
|
/// 날짜 포맷팅 (YYYY-MM-DD, null이면 대시)
|
|
static String formatDate(DateTime? date) {
|
|
if (date == null) return '-';
|
|
return '${date.year}-${date.month.toString().padLeft(2, '0')}-${date.day.toString().padLeft(2, '0')}';
|
|
}
|
|
}
|