Files
geo/app/lib/presentation/widgets/charts/passage_data.dart
pierre 599b9fcda0 feat: Gestion des secteurs et migration v3.0.4+304
- Ajout système complet de gestion des secteurs avec contours géographiques
- Import des contours départementaux depuis GeoJSON
- API REST pour la gestion des secteurs (/api/sectors)
- Service de géolocalisation pour déterminer les secteurs
- Migration base de données avec tables x_departements_contours et sectors_adresses
- Interface Flutter pour visualisation et gestion des secteurs
- Ajout thème sombre dans l'application
- Corrections diverses et optimisations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-07 11:01:45 +02:00

100 lines
2.4 KiB
Dart
Executable File

import 'package:flutter/material.dart';
/// Modèle de données pour représenter un passage avec sa date, son type et son nombre
class PassageData {
/// Date du passage
final DateTime date;
/// Identifiant du type de passage (1: Effectué, 2: À finaliser, 3: Refusé, etc.)
final int typeId;
/// Nombre de passages
final int count;
/// Couleur associée au type de passage
final Color color;
/// Icône associée au type de passage (chemin vers le fichier d'icône)
final String iconPath;
/// Titre du type de passage
final String title;
const PassageData({
required this.date,
required this.typeId,
required this.count,
required this.color,
required this.iconPath,
required this.title,
});
/// Crée une instance de PassageData à partir d'une date au format ISO 8601
factory PassageData.fromIsoDate({
required String isoDate,
required int typeId,
required int count,
required Color color,
required String iconPath,
required String title,
}) {
return PassageData(
date: DateTime.parse(isoDate),
typeId: typeId,
count: count,
color: color,
iconPath: iconPath,
title: title,
);
}
}
/// Modèle de données pour représenter un règlement avec sa date, son type et son montant
class PaymentAmountData {
/// Date du règlement
final DateTime date;
/// Identifiant du type de règlement (1: Espèces, 2: Chèques, 3: CB)
final int typeId;
/// Montant du règlement
final double amount;
/// Couleur associée au type de règlement
final Color color;
/// Icône associée au type de règlement (chemin vers le fichier d'icône ou IconData)
final dynamic iconData;
/// Titre du type de règlement
final String title;
/// Crée une instance de PaymentAmountData à partir d'une date au format ISO 8601
factory PaymentAmountData.fromIsoDate({
required String isoDate,
required int typeId,
required double amount,
required Color color,
required dynamic iconData,
required String title,
}) {
return PaymentAmountData(
date: DateTime.parse(isoDate),
typeId: typeId,
amount: amount,
color: color,
iconData: iconData,
title: title,
);
}
const PaymentAmountData({
required this.date,
required this.typeId,
required this.amount,
required this.color,
required this.iconData,
required this.title,
});
}