getUuidOfLastService method
Helper, only used in ClientService, it delete last ServiceOfJournal.
Note: it delete services in this order:
- rejected,
- stalled,
- finished,
- outdated.
Implementation
String? getUuidOfLastService({
required int servId,
required int contractId,
}) {
try {
final servList = all.where(
(element) =>
element.servId == servId && element.contractId == contractId,
);
final serv = servList.lastWhere(
(element) => element.state == ServiceState.rejected,
orElse: () => servList.lastWhere(
(element) => element.state == ServiceState.added,
orElse: () => servList.lastWhere(
(element) => element.state == ServiceState.finished,
orElse: () => servList.lastWhere(
(element) => element.state == ServiceState.outDated,
),
),
),
);
final uid = serv.uid;
return uid;
// ignore: avoid_catching_errors
} on StateError catch (e) {
log.severe(
'Error: $e, can not delete service #$servId of contract #$contractId',
);
}
return null;
}