getTaskStatus function
Implementation
Status getTaskStatus(Iterable<TaskModel> tasks) {
final statusMap = {
Status.delivered.toValue(): Status.delivered,
Status.notAdministered.toValue(): Status.notAdministered,
Status.visited.toValue(): Status.visited,
Status.notVisited.toValue(): Status.notVisited,
Status.beneficiaryRefused.toValue(): Status.beneficiaryRefused,
Status.beneficiaryReferred.toValue(): Status.beneficiaryReferred,
Status.administeredSuccess.toValue(): Status.administeredSuccess,
Status.administeredFailed.toValue(): Status.administeredFailed,
Status.inComplete.toValue(): Status.inComplete,
Status.toAdminister.toValue(): Status.toAdminister,
Status.closeHousehold.toValue(): Status.closeHousehold,
};
if (tasks.isEmpty) {
return Status.registered.toValue();
} else {
final mappedStatus =
statusMap[tasks.lastOrNull!.status ?? Status.registered];
if (mappedStatus != null) {
return mappedStatus;
}
}
return Status.registered.toValue();
}