import 'package:equatable/equatable.dart';

class CompteAdherentEntity extends Equatable {
  final String numeroMembre;
  final String nomComplet;
  final String? organisationNom;
  final DateTime? dateAdhesion;
  final String statutCompte;

  final double soldeCotisations;
  final double soldeEpargne;
  final double soldeBloque;
  final double soldeTotalDisponible;
  final double encoursCreditTotal;
  final double capaciteEmprunt;

  final int nombreCotisationsPayees;
  final int nombreCotisationsTotal;
  final int nombreCotisationsEnRetard;
  final double engagementRate;

  final int nombreComptesEpargne;
  final DateTime dateCalcul;

  const CompteAdherentEntity({
    required this.numeroMembre,
    required this.nomComplet,
    this.organisationNom,
    this.dateAdhesion,
    required this.statutCompte,
    required this.soldeCotisations,
    required this.soldeEpargne,
    required this.soldeBloque,
    required this.soldeTotalDisponible,
    required this.encoursCreditTotal,
    required this.capaciteEmprunt,
    required this.nombreCotisationsPayees,
    required this.nombreCotisationsTotal,
    required this.nombreCotisationsEnRetard,
    required this.engagementRate,
    required this.nombreComptesEpargne,
    required this.dateCalcul,
  });

  @override
  List<Object?> get props => [
        numeroMembre,
        nomComplet,
        organisationNom,
        dateAdhesion,
        statutCompte,
        soldeCotisations,
        soldeEpargne,
        soldeBloque,
        soldeTotalDisponible,
        encoursCreditTotal,
        capaciteEmprunt,
        nombreCotisationsPayees,
        nombreCotisationsTotal,
        nombreCotisationsEnRetard,
        engagementRate,
        nombreComptesEpargne,
        dateCalcul,
      ];
}
