getHuAssignStatus method
Implementation
UnitAssignStatus getHuAssignStatus(List<HuStatus> huStatuses) {
if (huStatuses.isEmpty) {
return UnitAssignStatus.inactive;
}
List<HuStatus> activeStatuses = huStatuses
.where((s) => s.inactive != true)
.toList();
if (activeStatuses.isNotEmpty) {
List<int> numericStatuses = activeStatuses
.map((s) => int.parse(s.statusId!.replaceAll(RegExp(r'[^0-9]'), '')))
.toList();
int maxStatus = numericStatuses.reduce(max);
if (maxStatus >= 512 && maxStatus <= 520) {
return UnitAssignStatus.assigned;
} else if (maxStatus > 520) {
return UnitAssignStatus.showOnly;
} else if (maxStatus <= 511) {
return UnitAssignStatus.waitingForScan;
}
}
return UnitAssignStatus.inactive;
}