34 lines
1.2 KiB
Dart
34 lines
1.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:geosector_app/core/constants/app_keys.dart';
|
|
import 'package:geosector_app/presentation/widgets/charts/payment_data.dart';
|
|
|
|
/// Utilitaires pour les paiements et règlements
|
|
class PaymentUtils {
|
|
/// Convertit les données de règlement depuis les constantes AppKeys
|
|
///
|
|
/// [paymentAmounts] est une Map associant l'ID du type de règlement à son montant
|
|
static List<PaymentData> getPaymentDataFromAmounts(
|
|
Map<int, double> paymentAmounts) {
|
|
final List<PaymentData> paymentDataList = [];
|
|
|
|
// Parcourir tous les types de règlements définis dans AppKeys
|
|
AppKeys.typesReglements.forEach((typeId, typeData) {
|
|
// Vérifier si nous avons un montant pour ce type de règlement
|
|
final double amount = paymentAmounts[typeId] ?? 0.0;
|
|
|
|
// Créer un objet PaymentData pour ce type de règlement
|
|
final PaymentData paymentData = PaymentData(
|
|
typeId: typeId,
|
|
amount: amount,
|
|
color: Color(typeData['couleur'] as int),
|
|
icon: typeData['icon_data'] as IconData,
|
|
title: typeData['titre'] as String,
|
|
);
|
|
|
|
paymentDataList.add(paymentData);
|
|
});
|
|
|
|
return paymentDataList;
|
|
}
|
|
}
|