Files
eatvio_app/lib/features/my_finance/entities/consultant_finance_entity.dart
2025-02-24 10:48:28 +03:00

81 lines
2.1 KiB
Dart

enum ConsultationStatus {
Completed,
Canceled,
CanceledByInitiator,
}
class ConsultantFinanceEntity {
final int totalConsultationsCount;
final int completedCount;
final int canceledCount;
final int canceledByInitiatorCount;
final List<ConsultationFinanceCardEntity> consultationsList;
ConsultantFinanceEntity({
required this.totalConsultationsCount,
required this.completedCount,
required this.canceledCount,
required this.canceledByInitiatorCount,
required this.consultationsList,
});
}
class ConsultationFinanceCardEntity {
final String id;
final DateTime date;
final String title;
final String clientName;
final int planDuration;
final int price;
final ConsultationStatus status;
ConsultationFinanceCardEntity({
required this.id,
required this.date,
required this.title,
required this.clientName,
required this.planDuration,
required this.price,
required this.status,
});
}
// Test data
final testConsultations = [
ConsultationFinanceCardEntity(
id: '1',
date: DateTime.now(),
title: 'Consultation A',
clientName: 'Alice',
planDuration: 30,
price: 100,
status: ConsultationStatus.Completed,
),
ConsultationFinanceCardEntity(
id: '2',
date: DateTime.now().subtract(Duration(days: 1)),
title: 'Consultation B',
clientName: 'Bob',
planDuration: 45,
price: 150,
status: ConsultationStatus.Canceled,
),
ConsultationFinanceCardEntity(
id: '3',
date: DateTime.now().subtract(Duration(days: 2)),
title: 'Consultation C',
clientName: 'Charlie',
planDuration: 60,
price: 200,
status: ConsultationStatus.CanceledByInitiator,
),
];
final testFinanceEntity = ConsultantFinanceEntity(
totalConsultationsCount: testConsultations.length,
completedCount: testConsultations.where((c) => c.status == ConsultationStatus.Completed).length,
canceledCount: testConsultations.where((c) => c.status == ConsultationStatus.Canceled).length,
canceledByInitiatorCount: testConsultations.where((c) => c.status == ConsultationStatus.CanceledByInitiator).length,
consultationsList: testConsultations,
);