- 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>
100 lines
2.4 KiB
Dart
Executable File
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,
|
|
});
|
|
}
|