apskel-owner-flutter/lib/domain/analytic/entities/payment_method_analytic_entity.dart
Efril 8d801e52d9
Some checks are pending
Build & Deploy iOS to TestFlight / build-and-deploy (push) Waiting to run
feat: update sales ui
2026-06-23 23:18:22 +07:00

67 lines
1.7 KiB
Dart

part of '../analytic.dart';
@freezed
class PaymentMethodAnalytic with _$PaymentMethodAnalytic {
const factory PaymentMethodAnalytic({
required String organizationId,
required String outletId,
required String outletName,
required String dateFrom,
required String dateTo,
required String groupBy,
required PaymentMethodSummary summary,
required List<PaymentMethodItem> data,
}) = _PaymentMethodAnalytic;
factory PaymentMethodAnalytic.empty() => PaymentMethodAnalytic(
organizationId: '',
outletId: '',
outletName: '',
dateFrom: '',
dateTo: '',
groupBy: '',
summary: PaymentMethodSummary.empty(),
data: [],
);
}
@freezed
class PaymentMethodItem with _$PaymentMethodItem {
const factory PaymentMethodItem({
required String paymentMethodId,
required String paymentMethodName,
required String paymentMethodType,
required num totalAmount,
required int orderCount,
required int paymentCount,
required double percentage,
}) = _PaymentMethodItem;
factory PaymentMethodItem.empty() => const PaymentMethodItem(
paymentMethodId: '',
paymentMethodName: '',
paymentMethodType: '',
totalAmount: 0,
orderCount: 0,
paymentCount: 0,
percentage: 0.0,
);
}
@freezed
class PaymentMethodSummary with _$PaymentMethodSummary {
const factory PaymentMethodSummary({
required num totalAmount,
required int totalOrders,
required int totalPayments,
required double averageOrderValue,
}) = _PaymentMethodSummary;
factory PaymentMethodSummary.empty() => const PaymentMethodSummary(
totalAmount: 0,
totalOrders: 0,
totalPayments: 0,
averageOrderValue: 0.0,
);
}