Initial commit: unionflow-mobile-apps
Application Flutter complète (sans build artifacts). Signed-off-by: lions dev Team
This commit is contained in:
52
lib/features/epargne/data/models/compte_epargne_model.dart
Normal file
52
lib/features/epargne/data/models/compte_epargne_model.dart
Normal file
@@ -0,0 +1,52 @@
|
||||
/// Modèle d'un compte épargne (aligné API CompteEpargneResponse).
|
||||
class CompteEpargneModel {
|
||||
final String? id;
|
||||
final String? membreId;
|
||||
final String? organisationId;
|
||||
final String? numeroCompte;
|
||||
final String? typeCompte;
|
||||
final double soldeActuel;
|
||||
final double soldeBloque;
|
||||
final String? statut;
|
||||
final DateTime? dateOuverture;
|
||||
final DateTime? dateDerniereTransaction;
|
||||
final String? description;
|
||||
|
||||
const CompteEpargneModel({
|
||||
this.id,
|
||||
this.membreId,
|
||||
this.organisationId,
|
||||
this.numeroCompte,
|
||||
this.typeCompte,
|
||||
this.soldeActuel = 0,
|
||||
this.soldeBloque = 0,
|
||||
this.statut,
|
||||
this.dateOuverture,
|
||||
this.dateDerniereTransaction,
|
||||
this.description,
|
||||
});
|
||||
|
||||
factory CompteEpargneModel.fromJson(Map<String, dynamic> json) {
|
||||
return CompteEpargneModel(
|
||||
id: json['id']?.toString(),
|
||||
membreId: json['membreId']?.toString(),
|
||||
organisationId: json['organisationId']?.toString(),
|
||||
numeroCompte: json['numeroCompte'] as String?,
|
||||
typeCompte: json['typeCompte'] as String?,
|
||||
soldeActuel: _toDouble(json['soldeActuel']),
|
||||
soldeBloque: _toDouble(json['soldeBloque']),
|
||||
statut: json['statut'] as String?,
|
||||
dateOuverture: json['dateOuverture'] != null ? DateTime.tryParse(json['dateOuverture'].toString()) : null,
|
||||
dateDerniereTransaction: json['dateDerniereTransaction'] != null ? DateTime.tryParse(json['dateDerniereTransaction'].toString()) : null,
|
||||
description: json['description'] as String?,
|
||||
);
|
||||
}
|
||||
|
||||
static double _toDouble(dynamic v) {
|
||||
if (v == null) return 0;
|
||||
if (v is num) return v.toDouble();
|
||||
return double.tryParse(v.toString()) ?? 0;
|
||||
}
|
||||
|
||||
double get soldeDisponible => soldeActuel - soldeBloque;
|
||||
}
|
||||
Reference in New Issue
Block a user