Files
EM2_ERP/em2rp/lib/services/event_preparation_service.dart
T

73 lines
2.2 KiB
Dart

class EventPreparationService {
/// Retourne true si l'équipement était absent du flux événementiel.
///
/// Cas typique: matériel jamais emporté au départ, donc absent au retour,
/// mais qui ne doit jamais être classé en [LOST].
static bool isEquipmentNotTakenToEvent({
required bool isMissingAtReturn,
required bool isLoaded,
required bool isMissingAtLoading,
int? quantityAtLoading,
}) {
if (!isMissingAtReturn) {
return false;
}
final loadedQuantity = quantityAtLoading ?? 0;
return !isLoaded || isMissingAtLoading || loadedQuantity <= 0;
}
/// Retourne true uniquement si l'équipement doit être classé perdu.
static bool shouldMarkEquipmentAsLost({
required bool isReturnValidationStep,
required bool isMissingAtReturn,
required bool isLoaded,
required bool isMissingAtLoading,
int? quantityAtLoading,
}) {
if (!isReturnValidationStep || !isMissingAtReturn) {
return false;
}
return !isEquipmentNotTakenToEvent(
isMissingAtReturn: isMissingAtReturn,
isLoaded: isLoaded,
isMissingAtLoading: isMissingAtLoading,
quantityAtLoading: quantityAtLoading,
);
}
// Ces méthodes ne sont plus utilisées et devraient être remplacées par des Cloud Functions
// si nécessaire dans le futur
/*
@Deprecated('Use Cloud Functions instead')
Future<void> completePreparationWithMissing(
String eventId,
List<String> missingEquipmentIds,
) async {
throw UnimplementedError('This method is deprecated. Use Cloud Functions instead.');
}
*/
/*
@Deprecated('Use Cloud Functions instead')
Future<void> completeReturnWithMissing(
String eventId,
List<String> missingEquipmentIds,
) async {
throw UnimplementedError('This method is deprecated. Use Cloud Functions instead.');
}
// Les méthodes helper suivantes étaient uniquement utilisées par les méthodes deprecated ci-dessus.
// Elles ont été supprimées car elles accédaient directement à Firestore.
// Si ces fonctionnalités sont nécessaires à l'avenir, elles doivent être implémentées
// via des Cloud Functions pour respecter l'architecture.
*/
}