report payment method
This commit is contained in:
parent
14c3c69ad6
commit
5a7892aa99
@ -0,0 +1,59 @@
|
||||
import 'package:bloc/bloc.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:injectable/injectable.dart';
|
||||
|
||||
import '../../../domain/analytic/analytic.dart';
|
||||
|
||||
part 'payment_method_analytic_loader_event.dart';
|
||||
part 'payment_method_analytic_loader_state.dart';
|
||||
part 'payment_method_analytic_loader_bloc.freezed.dart';
|
||||
|
||||
@injectable
|
||||
class PaymentMethodAnalyticLoaderBloc
|
||||
extends
|
||||
Bloc<
|
||||
PaymentMethodAnalyticLoaderEvent,
|
||||
PaymentMethodAnalyticLoaderState
|
||||
> {
|
||||
final IAnalyticRepository _analyticRepository;
|
||||
PaymentMethodAnalyticLoaderBloc(this._analyticRepository)
|
||||
: super(PaymentMethodAnalyticLoaderState.initial()) {
|
||||
on<PaymentMethodAnalyticLoaderEvent>(_onPaymentMethodAnalyticLoaderEvent);
|
||||
}
|
||||
|
||||
Future<void> _onPaymentMethodAnalyticLoaderEvent(
|
||||
PaymentMethodAnalyticLoaderEvent event,
|
||||
Emitter<PaymentMethodAnalyticLoaderState> emit,
|
||||
) {
|
||||
return event.map(
|
||||
fetched: (e) async {
|
||||
emit(state.copyWith(isFetching: true, failureOption: none()));
|
||||
|
||||
final result = await _analyticRepository.getPaymentMethod(
|
||||
dateFrom: e.startDate,
|
||||
dateTo: e.endDate,
|
||||
);
|
||||
|
||||
await result.fold(
|
||||
(failure) async {
|
||||
emit(
|
||||
state.copyWith(
|
||||
isFetching: false,
|
||||
failureOption: optionOf(failure),
|
||||
),
|
||||
);
|
||||
},
|
||||
(paymentMethod) async {
|
||||
emit(
|
||||
state.copyWith(
|
||||
isFetching: false,
|
||||
paymentMethodAnalytic: paymentMethod,
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,487 @@
|
||||
// coverage:ignore-file
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
|
||||
|
||||
part of 'payment_method_analytic_loader_bloc.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// FreezedGenerator
|
||||
// **************************************************************************
|
||||
|
||||
T _$identity<T>(T value) => value;
|
||||
|
||||
final _privateConstructorUsedError = UnsupportedError(
|
||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models',
|
||||
);
|
||||
|
||||
/// @nodoc
|
||||
mixin _$PaymentMethodAnalyticLoaderEvent {
|
||||
DateTime get startDate => throw _privateConstructorUsedError;
|
||||
DateTime get endDate => throw _privateConstructorUsedError;
|
||||
@optionalTypeArgs
|
||||
TResult when<TResult extends Object?>({
|
||||
required TResult Function(DateTime startDate, DateTime endDate) fetched,
|
||||
}) => throw _privateConstructorUsedError;
|
||||
@optionalTypeArgs
|
||||
TResult? whenOrNull<TResult extends Object?>({
|
||||
TResult? Function(DateTime startDate, DateTime endDate)? fetched,
|
||||
}) => throw _privateConstructorUsedError;
|
||||
@optionalTypeArgs
|
||||
TResult maybeWhen<TResult extends Object?>({
|
||||
TResult Function(DateTime startDate, DateTime endDate)? fetched,
|
||||
required TResult orElse(),
|
||||
}) => throw _privateConstructorUsedError;
|
||||
@optionalTypeArgs
|
||||
TResult map<TResult extends Object?>({
|
||||
required TResult Function(_Fetched value) fetched,
|
||||
}) => throw _privateConstructorUsedError;
|
||||
@optionalTypeArgs
|
||||
TResult? mapOrNull<TResult extends Object?>({
|
||||
TResult? Function(_Fetched value)? fetched,
|
||||
}) => throw _privateConstructorUsedError;
|
||||
@optionalTypeArgs
|
||||
TResult maybeMap<TResult extends Object?>({
|
||||
TResult Function(_Fetched value)? fetched,
|
||||
required TResult orElse(),
|
||||
}) => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticLoaderEvent
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$PaymentMethodAnalyticLoaderEventCopyWith<PaymentMethodAnalyticLoaderEvent>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $PaymentMethodAnalyticLoaderEventCopyWith<$Res> {
|
||||
factory $PaymentMethodAnalyticLoaderEventCopyWith(
|
||||
PaymentMethodAnalyticLoaderEvent value,
|
||||
$Res Function(PaymentMethodAnalyticLoaderEvent) then,
|
||||
) =
|
||||
_$PaymentMethodAnalyticLoaderEventCopyWithImpl<
|
||||
$Res,
|
||||
PaymentMethodAnalyticLoaderEvent
|
||||
>;
|
||||
@useResult
|
||||
$Res call({DateTime startDate, DateTime endDate});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$PaymentMethodAnalyticLoaderEventCopyWithImpl<
|
||||
$Res,
|
||||
$Val extends PaymentMethodAnalyticLoaderEvent
|
||||
>
|
||||
implements $PaymentMethodAnalyticLoaderEventCopyWith<$Res> {
|
||||
_$PaymentMethodAnalyticLoaderEventCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticLoaderEvent
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({Object? startDate = null, Object? endDate = null}) {
|
||||
return _then(
|
||||
_value.copyWith(
|
||||
startDate: null == startDate
|
||||
? _value.startDate
|
||||
: startDate // ignore: cast_nullable_to_non_nullable
|
||||
as DateTime,
|
||||
endDate: null == endDate
|
||||
? _value.endDate
|
||||
: endDate // ignore: cast_nullable_to_non_nullable
|
||||
as DateTime,
|
||||
)
|
||||
as $Val,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$FetchedImplCopyWith<$Res>
|
||||
implements $PaymentMethodAnalyticLoaderEventCopyWith<$Res> {
|
||||
factory _$$FetchedImplCopyWith(
|
||||
_$FetchedImpl value,
|
||||
$Res Function(_$FetchedImpl) then,
|
||||
) = __$$FetchedImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({DateTime startDate, DateTime endDate});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$FetchedImplCopyWithImpl<$Res>
|
||||
extends _$PaymentMethodAnalyticLoaderEventCopyWithImpl<$Res, _$FetchedImpl>
|
||||
implements _$$FetchedImplCopyWith<$Res> {
|
||||
__$$FetchedImplCopyWithImpl(
|
||||
_$FetchedImpl _value,
|
||||
$Res Function(_$FetchedImpl) _then,
|
||||
) : super(_value, _then);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticLoaderEvent
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({Object? startDate = null, Object? endDate = null}) {
|
||||
return _then(
|
||||
_$FetchedImpl(
|
||||
startDate: null == startDate
|
||||
? _value.startDate
|
||||
: startDate // ignore: cast_nullable_to_non_nullable
|
||||
as DateTime,
|
||||
endDate: null == endDate
|
||||
? _value.endDate
|
||||
: endDate // ignore: cast_nullable_to_non_nullable
|
||||
as DateTime,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
||||
class _$FetchedImpl implements _Fetched {
|
||||
const _$FetchedImpl({required this.startDate, required this.endDate});
|
||||
|
||||
@override
|
||||
final DateTime startDate;
|
||||
@override
|
||||
final DateTime endDate;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'PaymentMethodAnalyticLoaderEvent.fetched(startDate: $startDate, endDate: $endDate)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$FetchedImpl &&
|
||||
(identical(other.startDate, startDate) ||
|
||||
other.startDate == startDate) &&
|
||||
(identical(other.endDate, endDate) || other.endDate == endDate));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(runtimeType, startDate, endDate);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticLoaderEvent
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$FetchedImplCopyWith<_$FetchedImpl> get copyWith =>
|
||||
__$$FetchedImplCopyWithImpl<_$FetchedImpl>(this, _$identity);
|
||||
|
||||
@override
|
||||
@optionalTypeArgs
|
||||
TResult when<TResult extends Object?>({
|
||||
required TResult Function(DateTime startDate, DateTime endDate) fetched,
|
||||
}) {
|
||||
return fetched(startDate, endDate);
|
||||
}
|
||||
|
||||
@override
|
||||
@optionalTypeArgs
|
||||
TResult? whenOrNull<TResult extends Object?>({
|
||||
TResult? Function(DateTime startDate, DateTime endDate)? fetched,
|
||||
}) {
|
||||
return fetched?.call(startDate, endDate);
|
||||
}
|
||||
|
||||
@override
|
||||
@optionalTypeArgs
|
||||
TResult maybeWhen<TResult extends Object?>({
|
||||
TResult Function(DateTime startDate, DateTime endDate)? fetched,
|
||||
required TResult orElse(),
|
||||
}) {
|
||||
if (fetched != null) {
|
||||
return fetched(startDate, endDate);
|
||||
}
|
||||
return orElse();
|
||||
}
|
||||
|
||||
@override
|
||||
@optionalTypeArgs
|
||||
TResult map<TResult extends Object?>({
|
||||
required TResult Function(_Fetched value) fetched,
|
||||
}) {
|
||||
return fetched(this);
|
||||
}
|
||||
|
||||
@override
|
||||
@optionalTypeArgs
|
||||
TResult? mapOrNull<TResult extends Object?>({
|
||||
TResult? Function(_Fetched value)? fetched,
|
||||
}) {
|
||||
return fetched?.call(this);
|
||||
}
|
||||
|
||||
@override
|
||||
@optionalTypeArgs
|
||||
TResult maybeMap<TResult extends Object?>({
|
||||
TResult Function(_Fetched value)? fetched,
|
||||
required TResult orElse(),
|
||||
}) {
|
||||
if (fetched != null) {
|
||||
return fetched(this);
|
||||
}
|
||||
return orElse();
|
||||
}
|
||||
}
|
||||
|
||||
abstract class _Fetched implements PaymentMethodAnalyticLoaderEvent {
|
||||
const factory _Fetched({
|
||||
required final DateTime startDate,
|
||||
required final DateTime endDate,
|
||||
}) = _$FetchedImpl;
|
||||
|
||||
@override
|
||||
DateTime get startDate;
|
||||
@override
|
||||
DateTime get endDate;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticLoaderEvent
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$FetchedImplCopyWith<_$FetchedImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
mixin _$PaymentMethodAnalyticLoaderState {
|
||||
PaymentMethodAnalytic get paymentMethodAnalytic =>
|
||||
throw _privateConstructorUsedError;
|
||||
Option<AnalyticFailure> get failureOption =>
|
||||
throw _privateConstructorUsedError;
|
||||
bool get isFetching => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticLoaderState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$PaymentMethodAnalyticLoaderStateCopyWith<PaymentMethodAnalyticLoaderState>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $PaymentMethodAnalyticLoaderStateCopyWith<$Res> {
|
||||
factory $PaymentMethodAnalyticLoaderStateCopyWith(
|
||||
PaymentMethodAnalyticLoaderState value,
|
||||
$Res Function(PaymentMethodAnalyticLoaderState) then,
|
||||
) =
|
||||
_$PaymentMethodAnalyticLoaderStateCopyWithImpl<
|
||||
$Res,
|
||||
PaymentMethodAnalyticLoaderState
|
||||
>;
|
||||
@useResult
|
||||
$Res call({
|
||||
PaymentMethodAnalytic paymentMethodAnalytic,
|
||||
Option<AnalyticFailure> failureOption,
|
||||
bool isFetching,
|
||||
});
|
||||
|
||||
$PaymentMethodAnalyticCopyWith<$Res> get paymentMethodAnalytic;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$PaymentMethodAnalyticLoaderStateCopyWithImpl<
|
||||
$Res,
|
||||
$Val extends PaymentMethodAnalyticLoaderState
|
||||
>
|
||||
implements $PaymentMethodAnalyticLoaderStateCopyWith<$Res> {
|
||||
_$PaymentMethodAnalyticLoaderStateCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticLoaderState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? paymentMethodAnalytic = null,
|
||||
Object? failureOption = null,
|
||||
Object? isFetching = null,
|
||||
}) {
|
||||
return _then(
|
||||
_value.copyWith(
|
||||
paymentMethodAnalytic: null == paymentMethodAnalytic
|
||||
? _value.paymentMethodAnalytic
|
||||
: paymentMethodAnalytic // ignore: cast_nullable_to_non_nullable
|
||||
as PaymentMethodAnalytic,
|
||||
failureOption: null == failureOption
|
||||
? _value.failureOption
|
||||
: failureOption // ignore: cast_nullable_to_non_nullable
|
||||
as Option<AnalyticFailure>,
|
||||
isFetching: null == isFetching
|
||||
? _value.isFetching
|
||||
: isFetching // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
)
|
||||
as $Val,
|
||||
);
|
||||
}
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticLoaderState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
$PaymentMethodAnalyticCopyWith<$Res> get paymentMethodAnalytic {
|
||||
return $PaymentMethodAnalyticCopyWith<$Res>(_value.paymentMethodAnalytic, (
|
||||
value,
|
||||
) {
|
||||
return _then(_value.copyWith(paymentMethodAnalytic: value) as $Val);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$PaymentMethodAnalyticLoaderStateImplCopyWith<$Res>
|
||||
implements $PaymentMethodAnalyticLoaderStateCopyWith<$Res> {
|
||||
factory _$$PaymentMethodAnalyticLoaderStateImplCopyWith(
|
||||
_$PaymentMethodAnalyticLoaderStateImpl value,
|
||||
$Res Function(_$PaymentMethodAnalyticLoaderStateImpl) then,
|
||||
) = __$$PaymentMethodAnalyticLoaderStateImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({
|
||||
PaymentMethodAnalytic paymentMethodAnalytic,
|
||||
Option<AnalyticFailure> failureOption,
|
||||
bool isFetching,
|
||||
});
|
||||
|
||||
@override
|
||||
$PaymentMethodAnalyticCopyWith<$Res> get paymentMethodAnalytic;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$PaymentMethodAnalyticLoaderStateImplCopyWithImpl<$Res>
|
||||
extends
|
||||
_$PaymentMethodAnalyticLoaderStateCopyWithImpl<
|
||||
$Res,
|
||||
_$PaymentMethodAnalyticLoaderStateImpl
|
||||
>
|
||||
implements _$$PaymentMethodAnalyticLoaderStateImplCopyWith<$Res> {
|
||||
__$$PaymentMethodAnalyticLoaderStateImplCopyWithImpl(
|
||||
_$PaymentMethodAnalyticLoaderStateImpl _value,
|
||||
$Res Function(_$PaymentMethodAnalyticLoaderStateImpl) _then,
|
||||
) : super(_value, _then);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticLoaderState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? paymentMethodAnalytic = null,
|
||||
Object? failureOption = null,
|
||||
Object? isFetching = null,
|
||||
}) {
|
||||
return _then(
|
||||
_$PaymentMethodAnalyticLoaderStateImpl(
|
||||
paymentMethodAnalytic: null == paymentMethodAnalytic
|
||||
? _value.paymentMethodAnalytic
|
||||
: paymentMethodAnalytic // ignore: cast_nullable_to_non_nullable
|
||||
as PaymentMethodAnalytic,
|
||||
failureOption: null == failureOption
|
||||
? _value.failureOption
|
||||
: failureOption // ignore: cast_nullable_to_non_nullable
|
||||
as Option<AnalyticFailure>,
|
||||
isFetching: null == isFetching
|
||||
? _value.isFetching
|
||||
: isFetching // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
||||
class _$PaymentMethodAnalyticLoaderStateImpl
|
||||
implements _PaymentMethodAnalyticLoaderState {
|
||||
_$PaymentMethodAnalyticLoaderStateImpl({
|
||||
required this.paymentMethodAnalytic,
|
||||
required this.failureOption,
|
||||
this.isFetching = false,
|
||||
});
|
||||
|
||||
@override
|
||||
final PaymentMethodAnalytic paymentMethodAnalytic;
|
||||
@override
|
||||
final Option<AnalyticFailure> failureOption;
|
||||
@override
|
||||
@JsonKey()
|
||||
final bool isFetching;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'PaymentMethodAnalyticLoaderState(paymentMethodAnalytic: $paymentMethodAnalytic, failureOption: $failureOption, isFetching: $isFetching)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$PaymentMethodAnalyticLoaderStateImpl &&
|
||||
(identical(other.paymentMethodAnalytic, paymentMethodAnalytic) ||
|
||||
other.paymentMethodAnalytic == paymentMethodAnalytic) &&
|
||||
(identical(other.failureOption, failureOption) ||
|
||||
other.failureOption == failureOption) &&
|
||||
(identical(other.isFetching, isFetching) ||
|
||||
other.isFetching == isFetching));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
paymentMethodAnalytic,
|
||||
failureOption,
|
||||
isFetching,
|
||||
);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticLoaderState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$PaymentMethodAnalyticLoaderStateImplCopyWith<
|
||||
_$PaymentMethodAnalyticLoaderStateImpl
|
||||
>
|
||||
get copyWith =>
|
||||
__$$PaymentMethodAnalyticLoaderStateImplCopyWithImpl<
|
||||
_$PaymentMethodAnalyticLoaderStateImpl
|
||||
>(this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _PaymentMethodAnalyticLoaderState
|
||||
implements PaymentMethodAnalyticLoaderState {
|
||||
factory _PaymentMethodAnalyticLoaderState({
|
||||
required final PaymentMethodAnalytic paymentMethodAnalytic,
|
||||
required final Option<AnalyticFailure> failureOption,
|
||||
final bool isFetching,
|
||||
}) = _$PaymentMethodAnalyticLoaderStateImpl;
|
||||
|
||||
@override
|
||||
PaymentMethodAnalytic get paymentMethodAnalytic;
|
||||
@override
|
||||
Option<AnalyticFailure> get failureOption;
|
||||
@override
|
||||
bool get isFetching;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticLoaderState
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$PaymentMethodAnalyticLoaderStateImplCopyWith<
|
||||
_$PaymentMethodAnalyticLoaderStateImpl
|
||||
>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
part of 'payment_method_analytic_loader_bloc.dart';
|
||||
|
||||
@freezed
|
||||
class PaymentMethodAnalyticLoaderEvent with _$PaymentMethodAnalyticLoaderEvent {
|
||||
const factory PaymentMethodAnalyticLoaderEvent.fetched({
|
||||
required DateTime startDate,
|
||||
required DateTime endDate,
|
||||
}) = _Fetched;
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
part of 'payment_method_analytic_loader_bloc.dart';
|
||||
|
||||
@freezed
|
||||
class PaymentMethodAnalyticLoaderState with _$PaymentMethodAnalyticLoaderState {
|
||||
factory PaymentMethodAnalyticLoaderState({
|
||||
required PaymentMethodAnalytic paymentMethodAnalytic,
|
||||
required Option<AnalyticFailure> failureOption,
|
||||
@Default(false) bool isFetching,
|
||||
}) = _PaymentMethodAnalyticLoaderState;
|
||||
|
||||
factory PaymentMethodAnalyticLoaderState.initial() =>
|
||||
PaymentMethodAnalyticLoaderState(
|
||||
paymentMethodAnalytic: PaymentMethodAnalytic.empty(),
|
||||
failureOption: none(),
|
||||
);
|
||||
}
|
||||
@ -11,4 +11,6 @@ class ApiPath {
|
||||
static const String analyticDashboard = '/api/v1/analytics/dashboard';
|
||||
static const String analyticSales = '/api/v1/analytics/sales';
|
||||
static const String analyticProducts = '/api/v1/analytics/products';
|
||||
static const String analyticPaymentMethods =
|
||||
'/api/v1/analytics/payment-methods';
|
||||
}
|
||||
|
||||
@ -8,5 +8,6 @@ part 'analytic.freezed.dart';
|
||||
part 'entities/dashboard_entity.dart';
|
||||
part 'entities/sales_entity.dart';
|
||||
part 'entities/product_analytic_entity.dart';
|
||||
part 'entities/payment_method_analytic_entity.dart';
|
||||
part 'failures/analytic_failure.dart';
|
||||
part 'repositories/i_analytic_repository.dart';
|
||||
|
||||
@ -3093,6 +3093,836 @@ abstract class _ProductAnalyticCategoryItem
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
mixin _$PaymentMethodAnalytic {
|
||||
String get organizationId => throw _privateConstructorUsedError;
|
||||
String get outletId => throw _privateConstructorUsedError;
|
||||
DateTime get dateFrom => throw _privateConstructorUsedError;
|
||||
DateTime get dateTo => throw _privateConstructorUsedError;
|
||||
String get groupBy => throw _privateConstructorUsedError;
|
||||
PaymentMethodAnalyticSummary get summary =>
|
||||
throw _privateConstructorUsedError;
|
||||
List<PaymentMethodAnalyticItem> get data =>
|
||||
throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalytic
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$PaymentMethodAnalyticCopyWith<PaymentMethodAnalytic> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $PaymentMethodAnalyticCopyWith<$Res> {
|
||||
factory $PaymentMethodAnalyticCopyWith(
|
||||
PaymentMethodAnalytic value,
|
||||
$Res Function(PaymentMethodAnalytic) then,
|
||||
) = _$PaymentMethodAnalyticCopyWithImpl<$Res, PaymentMethodAnalytic>;
|
||||
@useResult
|
||||
$Res call({
|
||||
String organizationId,
|
||||
String outletId,
|
||||
DateTime dateFrom,
|
||||
DateTime dateTo,
|
||||
String groupBy,
|
||||
PaymentMethodAnalyticSummary summary,
|
||||
List<PaymentMethodAnalyticItem> data,
|
||||
});
|
||||
|
||||
$PaymentMethodAnalyticSummaryCopyWith<$Res> get summary;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$PaymentMethodAnalyticCopyWithImpl<
|
||||
$Res,
|
||||
$Val extends PaymentMethodAnalytic
|
||||
>
|
||||
implements $PaymentMethodAnalyticCopyWith<$Res> {
|
||||
_$PaymentMethodAnalyticCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalytic
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? organizationId = null,
|
||||
Object? outletId = null,
|
||||
Object? dateFrom = null,
|
||||
Object? dateTo = null,
|
||||
Object? groupBy = null,
|
||||
Object? summary = null,
|
||||
Object? data = null,
|
||||
}) {
|
||||
return _then(
|
||||
_value.copyWith(
|
||||
organizationId: null == organizationId
|
||||
? _value.organizationId
|
||||
: organizationId // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
outletId: null == outletId
|
||||
? _value.outletId
|
||||
: outletId // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
dateFrom: null == dateFrom
|
||||
? _value.dateFrom
|
||||
: dateFrom // ignore: cast_nullable_to_non_nullable
|
||||
as DateTime,
|
||||
dateTo: null == dateTo
|
||||
? _value.dateTo
|
||||
: dateTo // ignore: cast_nullable_to_non_nullable
|
||||
as DateTime,
|
||||
groupBy: null == groupBy
|
||||
? _value.groupBy
|
||||
: groupBy // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
summary: null == summary
|
||||
? _value.summary
|
||||
: summary // ignore: cast_nullable_to_non_nullable
|
||||
as PaymentMethodAnalyticSummary,
|
||||
data: null == data
|
||||
? _value.data
|
||||
: data // ignore: cast_nullable_to_non_nullable
|
||||
as List<PaymentMethodAnalyticItem>,
|
||||
)
|
||||
as $Val,
|
||||
);
|
||||
}
|
||||
|
||||
/// Create a copy of PaymentMethodAnalytic
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
$PaymentMethodAnalyticSummaryCopyWith<$Res> get summary {
|
||||
return $PaymentMethodAnalyticSummaryCopyWith<$Res>(_value.summary, (value) {
|
||||
return _then(_value.copyWith(summary: value) as $Val);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$PaymentMethodAnalyticImplCopyWith<$Res>
|
||||
implements $PaymentMethodAnalyticCopyWith<$Res> {
|
||||
factory _$$PaymentMethodAnalyticImplCopyWith(
|
||||
_$PaymentMethodAnalyticImpl value,
|
||||
$Res Function(_$PaymentMethodAnalyticImpl) then,
|
||||
) = __$$PaymentMethodAnalyticImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({
|
||||
String organizationId,
|
||||
String outletId,
|
||||
DateTime dateFrom,
|
||||
DateTime dateTo,
|
||||
String groupBy,
|
||||
PaymentMethodAnalyticSummary summary,
|
||||
List<PaymentMethodAnalyticItem> data,
|
||||
});
|
||||
|
||||
@override
|
||||
$PaymentMethodAnalyticSummaryCopyWith<$Res> get summary;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$PaymentMethodAnalyticImplCopyWithImpl<$Res>
|
||||
extends
|
||||
_$PaymentMethodAnalyticCopyWithImpl<$Res, _$PaymentMethodAnalyticImpl>
|
||||
implements _$$PaymentMethodAnalyticImplCopyWith<$Res> {
|
||||
__$$PaymentMethodAnalyticImplCopyWithImpl(
|
||||
_$PaymentMethodAnalyticImpl _value,
|
||||
$Res Function(_$PaymentMethodAnalyticImpl) _then,
|
||||
) : super(_value, _then);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalytic
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? organizationId = null,
|
||||
Object? outletId = null,
|
||||
Object? dateFrom = null,
|
||||
Object? dateTo = null,
|
||||
Object? groupBy = null,
|
||||
Object? summary = null,
|
||||
Object? data = null,
|
||||
}) {
|
||||
return _then(
|
||||
_$PaymentMethodAnalyticImpl(
|
||||
organizationId: null == organizationId
|
||||
? _value.organizationId
|
||||
: organizationId // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
outletId: null == outletId
|
||||
? _value.outletId
|
||||
: outletId // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
dateFrom: null == dateFrom
|
||||
? _value.dateFrom
|
||||
: dateFrom // ignore: cast_nullable_to_non_nullable
|
||||
as DateTime,
|
||||
dateTo: null == dateTo
|
||||
? _value.dateTo
|
||||
: dateTo // ignore: cast_nullable_to_non_nullable
|
||||
as DateTime,
|
||||
groupBy: null == groupBy
|
||||
? _value.groupBy
|
||||
: groupBy // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
summary: null == summary
|
||||
? _value.summary
|
||||
: summary // ignore: cast_nullable_to_non_nullable
|
||||
as PaymentMethodAnalyticSummary,
|
||||
data: null == data
|
||||
? _value._data
|
||||
: data // ignore: cast_nullable_to_non_nullable
|
||||
as List<PaymentMethodAnalyticItem>,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
||||
class _$PaymentMethodAnalyticImpl implements _PaymentMethodAnalytic {
|
||||
const _$PaymentMethodAnalyticImpl({
|
||||
required this.organizationId,
|
||||
required this.outletId,
|
||||
required this.dateFrom,
|
||||
required this.dateTo,
|
||||
required this.groupBy,
|
||||
required this.summary,
|
||||
required final List<PaymentMethodAnalyticItem> data,
|
||||
}) : _data = data;
|
||||
|
||||
@override
|
||||
final String organizationId;
|
||||
@override
|
||||
final String outletId;
|
||||
@override
|
||||
final DateTime dateFrom;
|
||||
@override
|
||||
final DateTime dateTo;
|
||||
@override
|
||||
final String groupBy;
|
||||
@override
|
||||
final PaymentMethodAnalyticSummary summary;
|
||||
final List<PaymentMethodAnalyticItem> _data;
|
||||
@override
|
||||
List<PaymentMethodAnalyticItem> get data {
|
||||
if (_data is EqualUnmodifiableListView) return _data;
|
||||
// ignore: implicit_dynamic_type
|
||||
return EqualUnmodifiableListView(_data);
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'PaymentMethodAnalytic(organizationId: $organizationId, outletId: $outletId, dateFrom: $dateFrom, dateTo: $dateTo, groupBy: $groupBy, summary: $summary, data: $data)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$PaymentMethodAnalyticImpl &&
|
||||
(identical(other.organizationId, organizationId) ||
|
||||
other.organizationId == organizationId) &&
|
||||
(identical(other.outletId, outletId) ||
|
||||
other.outletId == outletId) &&
|
||||
(identical(other.dateFrom, dateFrom) ||
|
||||
other.dateFrom == dateFrom) &&
|
||||
(identical(other.dateTo, dateTo) || other.dateTo == dateTo) &&
|
||||
(identical(other.groupBy, groupBy) || other.groupBy == groupBy) &&
|
||||
(identical(other.summary, summary) || other.summary == summary) &&
|
||||
const DeepCollectionEquality().equals(other._data, _data));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
organizationId,
|
||||
outletId,
|
||||
dateFrom,
|
||||
dateTo,
|
||||
groupBy,
|
||||
summary,
|
||||
const DeepCollectionEquality().hash(_data),
|
||||
);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalytic
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$PaymentMethodAnalyticImplCopyWith<_$PaymentMethodAnalyticImpl>
|
||||
get copyWith =>
|
||||
__$$PaymentMethodAnalyticImplCopyWithImpl<_$PaymentMethodAnalyticImpl>(
|
||||
this,
|
||||
_$identity,
|
||||
);
|
||||
}
|
||||
|
||||
abstract class _PaymentMethodAnalytic implements PaymentMethodAnalytic {
|
||||
const factory _PaymentMethodAnalytic({
|
||||
required final String organizationId,
|
||||
required final String outletId,
|
||||
required final DateTime dateFrom,
|
||||
required final DateTime dateTo,
|
||||
required final String groupBy,
|
||||
required final PaymentMethodAnalyticSummary summary,
|
||||
required final List<PaymentMethodAnalyticItem> data,
|
||||
}) = _$PaymentMethodAnalyticImpl;
|
||||
|
||||
@override
|
||||
String get organizationId;
|
||||
@override
|
||||
String get outletId;
|
||||
@override
|
||||
DateTime get dateFrom;
|
||||
@override
|
||||
DateTime get dateTo;
|
||||
@override
|
||||
String get groupBy;
|
||||
@override
|
||||
PaymentMethodAnalyticSummary get summary;
|
||||
@override
|
||||
List<PaymentMethodAnalyticItem> get data;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalytic
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$PaymentMethodAnalyticImplCopyWith<_$PaymentMethodAnalyticImpl>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
mixin _$PaymentMethodAnalyticItem {
|
||||
String get paymentMethodId => throw _privateConstructorUsedError;
|
||||
String get paymentMethodName => throw _privateConstructorUsedError;
|
||||
String get paymentMethodType => throw _privateConstructorUsedError;
|
||||
int get totalAmount => throw _privateConstructorUsedError;
|
||||
int get orderCount => throw _privateConstructorUsedError;
|
||||
int get paymentCount => throw _privateConstructorUsedError;
|
||||
num get percentage => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticItem
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$PaymentMethodAnalyticItemCopyWith<PaymentMethodAnalyticItem> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $PaymentMethodAnalyticItemCopyWith<$Res> {
|
||||
factory $PaymentMethodAnalyticItemCopyWith(
|
||||
PaymentMethodAnalyticItem value,
|
||||
$Res Function(PaymentMethodAnalyticItem) then,
|
||||
) = _$PaymentMethodAnalyticItemCopyWithImpl<$Res, PaymentMethodAnalyticItem>;
|
||||
@useResult
|
||||
$Res call({
|
||||
String paymentMethodId,
|
||||
String paymentMethodName,
|
||||
String paymentMethodType,
|
||||
int totalAmount,
|
||||
int orderCount,
|
||||
int paymentCount,
|
||||
num percentage,
|
||||
});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$PaymentMethodAnalyticItemCopyWithImpl<
|
||||
$Res,
|
||||
$Val extends PaymentMethodAnalyticItem
|
||||
>
|
||||
implements $PaymentMethodAnalyticItemCopyWith<$Res> {
|
||||
_$PaymentMethodAnalyticItemCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticItem
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? paymentMethodId = null,
|
||||
Object? paymentMethodName = null,
|
||||
Object? paymentMethodType = null,
|
||||
Object? totalAmount = null,
|
||||
Object? orderCount = null,
|
||||
Object? paymentCount = null,
|
||||
Object? percentage = null,
|
||||
}) {
|
||||
return _then(
|
||||
_value.copyWith(
|
||||
paymentMethodId: null == paymentMethodId
|
||||
? _value.paymentMethodId
|
||||
: paymentMethodId // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
paymentMethodName: null == paymentMethodName
|
||||
? _value.paymentMethodName
|
||||
: paymentMethodName // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
paymentMethodType: null == paymentMethodType
|
||||
? _value.paymentMethodType
|
||||
: paymentMethodType // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
totalAmount: null == totalAmount
|
||||
? _value.totalAmount
|
||||
: totalAmount // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
orderCount: null == orderCount
|
||||
? _value.orderCount
|
||||
: orderCount // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
paymentCount: null == paymentCount
|
||||
? _value.paymentCount
|
||||
: paymentCount // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
percentage: null == percentage
|
||||
? _value.percentage
|
||||
: percentage // ignore: cast_nullable_to_non_nullable
|
||||
as num,
|
||||
)
|
||||
as $Val,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$PaymentMethodAnalyticItemImplCopyWith<$Res>
|
||||
implements $PaymentMethodAnalyticItemCopyWith<$Res> {
|
||||
factory _$$PaymentMethodAnalyticItemImplCopyWith(
|
||||
_$PaymentMethodAnalyticItemImpl value,
|
||||
$Res Function(_$PaymentMethodAnalyticItemImpl) then,
|
||||
) = __$$PaymentMethodAnalyticItemImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({
|
||||
String paymentMethodId,
|
||||
String paymentMethodName,
|
||||
String paymentMethodType,
|
||||
int totalAmount,
|
||||
int orderCount,
|
||||
int paymentCount,
|
||||
num percentage,
|
||||
});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$PaymentMethodAnalyticItemImplCopyWithImpl<$Res>
|
||||
extends
|
||||
_$PaymentMethodAnalyticItemCopyWithImpl<
|
||||
$Res,
|
||||
_$PaymentMethodAnalyticItemImpl
|
||||
>
|
||||
implements _$$PaymentMethodAnalyticItemImplCopyWith<$Res> {
|
||||
__$$PaymentMethodAnalyticItemImplCopyWithImpl(
|
||||
_$PaymentMethodAnalyticItemImpl _value,
|
||||
$Res Function(_$PaymentMethodAnalyticItemImpl) _then,
|
||||
) : super(_value, _then);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticItem
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? paymentMethodId = null,
|
||||
Object? paymentMethodName = null,
|
||||
Object? paymentMethodType = null,
|
||||
Object? totalAmount = null,
|
||||
Object? orderCount = null,
|
||||
Object? paymentCount = null,
|
||||
Object? percentage = null,
|
||||
}) {
|
||||
return _then(
|
||||
_$PaymentMethodAnalyticItemImpl(
|
||||
paymentMethodId: null == paymentMethodId
|
||||
? _value.paymentMethodId
|
||||
: paymentMethodId // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
paymentMethodName: null == paymentMethodName
|
||||
? _value.paymentMethodName
|
||||
: paymentMethodName // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
paymentMethodType: null == paymentMethodType
|
||||
? _value.paymentMethodType
|
||||
: paymentMethodType // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
totalAmount: null == totalAmount
|
||||
? _value.totalAmount
|
||||
: totalAmount // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
orderCount: null == orderCount
|
||||
? _value.orderCount
|
||||
: orderCount // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
paymentCount: null == paymentCount
|
||||
? _value.paymentCount
|
||||
: paymentCount // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
percentage: null == percentage
|
||||
? _value.percentage
|
||||
: percentage // ignore: cast_nullable_to_non_nullable
|
||||
as num,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
||||
class _$PaymentMethodAnalyticItemImpl implements _PaymentMethodAnalyticItem {
|
||||
const _$PaymentMethodAnalyticItemImpl({
|
||||
required this.paymentMethodId,
|
||||
required this.paymentMethodName,
|
||||
required this.paymentMethodType,
|
||||
required this.totalAmount,
|
||||
required this.orderCount,
|
||||
required this.paymentCount,
|
||||
required this.percentage,
|
||||
});
|
||||
|
||||
@override
|
||||
final String paymentMethodId;
|
||||
@override
|
||||
final String paymentMethodName;
|
||||
@override
|
||||
final String paymentMethodType;
|
||||
@override
|
||||
final int totalAmount;
|
||||
@override
|
||||
final int orderCount;
|
||||
@override
|
||||
final int paymentCount;
|
||||
@override
|
||||
final num percentage;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'PaymentMethodAnalyticItem(paymentMethodId: $paymentMethodId, paymentMethodName: $paymentMethodName, paymentMethodType: $paymentMethodType, totalAmount: $totalAmount, orderCount: $orderCount, paymentCount: $paymentCount, percentage: $percentage)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$PaymentMethodAnalyticItemImpl &&
|
||||
(identical(other.paymentMethodId, paymentMethodId) ||
|
||||
other.paymentMethodId == paymentMethodId) &&
|
||||
(identical(other.paymentMethodName, paymentMethodName) ||
|
||||
other.paymentMethodName == paymentMethodName) &&
|
||||
(identical(other.paymentMethodType, paymentMethodType) ||
|
||||
other.paymentMethodType == paymentMethodType) &&
|
||||
(identical(other.totalAmount, totalAmount) ||
|
||||
other.totalAmount == totalAmount) &&
|
||||
(identical(other.orderCount, orderCount) ||
|
||||
other.orderCount == orderCount) &&
|
||||
(identical(other.paymentCount, paymentCount) ||
|
||||
other.paymentCount == paymentCount) &&
|
||||
(identical(other.percentage, percentage) ||
|
||||
other.percentage == percentage));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
paymentMethodId,
|
||||
paymentMethodName,
|
||||
paymentMethodType,
|
||||
totalAmount,
|
||||
orderCount,
|
||||
paymentCount,
|
||||
percentage,
|
||||
);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticItem
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$PaymentMethodAnalyticItemImplCopyWith<_$PaymentMethodAnalyticItemImpl>
|
||||
get copyWith =>
|
||||
__$$PaymentMethodAnalyticItemImplCopyWithImpl<
|
||||
_$PaymentMethodAnalyticItemImpl
|
||||
>(this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _PaymentMethodAnalyticItem implements PaymentMethodAnalyticItem {
|
||||
const factory _PaymentMethodAnalyticItem({
|
||||
required final String paymentMethodId,
|
||||
required final String paymentMethodName,
|
||||
required final String paymentMethodType,
|
||||
required final int totalAmount,
|
||||
required final int orderCount,
|
||||
required final int paymentCount,
|
||||
required final num percentage,
|
||||
}) = _$PaymentMethodAnalyticItemImpl;
|
||||
|
||||
@override
|
||||
String get paymentMethodId;
|
||||
@override
|
||||
String get paymentMethodName;
|
||||
@override
|
||||
String get paymentMethodType;
|
||||
@override
|
||||
int get totalAmount;
|
||||
@override
|
||||
int get orderCount;
|
||||
@override
|
||||
int get paymentCount;
|
||||
@override
|
||||
num get percentage;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticItem
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$PaymentMethodAnalyticItemImplCopyWith<_$PaymentMethodAnalyticItemImpl>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
mixin _$PaymentMethodAnalyticSummary {
|
||||
int get totalAmount => throw _privateConstructorUsedError;
|
||||
int get totalOrders => throw _privateConstructorUsedError;
|
||||
int get totalPayments => throw _privateConstructorUsedError;
|
||||
double get averageOrderValue => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticSummary
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$PaymentMethodAnalyticSummaryCopyWith<PaymentMethodAnalyticSummary>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $PaymentMethodAnalyticSummaryCopyWith<$Res> {
|
||||
factory $PaymentMethodAnalyticSummaryCopyWith(
|
||||
PaymentMethodAnalyticSummary value,
|
||||
$Res Function(PaymentMethodAnalyticSummary) then,
|
||||
) =
|
||||
_$PaymentMethodAnalyticSummaryCopyWithImpl<
|
||||
$Res,
|
||||
PaymentMethodAnalyticSummary
|
||||
>;
|
||||
@useResult
|
||||
$Res call({
|
||||
int totalAmount,
|
||||
int totalOrders,
|
||||
int totalPayments,
|
||||
double averageOrderValue,
|
||||
});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$PaymentMethodAnalyticSummaryCopyWithImpl<
|
||||
$Res,
|
||||
$Val extends PaymentMethodAnalyticSummary
|
||||
>
|
||||
implements $PaymentMethodAnalyticSummaryCopyWith<$Res> {
|
||||
_$PaymentMethodAnalyticSummaryCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticSummary
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? totalAmount = null,
|
||||
Object? totalOrders = null,
|
||||
Object? totalPayments = null,
|
||||
Object? averageOrderValue = null,
|
||||
}) {
|
||||
return _then(
|
||||
_value.copyWith(
|
||||
totalAmount: null == totalAmount
|
||||
? _value.totalAmount
|
||||
: totalAmount // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
totalOrders: null == totalOrders
|
||||
? _value.totalOrders
|
||||
: totalOrders // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
totalPayments: null == totalPayments
|
||||
? _value.totalPayments
|
||||
: totalPayments // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
averageOrderValue: null == averageOrderValue
|
||||
? _value.averageOrderValue
|
||||
: averageOrderValue // ignore: cast_nullable_to_non_nullable
|
||||
as double,
|
||||
)
|
||||
as $Val,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$PaymentMethodAnalyticSummaryImplCopyWith<$Res>
|
||||
implements $PaymentMethodAnalyticSummaryCopyWith<$Res> {
|
||||
factory _$$PaymentMethodAnalyticSummaryImplCopyWith(
|
||||
_$PaymentMethodAnalyticSummaryImpl value,
|
||||
$Res Function(_$PaymentMethodAnalyticSummaryImpl) then,
|
||||
) = __$$PaymentMethodAnalyticSummaryImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({
|
||||
int totalAmount,
|
||||
int totalOrders,
|
||||
int totalPayments,
|
||||
double averageOrderValue,
|
||||
});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$PaymentMethodAnalyticSummaryImplCopyWithImpl<$Res>
|
||||
extends
|
||||
_$PaymentMethodAnalyticSummaryCopyWithImpl<
|
||||
$Res,
|
||||
_$PaymentMethodAnalyticSummaryImpl
|
||||
>
|
||||
implements _$$PaymentMethodAnalyticSummaryImplCopyWith<$Res> {
|
||||
__$$PaymentMethodAnalyticSummaryImplCopyWithImpl(
|
||||
_$PaymentMethodAnalyticSummaryImpl _value,
|
||||
$Res Function(_$PaymentMethodAnalyticSummaryImpl) _then,
|
||||
) : super(_value, _then);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticSummary
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? totalAmount = null,
|
||||
Object? totalOrders = null,
|
||||
Object? totalPayments = null,
|
||||
Object? averageOrderValue = null,
|
||||
}) {
|
||||
return _then(
|
||||
_$PaymentMethodAnalyticSummaryImpl(
|
||||
totalAmount: null == totalAmount
|
||||
? _value.totalAmount
|
||||
: totalAmount // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
totalOrders: null == totalOrders
|
||||
? _value.totalOrders
|
||||
: totalOrders // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
totalPayments: null == totalPayments
|
||||
? _value.totalPayments
|
||||
: totalPayments // ignore: cast_nullable_to_non_nullable
|
||||
as int,
|
||||
averageOrderValue: null == averageOrderValue
|
||||
? _value.averageOrderValue
|
||||
: averageOrderValue // ignore: cast_nullable_to_non_nullable
|
||||
as double,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
||||
class _$PaymentMethodAnalyticSummaryImpl
|
||||
implements _PaymentMethodAnalyticSummary {
|
||||
const _$PaymentMethodAnalyticSummaryImpl({
|
||||
required this.totalAmount,
|
||||
required this.totalOrders,
|
||||
required this.totalPayments,
|
||||
required this.averageOrderValue,
|
||||
});
|
||||
|
||||
@override
|
||||
final int totalAmount;
|
||||
@override
|
||||
final int totalOrders;
|
||||
@override
|
||||
final int totalPayments;
|
||||
@override
|
||||
final double averageOrderValue;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'PaymentMethodAnalyticSummary(totalAmount: $totalAmount, totalOrders: $totalOrders, totalPayments: $totalPayments, averageOrderValue: $averageOrderValue)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$PaymentMethodAnalyticSummaryImpl &&
|
||||
(identical(other.totalAmount, totalAmount) ||
|
||||
other.totalAmount == totalAmount) &&
|
||||
(identical(other.totalOrders, totalOrders) ||
|
||||
other.totalOrders == totalOrders) &&
|
||||
(identical(other.totalPayments, totalPayments) ||
|
||||
other.totalPayments == totalPayments) &&
|
||||
(identical(other.averageOrderValue, averageOrderValue) ||
|
||||
other.averageOrderValue == averageOrderValue));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
totalAmount,
|
||||
totalOrders,
|
||||
totalPayments,
|
||||
averageOrderValue,
|
||||
);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticSummary
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$PaymentMethodAnalyticSummaryImplCopyWith<
|
||||
_$PaymentMethodAnalyticSummaryImpl
|
||||
>
|
||||
get copyWith =>
|
||||
__$$PaymentMethodAnalyticSummaryImplCopyWithImpl<
|
||||
_$PaymentMethodAnalyticSummaryImpl
|
||||
>(this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _PaymentMethodAnalyticSummary
|
||||
implements PaymentMethodAnalyticSummary {
|
||||
const factory _PaymentMethodAnalyticSummary({
|
||||
required final int totalAmount,
|
||||
required final int totalOrders,
|
||||
required final int totalPayments,
|
||||
required final double averageOrderValue,
|
||||
}) = _$PaymentMethodAnalyticSummaryImpl;
|
||||
|
||||
@override
|
||||
int get totalAmount;
|
||||
@override
|
||||
int get totalOrders;
|
||||
@override
|
||||
int get totalPayments;
|
||||
@override
|
||||
double get averageOrderValue;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticSummary
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$PaymentMethodAnalyticSummaryImplCopyWith<
|
||||
_$PaymentMethodAnalyticSummaryImpl
|
||||
>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
mixin _$AnalyticFailure {
|
||||
@optionalTypeArgs
|
||||
|
||||
@ -0,0 +1,65 @@
|
||||
part of '../analytic.dart';
|
||||
|
||||
@freezed
|
||||
class PaymentMethodAnalytic with _$PaymentMethodAnalytic {
|
||||
const factory PaymentMethodAnalytic({
|
||||
required String organizationId,
|
||||
required String outletId,
|
||||
required DateTime dateFrom,
|
||||
required DateTime dateTo,
|
||||
required String groupBy,
|
||||
required PaymentMethodAnalyticSummary summary,
|
||||
required List<PaymentMethodAnalyticItem> data,
|
||||
}) = _PaymentMethodAnalytic;
|
||||
|
||||
factory PaymentMethodAnalytic.empty() => PaymentMethodAnalytic(
|
||||
organizationId: '',
|
||||
outletId: '',
|
||||
dateFrom: DateTime.now(),
|
||||
dateTo: DateTime.now(),
|
||||
groupBy: '',
|
||||
summary: PaymentMethodAnalyticSummary.empty(),
|
||||
data: const [],
|
||||
);
|
||||
}
|
||||
|
||||
@freezed
|
||||
class PaymentMethodAnalyticItem with _$PaymentMethodAnalyticItem {
|
||||
const factory PaymentMethodAnalyticItem({
|
||||
required String paymentMethodId,
|
||||
required String paymentMethodName,
|
||||
required String paymentMethodType,
|
||||
required int totalAmount,
|
||||
required int orderCount,
|
||||
required int paymentCount,
|
||||
required num percentage,
|
||||
}) = _PaymentMethodAnalyticItem;
|
||||
|
||||
factory PaymentMethodAnalyticItem.empty() => const PaymentMethodAnalyticItem(
|
||||
paymentMethodId: '',
|
||||
paymentMethodName: '',
|
||||
paymentMethodType: '',
|
||||
totalAmount: 0,
|
||||
orderCount: 0,
|
||||
paymentCount: 0,
|
||||
percentage: 0,
|
||||
);
|
||||
}
|
||||
|
||||
@freezed
|
||||
class PaymentMethodAnalyticSummary with _$PaymentMethodAnalyticSummary {
|
||||
const factory PaymentMethodAnalyticSummary({
|
||||
required int totalAmount,
|
||||
required int totalOrders,
|
||||
required int totalPayments,
|
||||
required double averageOrderValue,
|
||||
}) = _PaymentMethodAnalyticSummary;
|
||||
|
||||
factory PaymentMethodAnalyticSummary.empty() =>
|
||||
const PaymentMethodAnalyticSummary(
|
||||
totalAmount: 0,
|
||||
totalOrders: 0,
|
||||
totalPayments: 0,
|
||||
averageOrderValue: 0.0,
|
||||
);
|
||||
}
|
||||
@ -13,4 +13,8 @@ abstract class IAnalyticRepository {
|
||||
required DateTime dateFrom,
|
||||
required DateTime dateTo,
|
||||
});
|
||||
Future<Either<AnalyticFailure, PaymentMethodAnalytic>> getPaymentMethod({
|
||||
required DateTime dateFrom,
|
||||
required DateTime dateTo,
|
||||
});
|
||||
}
|
||||
|
||||
@ -8,3 +8,4 @@ part 'analytic_dtos.g.dart';
|
||||
part 'dtos/dashboard_dto.dart';
|
||||
part 'dtos/sales_dto.dart';
|
||||
part 'dtos/product_analytic_dto.dart';
|
||||
part 'dtos/payment_method_analytic_dto.dart';
|
||||
|
||||
@ -3374,3 +3374,975 @@ abstract class _ProductAnalyticItemDto extends ProductAnalyticItemDto {
|
||||
_$$ProductAnalyticItemDtoImplCopyWith<_$ProductAnalyticItemDtoImpl>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
PaymentMethodAnalyticDto _$PaymentMethodAnalyticDtoFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) {
|
||||
return _PaymentMethodAnalyticDto.fromJson(json);
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
mixin _$PaymentMethodAnalyticDto {
|
||||
@JsonKey(name: "organization_id")
|
||||
String? get organizationId => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "outlet_id")
|
||||
String? get outletId => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "date_from")
|
||||
DateTime? get dateFrom => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "date_to")
|
||||
DateTime? get dateTo => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "group_by")
|
||||
String? get groupBy => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "summary")
|
||||
PaymentMethodAnalyticSummaryDto? get summary =>
|
||||
throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "data")
|
||||
List<PaymentMethodAnalyticItemDto>? get data =>
|
||||
throw _privateConstructorUsedError;
|
||||
|
||||
/// Serializes this PaymentMethodAnalyticDto to a JSON map.
|
||||
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$PaymentMethodAnalyticDtoCopyWith<PaymentMethodAnalyticDto> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $PaymentMethodAnalyticDtoCopyWith<$Res> {
|
||||
factory $PaymentMethodAnalyticDtoCopyWith(
|
||||
PaymentMethodAnalyticDto value,
|
||||
$Res Function(PaymentMethodAnalyticDto) then,
|
||||
) = _$PaymentMethodAnalyticDtoCopyWithImpl<$Res, PaymentMethodAnalyticDto>;
|
||||
@useResult
|
||||
$Res call({
|
||||
@JsonKey(name: "organization_id") String? organizationId,
|
||||
@JsonKey(name: "outlet_id") String? outletId,
|
||||
@JsonKey(name: "date_from") DateTime? dateFrom,
|
||||
@JsonKey(name: "date_to") DateTime? dateTo,
|
||||
@JsonKey(name: "group_by") String? groupBy,
|
||||
@JsonKey(name: "summary") PaymentMethodAnalyticSummaryDto? summary,
|
||||
@JsonKey(name: "data") List<PaymentMethodAnalyticItemDto>? data,
|
||||
});
|
||||
|
||||
$PaymentMethodAnalyticSummaryDtoCopyWith<$Res>? get summary;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$PaymentMethodAnalyticDtoCopyWithImpl<
|
||||
$Res,
|
||||
$Val extends PaymentMethodAnalyticDto
|
||||
>
|
||||
implements $PaymentMethodAnalyticDtoCopyWith<$Res> {
|
||||
_$PaymentMethodAnalyticDtoCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? organizationId = freezed,
|
||||
Object? outletId = freezed,
|
||||
Object? dateFrom = freezed,
|
||||
Object? dateTo = freezed,
|
||||
Object? groupBy = freezed,
|
||||
Object? summary = freezed,
|
||||
Object? data = freezed,
|
||||
}) {
|
||||
return _then(
|
||||
_value.copyWith(
|
||||
organizationId: freezed == organizationId
|
||||
? _value.organizationId
|
||||
: organizationId // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
outletId: freezed == outletId
|
||||
? _value.outletId
|
||||
: outletId // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
dateFrom: freezed == dateFrom
|
||||
? _value.dateFrom
|
||||
: dateFrom // ignore: cast_nullable_to_non_nullable
|
||||
as DateTime?,
|
||||
dateTo: freezed == dateTo
|
||||
? _value.dateTo
|
||||
: dateTo // ignore: cast_nullable_to_non_nullable
|
||||
as DateTime?,
|
||||
groupBy: freezed == groupBy
|
||||
? _value.groupBy
|
||||
: groupBy // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
summary: freezed == summary
|
||||
? _value.summary
|
||||
: summary // ignore: cast_nullable_to_non_nullable
|
||||
as PaymentMethodAnalyticSummaryDto?,
|
||||
data: freezed == data
|
||||
? _value.data
|
||||
: data // ignore: cast_nullable_to_non_nullable
|
||||
as List<PaymentMethodAnalyticItemDto>?,
|
||||
)
|
||||
as $Val,
|
||||
);
|
||||
}
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
$PaymentMethodAnalyticSummaryDtoCopyWith<$Res>? get summary {
|
||||
if (_value.summary == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $PaymentMethodAnalyticSummaryDtoCopyWith<$Res>(_value.summary!, (
|
||||
value,
|
||||
) {
|
||||
return _then(_value.copyWith(summary: value) as $Val);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$PaymentMethodAnalyticDtoImplCopyWith<$Res>
|
||||
implements $PaymentMethodAnalyticDtoCopyWith<$Res> {
|
||||
factory _$$PaymentMethodAnalyticDtoImplCopyWith(
|
||||
_$PaymentMethodAnalyticDtoImpl value,
|
||||
$Res Function(_$PaymentMethodAnalyticDtoImpl) then,
|
||||
) = __$$PaymentMethodAnalyticDtoImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({
|
||||
@JsonKey(name: "organization_id") String? organizationId,
|
||||
@JsonKey(name: "outlet_id") String? outletId,
|
||||
@JsonKey(name: "date_from") DateTime? dateFrom,
|
||||
@JsonKey(name: "date_to") DateTime? dateTo,
|
||||
@JsonKey(name: "group_by") String? groupBy,
|
||||
@JsonKey(name: "summary") PaymentMethodAnalyticSummaryDto? summary,
|
||||
@JsonKey(name: "data") List<PaymentMethodAnalyticItemDto>? data,
|
||||
});
|
||||
|
||||
@override
|
||||
$PaymentMethodAnalyticSummaryDtoCopyWith<$Res>? get summary;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$PaymentMethodAnalyticDtoImplCopyWithImpl<$Res>
|
||||
extends
|
||||
_$PaymentMethodAnalyticDtoCopyWithImpl<
|
||||
$Res,
|
||||
_$PaymentMethodAnalyticDtoImpl
|
||||
>
|
||||
implements _$$PaymentMethodAnalyticDtoImplCopyWith<$Res> {
|
||||
__$$PaymentMethodAnalyticDtoImplCopyWithImpl(
|
||||
_$PaymentMethodAnalyticDtoImpl _value,
|
||||
$Res Function(_$PaymentMethodAnalyticDtoImpl) _then,
|
||||
) : super(_value, _then);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? organizationId = freezed,
|
||||
Object? outletId = freezed,
|
||||
Object? dateFrom = freezed,
|
||||
Object? dateTo = freezed,
|
||||
Object? groupBy = freezed,
|
||||
Object? summary = freezed,
|
||||
Object? data = freezed,
|
||||
}) {
|
||||
return _then(
|
||||
_$PaymentMethodAnalyticDtoImpl(
|
||||
organizationId: freezed == organizationId
|
||||
? _value.organizationId
|
||||
: organizationId // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
outletId: freezed == outletId
|
||||
? _value.outletId
|
||||
: outletId // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
dateFrom: freezed == dateFrom
|
||||
? _value.dateFrom
|
||||
: dateFrom // ignore: cast_nullable_to_non_nullable
|
||||
as DateTime?,
|
||||
dateTo: freezed == dateTo
|
||||
? _value.dateTo
|
||||
: dateTo // ignore: cast_nullable_to_non_nullable
|
||||
as DateTime?,
|
||||
groupBy: freezed == groupBy
|
||||
? _value.groupBy
|
||||
: groupBy // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
summary: freezed == summary
|
||||
? _value.summary
|
||||
: summary // ignore: cast_nullable_to_non_nullable
|
||||
as PaymentMethodAnalyticSummaryDto?,
|
||||
data: freezed == data
|
||||
? _value._data
|
||||
: data // ignore: cast_nullable_to_non_nullable
|
||||
as List<PaymentMethodAnalyticItemDto>?,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
@JsonSerializable()
|
||||
class _$PaymentMethodAnalyticDtoImpl extends _PaymentMethodAnalyticDto {
|
||||
const _$PaymentMethodAnalyticDtoImpl({
|
||||
@JsonKey(name: "organization_id") this.organizationId,
|
||||
@JsonKey(name: "outlet_id") this.outletId,
|
||||
@JsonKey(name: "date_from") this.dateFrom,
|
||||
@JsonKey(name: "date_to") this.dateTo,
|
||||
@JsonKey(name: "group_by") this.groupBy,
|
||||
@JsonKey(name: "summary") this.summary,
|
||||
@JsonKey(name: "data") final List<PaymentMethodAnalyticItemDto>? data,
|
||||
}) : _data = data,
|
||||
super._();
|
||||
|
||||
factory _$PaymentMethodAnalyticDtoImpl.fromJson(Map<String, dynamic> json) =>
|
||||
_$$PaymentMethodAnalyticDtoImplFromJson(json);
|
||||
|
||||
@override
|
||||
@JsonKey(name: "organization_id")
|
||||
final String? organizationId;
|
||||
@override
|
||||
@JsonKey(name: "outlet_id")
|
||||
final String? outletId;
|
||||
@override
|
||||
@JsonKey(name: "date_from")
|
||||
final DateTime? dateFrom;
|
||||
@override
|
||||
@JsonKey(name: "date_to")
|
||||
final DateTime? dateTo;
|
||||
@override
|
||||
@JsonKey(name: "group_by")
|
||||
final String? groupBy;
|
||||
@override
|
||||
@JsonKey(name: "summary")
|
||||
final PaymentMethodAnalyticSummaryDto? summary;
|
||||
final List<PaymentMethodAnalyticItemDto>? _data;
|
||||
@override
|
||||
@JsonKey(name: "data")
|
||||
List<PaymentMethodAnalyticItemDto>? get data {
|
||||
final value = _data;
|
||||
if (value == null) return null;
|
||||
if (_data is EqualUnmodifiableListView) return _data;
|
||||
// ignore: implicit_dynamic_type
|
||||
return EqualUnmodifiableListView(value);
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'PaymentMethodAnalyticDto(organizationId: $organizationId, outletId: $outletId, dateFrom: $dateFrom, dateTo: $dateTo, groupBy: $groupBy, summary: $summary, data: $data)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$PaymentMethodAnalyticDtoImpl &&
|
||||
(identical(other.organizationId, organizationId) ||
|
||||
other.organizationId == organizationId) &&
|
||||
(identical(other.outletId, outletId) ||
|
||||
other.outletId == outletId) &&
|
||||
(identical(other.dateFrom, dateFrom) ||
|
||||
other.dateFrom == dateFrom) &&
|
||||
(identical(other.dateTo, dateTo) || other.dateTo == dateTo) &&
|
||||
(identical(other.groupBy, groupBy) || other.groupBy == groupBy) &&
|
||||
(identical(other.summary, summary) || other.summary == summary) &&
|
||||
const DeepCollectionEquality().equals(other._data, _data));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
organizationId,
|
||||
outletId,
|
||||
dateFrom,
|
||||
dateTo,
|
||||
groupBy,
|
||||
summary,
|
||||
const DeepCollectionEquality().hash(_data),
|
||||
);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$PaymentMethodAnalyticDtoImplCopyWith<_$PaymentMethodAnalyticDtoImpl>
|
||||
get copyWith =>
|
||||
__$$PaymentMethodAnalyticDtoImplCopyWithImpl<
|
||||
_$PaymentMethodAnalyticDtoImpl
|
||||
>(this, _$identity);
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() {
|
||||
return _$$PaymentMethodAnalyticDtoImplToJson(this);
|
||||
}
|
||||
}
|
||||
|
||||
abstract class _PaymentMethodAnalyticDto extends PaymentMethodAnalyticDto {
|
||||
const factory _PaymentMethodAnalyticDto({
|
||||
@JsonKey(name: "organization_id") final String? organizationId,
|
||||
@JsonKey(name: "outlet_id") final String? outletId,
|
||||
@JsonKey(name: "date_from") final DateTime? dateFrom,
|
||||
@JsonKey(name: "date_to") final DateTime? dateTo,
|
||||
@JsonKey(name: "group_by") final String? groupBy,
|
||||
@JsonKey(name: "summary") final PaymentMethodAnalyticSummaryDto? summary,
|
||||
@JsonKey(name: "data") final List<PaymentMethodAnalyticItemDto>? data,
|
||||
}) = _$PaymentMethodAnalyticDtoImpl;
|
||||
const _PaymentMethodAnalyticDto._() : super._();
|
||||
|
||||
factory _PaymentMethodAnalyticDto.fromJson(Map<String, dynamic> json) =
|
||||
_$PaymentMethodAnalyticDtoImpl.fromJson;
|
||||
|
||||
@override
|
||||
@JsonKey(name: "organization_id")
|
||||
String? get organizationId;
|
||||
@override
|
||||
@JsonKey(name: "outlet_id")
|
||||
String? get outletId;
|
||||
@override
|
||||
@JsonKey(name: "date_from")
|
||||
DateTime? get dateFrom;
|
||||
@override
|
||||
@JsonKey(name: "date_to")
|
||||
DateTime? get dateTo;
|
||||
@override
|
||||
@JsonKey(name: "group_by")
|
||||
String? get groupBy;
|
||||
@override
|
||||
@JsonKey(name: "summary")
|
||||
PaymentMethodAnalyticSummaryDto? get summary;
|
||||
@override
|
||||
@JsonKey(name: "data")
|
||||
List<PaymentMethodAnalyticItemDto>? get data;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$PaymentMethodAnalyticDtoImplCopyWith<_$PaymentMethodAnalyticDtoImpl>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
PaymentMethodAnalyticItemDto _$PaymentMethodAnalyticItemDtoFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) {
|
||||
return _PaymentMethodAnalyticItemDto.fromJson(json);
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
mixin _$PaymentMethodAnalyticItemDto {
|
||||
@JsonKey(name: "payment_method_id")
|
||||
String? get paymentMethodId => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "payment_method_name")
|
||||
String? get paymentMethodName => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "payment_method_type")
|
||||
String? get paymentMethodType => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "total_amount")
|
||||
int? get totalAmount => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "order_count")
|
||||
int? get orderCount => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "payment_count")
|
||||
int? get paymentCount => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "percentage")
|
||||
num? get percentage => throw _privateConstructorUsedError;
|
||||
|
||||
/// Serializes this PaymentMethodAnalyticItemDto to a JSON map.
|
||||
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticItemDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$PaymentMethodAnalyticItemDtoCopyWith<PaymentMethodAnalyticItemDto>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $PaymentMethodAnalyticItemDtoCopyWith<$Res> {
|
||||
factory $PaymentMethodAnalyticItemDtoCopyWith(
|
||||
PaymentMethodAnalyticItemDto value,
|
||||
$Res Function(PaymentMethodAnalyticItemDto) then,
|
||||
) =
|
||||
_$PaymentMethodAnalyticItemDtoCopyWithImpl<
|
||||
$Res,
|
||||
PaymentMethodAnalyticItemDto
|
||||
>;
|
||||
@useResult
|
||||
$Res call({
|
||||
@JsonKey(name: "payment_method_id") String? paymentMethodId,
|
||||
@JsonKey(name: "payment_method_name") String? paymentMethodName,
|
||||
@JsonKey(name: "payment_method_type") String? paymentMethodType,
|
||||
@JsonKey(name: "total_amount") int? totalAmount,
|
||||
@JsonKey(name: "order_count") int? orderCount,
|
||||
@JsonKey(name: "payment_count") int? paymentCount,
|
||||
@JsonKey(name: "percentage") num? percentage,
|
||||
});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$PaymentMethodAnalyticItemDtoCopyWithImpl<
|
||||
$Res,
|
||||
$Val extends PaymentMethodAnalyticItemDto
|
||||
>
|
||||
implements $PaymentMethodAnalyticItemDtoCopyWith<$Res> {
|
||||
_$PaymentMethodAnalyticItemDtoCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticItemDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? paymentMethodId = freezed,
|
||||
Object? paymentMethodName = freezed,
|
||||
Object? paymentMethodType = freezed,
|
||||
Object? totalAmount = freezed,
|
||||
Object? orderCount = freezed,
|
||||
Object? paymentCount = freezed,
|
||||
Object? percentage = freezed,
|
||||
}) {
|
||||
return _then(
|
||||
_value.copyWith(
|
||||
paymentMethodId: freezed == paymentMethodId
|
||||
? _value.paymentMethodId
|
||||
: paymentMethodId // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
paymentMethodName: freezed == paymentMethodName
|
||||
? _value.paymentMethodName
|
||||
: paymentMethodName // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
paymentMethodType: freezed == paymentMethodType
|
||||
? _value.paymentMethodType
|
||||
: paymentMethodType // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
totalAmount: freezed == totalAmount
|
||||
? _value.totalAmount
|
||||
: totalAmount // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
orderCount: freezed == orderCount
|
||||
? _value.orderCount
|
||||
: orderCount // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
paymentCount: freezed == paymentCount
|
||||
? _value.paymentCount
|
||||
: paymentCount // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
percentage: freezed == percentage
|
||||
? _value.percentage
|
||||
: percentage // ignore: cast_nullable_to_non_nullable
|
||||
as num?,
|
||||
)
|
||||
as $Val,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$PaymentMethodAnalyticItemDtoImplCopyWith<$Res>
|
||||
implements $PaymentMethodAnalyticItemDtoCopyWith<$Res> {
|
||||
factory _$$PaymentMethodAnalyticItemDtoImplCopyWith(
|
||||
_$PaymentMethodAnalyticItemDtoImpl value,
|
||||
$Res Function(_$PaymentMethodAnalyticItemDtoImpl) then,
|
||||
) = __$$PaymentMethodAnalyticItemDtoImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({
|
||||
@JsonKey(name: "payment_method_id") String? paymentMethodId,
|
||||
@JsonKey(name: "payment_method_name") String? paymentMethodName,
|
||||
@JsonKey(name: "payment_method_type") String? paymentMethodType,
|
||||
@JsonKey(name: "total_amount") int? totalAmount,
|
||||
@JsonKey(name: "order_count") int? orderCount,
|
||||
@JsonKey(name: "payment_count") int? paymentCount,
|
||||
@JsonKey(name: "percentage") num? percentage,
|
||||
});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$PaymentMethodAnalyticItemDtoImplCopyWithImpl<$Res>
|
||||
extends
|
||||
_$PaymentMethodAnalyticItemDtoCopyWithImpl<
|
||||
$Res,
|
||||
_$PaymentMethodAnalyticItemDtoImpl
|
||||
>
|
||||
implements _$$PaymentMethodAnalyticItemDtoImplCopyWith<$Res> {
|
||||
__$$PaymentMethodAnalyticItemDtoImplCopyWithImpl(
|
||||
_$PaymentMethodAnalyticItemDtoImpl _value,
|
||||
$Res Function(_$PaymentMethodAnalyticItemDtoImpl) _then,
|
||||
) : super(_value, _then);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticItemDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? paymentMethodId = freezed,
|
||||
Object? paymentMethodName = freezed,
|
||||
Object? paymentMethodType = freezed,
|
||||
Object? totalAmount = freezed,
|
||||
Object? orderCount = freezed,
|
||||
Object? paymentCount = freezed,
|
||||
Object? percentage = freezed,
|
||||
}) {
|
||||
return _then(
|
||||
_$PaymentMethodAnalyticItemDtoImpl(
|
||||
paymentMethodId: freezed == paymentMethodId
|
||||
? _value.paymentMethodId
|
||||
: paymentMethodId // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
paymentMethodName: freezed == paymentMethodName
|
||||
? _value.paymentMethodName
|
||||
: paymentMethodName // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
paymentMethodType: freezed == paymentMethodType
|
||||
? _value.paymentMethodType
|
||||
: paymentMethodType // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
totalAmount: freezed == totalAmount
|
||||
? _value.totalAmount
|
||||
: totalAmount // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
orderCount: freezed == orderCount
|
||||
? _value.orderCount
|
||||
: orderCount // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
paymentCount: freezed == paymentCount
|
||||
? _value.paymentCount
|
||||
: paymentCount // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
percentage: freezed == percentage
|
||||
? _value.percentage
|
||||
: percentage // ignore: cast_nullable_to_non_nullable
|
||||
as num?,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
@JsonSerializable()
|
||||
class _$PaymentMethodAnalyticItemDtoImpl extends _PaymentMethodAnalyticItemDto {
|
||||
const _$PaymentMethodAnalyticItemDtoImpl({
|
||||
@JsonKey(name: "payment_method_id") this.paymentMethodId,
|
||||
@JsonKey(name: "payment_method_name") this.paymentMethodName,
|
||||
@JsonKey(name: "payment_method_type") this.paymentMethodType,
|
||||
@JsonKey(name: "total_amount") this.totalAmount,
|
||||
@JsonKey(name: "order_count") this.orderCount,
|
||||
@JsonKey(name: "payment_count") this.paymentCount,
|
||||
@JsonKey(name: "percentage") this.percentage,
|
||||
}) : super._();
|
||||
|
||||
factory _$PaymentMethodAnalyticItemDtoImpl.fromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => _$$PaymentMethodAnalyticItemDtoImplFromJson(json);
|
||||
|
||||
@override
|
||||
@JsonKey(name: "payment_method_id")
|
||||
final String? paymentMethodId;
|
||||
@override
|
||||
@JsonKey(name: "payment_method_name")
|
||||
final String? paymentMethodName;
|
||||
@override
|
||||
@JsonKey(name: "payment_method_type")
|
||||
final String? paymentMethodType;
|
||||
@override
|
||||
@JsonKey(name: "total_amount")
|
||||
final int? totalAmount;
|
||||
@override
|
||||
@JsonKey(name: "order_count")
|
||||
final int? orderCount;
|
||||
@override
|
||||
@JsonKey(name: "payment_count")
|
||||
final int? paymentCount;
|
||||
@override
|
||||
@JsonKey(name: "percentage")
|
||||
final num? percentage;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'PaymentMethodAnalyticItemDto(paymentMethodId: $paymentMethodId, paymentMethodName: $paymentMethodName, paymentMethodType: $paymentMethodType, totalAmount: $totalAmount, orderCount: $orderCount, paymentCount: $paymentCount, percentage: $percentage)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$PaymentMethodAnalyticItemDtoImpl &&
|
||||
(identical(other.paymentMethodId, paymentMethodId) ||
|
||||
other.paymentMethodId == paymentMethodId) &&
|
||||
(identical(other.paymentMethodName, paymentMethodName) ||
|
||||
other.paymentMethodName == paymentMethodName) &&
|
||||
(identical(other.paymentMethodType, paymentMethodType) ||
|
||||
other.paymentMethodType == paymentMethodType) &&
|
||||
(identical(other.totalAmount, totalAmount) ||
|
||||
other.totalAmount == totalAmount) &&
|
||||
(identical(other.orderCount, orderCount) ||
|
||||
other.orderCount == orderCount) &&
|
||||
(identical(other.paymentCount, paymentCount) ||
|
||||
other.paymentCount == paymentCount) &&
|
||||
(identical(other.percentage, percentage) ||
|
||||
other.percentage == percentage));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
paymentMethodId,
|
||||
paymentMethodName,
|
||||
paymentMethodType,
|
||||
totalAmount,
|
||||
orderCount,
|
||||
paymentCount,
|
||||
percentage,
|
||||
);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticItemDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$PaymentMethodAnalyticItemDtoImplCopyWith<
|
||||
_$PaymentMethodAnalyticItemDtoImpl
|
||||
>
|
||||
get copyWith =>
|
||||
__$$PaymentMethodAnalyticItemDtoImplCopyWithImpl<
|
||||
_$PaymentMethodAnalyticItemDtoImpl
|
||||
>(this, _$identity);
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() {
|
||||
return _$$PaymentMethodAnalyticItemDtoImplToJson(this);
|
||||
}
|
||||
}
|
||||
|
||||
abstract class _PaymentMethodAnalyticItemDto
|
||||
extends PaymentMethodAnalyticItemDto {
|
||||
const factory _PaymentMethodAnalyticItemDto({
|
||||
@JsonKey(name: "payment_method_id") final String? paymentMethodId,
|
||||
@JsonKey(name: "payment_method_name") final String? paymentMethodName,
|
||||
@JsonKey(name: "payment_method_type") final String? paymentMethodType,
|
||||
@JsonKey(name: "total_amount") final int? totalAmount,
|
||||
@JsonKey(name: "order_count") final int? orderCount,
|
||||
@JsonKey(name: "payment_count") final int? paymentCount,
|
||||
@JsonKey(name: "percentage") final num? percentage,
|
||||
}) = _$PaymentMethodAnalyticItemDtoImpl;
|
||||
const _PaymentMethodAnalyticItemDto._() : super._();
|
||||
|
||||
factory _PaymentMethodAnalyticItemDto.fromJson(Map<String, dynamic> json) =
|
||||
_$PaymentMethodAnalyticItemDtoImpl.fromJson;
|
||||
|
||||
@override
|
||||
@JsonKey(name: "payment_method_id")
|
||||
String? get paymentMethodId;
|
||||
@override
|
||||
@JsonKey(name: "payment_method_name")
|
||||
String? get paymentMethodName;
|
||||
@override
|
||||
@JsonKey(name: "payment_method_type")
|
||||
String? get paymentMethodType;
|
||||
@override
|
||||
@JsonKey(name: "total_amount")
|
||||
int? get totalAmount;
|
||||
@override
|
||||
@JsonKey(name: "order_count")
|
||||
int? get orderCount;
|
||||
@override
|
||||
@JsonKey(name: "payment_count")
|
||||
int? get paymentCount;
|
||||
@override
|
||||
@JsonKey(name: "percentage")
|
||||
num? get percentage;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticItemDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$PaymentMethodAnalyticItemDtoImplCopyWith<
|
||||
_$PaymentMethodAnalyticItemDtoImpl
|
||||
>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
PaymentMethodAnalyticSummaryDto _$PaymentMethodAnalyticSummaryDtoFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) {
|
||||
return _PaymentMethodAnalyticSummaryDto.fromJson(json);
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
mixin _$PaymentMethodAnalyticSummaryDto {
|
||||
@JsonKey(name: "total_amount")
|
||||
int? get totalAmount => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "total_orders")
|
||||
int? get totalOrders => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "total_payments")
|
||||
int? get totalPayments => throw _privateConstructorUsedError;
|
||||
@JsonKey(name: "average_order_value")
|
||||
double? get averageOrderValue => throw _privateConstructorUsedError;
|
||||
|
||||
/// Serializes this PaymentMethodAnalyticSummaryDto to a JSON map.
|
||||
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticSummaryDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$PaymentMethodAnalyticSummaryDtoCopyWith<PaymentMethodAnalyticSummaryDto>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $PaymentMethodAnalyticSummaryDtoCopyWith<$Res> {
|
||||
factory $PaymentMethodAnalyticSummaryDtoCopyWith(
|
||||
PaymentMethodAnalyticSummaryDto value,
|
||||
$Res Function(PaymentMethodAnalyticSummaryDto) then,
|
||||
) =
|
||||
_$PaymentMethodAnalyticSummaryDtoCopyWithImpl<
|
||||
$Res,
|
||||
PaymentMethodAnalyticSummaryDto
|
||||
>;
|
||||
@useResult
|
||||
$Res call({
|
||||
@JsonKey(name: "total_amount") int? totalAmount,
|
||||
@JsonKey(name: "total_orders") int? totalOrders,
|
||||
@JsonKey(name: "total_payments") int? totalPayments,
|
||||
@JsonKey(name: "average_order_value") double? averageOrderValue,
|
||||
});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$PaymentMethodAnalyticSummaryDtoCopyWithImpl<
|
||||
$Res,
|
||||
$Val extends PaymentMethodAnalyticSummaryDto
|
||||
>
|
||||
implements $PaymentMethodAnalyticSummaryDtoCopyWith<$Res> {
|
||||
_$PaymentMethodAnalyticSummaryDtoCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticSummaryDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? totalAmount = freezed,
|
||||
Object? totalOrders = freezed,
|
||||
Object? totalPayments = freezed,
|
||||
Object? averageOrderValue = freezed,
|
||||
}) {
|
||||
return _then(
|
||||
_value.copyWith(
|
||||
totalAmount: freezed == totalAmount
|
||||
? _value.totalAmount
|
||||
: totalAmount // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
totalOrders: freezed == totalOrders
|
||||
? _value.totalOrders
|
||||
: totalOrders // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
totalPayments: freezed == totalPayments
|
||||
? _value.totalPayments
|
||||
: totalPayments // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
averageOrderValue: freezed == averageOrderValue
|
||||
? _value.averageOrderValue
|
||||
: averageOrderValue // ignore: cast_nullable_to_non_nullable
|
||||
as double?,
|
||||
)
|
||||
as $Val,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$PaymentMethodAnalyticSummaryDtoImplCopyWith<$Res>
|
||||
implements $PaymentMethodAnalyticSummaryDtoCopyWith<$Res> {
|
||||
factory _$$PaymentMethodAnalyticSummaryDtoImplCopyWith(
|
||||
_$PaymentMethodAnalyticSummaryDtoImpl value,
|
||||
$Res Function(_$PaymentMethodAnalyticSummaryDtoImpl) then,
|
||||
) = __$$PaymentMethodAnalyticSummaryDtoImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({
|
||||
@JsonKey(name: "total_amount") int? totalAmount,
|
||||
@JsonKey(name: "total_orders") int? totalOrders,
|
||||
@JsonKey(name: "total_payments") int? totalPayments,
|
||||
@JsonKey(name: "average_order_value") double? averageOrderValue,
|
||||
});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$PaymentMethodAnalyticSummaryDtoImplCopyWithImpl<$Res>
|
||||
extends
|
||||
_$PaymentMethodAnalyticSummaryDtoCopyWithImpl<
|
||||
$Res,
|
||||
_$PaymentMethodAnalyticSummaryDtoImpl
|
||||
>
|
||||
implements _$$PaymentMethodAnalyticSummaryDtoImplCopyWith<$Res> {
|
||||
__$$PaymentMethodAnalyticSummaryDtoImplCopyWithImpl(
|
||||
_$PaymentMethodAnalyticSummaryDtoImpl _value,
|
||||
$Res Function(_$PaymentMethodAnalyticSummaryDtoImpl) _then,
|
||||
) : super(_value, _then);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticSummaryDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? totalAmount = freezed,
|
||||
Object? totalOrders = freezed,
|
||||
Object? totalPayments = freezed,
|
||||
Object? averageOrderValue = freezed,
|
||||
}) {
|
||||
return _then(
|
||||
_$PaymentMethodAnalyticSummaryDtoImpl(
|
||||
totalAmount: freezed == totalAmount
|
||||
? _value.totalAmount
|
||||
: totalAmount // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
totalOrders: freezed == totalOrders
|
||||
? _value.totalOrders
|
||||
: totalOrders // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
totalPayments: freezed == totalPayments
|
||||
? _value.totalPayments
|
||||
: totalPayments // ignore: cast_nullable_to_non_nullable
|
||||
as int?,
|
||||
averageOrderValue: freezed == averageOrderValue
|
||||
? _value.averageOrderValue
|
||||
: averageOrderValue // ignore: cast_nullable_to_non_nullable
|
||||
as double?,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
@JsonSerializable()
|
||||
class _$PaymentMethodAnalyticSummaryDtoImpl
|
||||
extends _PaymentMethodAnalyticSummaryDto {
|
||||
const _$PaymentMethodAnalyticSummaryDtoImpl({
|
||||
@JsonKey(name: "total_amount") this.totalAmount,
|
||||
@JsonKey(name: "total_orders") this.totalOrders,
|
||||
@JsonKey(name: "total_payments") this.totalPayments,
|
||||
@JsonKey(name: "average_order_value") this.averageOrderValue,
|
||||
}) : super._();
|
||||
|
||||
factory _$PaymentMethodAnalyticSummaryDtoImpl.fromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => _$$PaymentMethodAnalyticSummaryDtoImplFromJson(json);
|
||||
|
||||
@override
|
||||
@JsonKey(name: "total_amount")
|
||||
final int? totalAmount;
|
||||
@override
|
||||
@JsonKey(name: "total_orders")
|
||||
final int? totalOrders;
|
||||
@override
|
||||
@JsonKey(name: "total_payments")
|
||||
final int? totalPayments;
|
||||
@override
|
||||
@JsonKey(name: "average_order_value")
|
||||
final double? averageOrderValue;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'PaymentMethodAnalyticSummaryDto(totalAmount: $totalAmount, totalOrders: $totalOrders, totalPayments: $totalPayments, averageOrderValue: $averageOrderValue)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$PaymentMethodAnalyticSummaryDtoImpl &&
|
||||
(identical(other.totalAmount, totalAmount) ||
|
||||
other.totalAmount == totalAmount) &&
|
||||
(identical(other.totalOrders, totalOrders) ||
|
||||
other.totalOrders == totalOrders) &&
|
||||
(identical(other.totalPayments, totalPayments) ||
|
||||
other.totalPayments == totalPayments) &&
|
||||
(identical(other.averageOrderValue, averageOrderValue) ||
|
||||
other.averageOrderValue == averageOrderValue));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
totalAmount,
|
||||
totalOrders,
|
||||
totalPayments,
|
||||
averageOrderValue,
|
||||
);
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticSummaryDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$PaymentMethodAnalyticSummaryDtoImplCopyWith<
|
||||
_$PaymentMethodAnalyticSummaryDtoImpl
|
||||
>
|
||||
get copyWith =>
|
||||
__$$PaymentMethodAnalyticSummaryDtoImplCopyWithImpl<
|
||||
_$PaymentMethodAnalyticSummaryDtoImpl
|
||||
>(this, _$identity);
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() {
|
||||
return _$$PaymentMethodAnalyticSummaryDtoImplToJson(this);
|
||||
}
|
||||
}
|
||||
|
||||
abstract class _PaymentMethodAnalyticSummaryDto
|
||||
extends PaymentMethodAnalyticSummaryDto {
|
||||
const factory _PaymentMethodAnalyticSummaryDto({
|
||||
@JsonKey(name: "total_amount") final int? totalAmount,
|
||||
@JsonKey(name: "total_orders") final int? totalOrders,
|
||||
@JsonKey(name: "total_payments") final int? totalPayments,
|
||||
@JsonKey(name: "average_order_value") final double? averageOrderValue,
|
||||
}) = _$PaymentMethodAnalyticSummaryDtoImpl;
|
||||
const _PaymentMethodAnalyticSummaryDto._() : super._();
|
||||
|
||||
factory _PaymentMethodAnalyticSummaryDto.fromJson(Map<String, dynamic> json) =
|
||||
_$PaymentMethodAnalyticSummaryDtoImpl.fromJson;
|
||||
|
||||
@override
|
||||
@JsonKey(name: "total_amount")
|
||||
int? get totalAmount;
|
||||
@override
|
||||
@JsonKey(name: "total_orders")
|
||||
int? get totalOrders;
|
||||
@override
|
||||
@JsonKey(name: "total_payments")
|
||||
int? get totalPayments;
|
||||
@override
|
||||
@JsonKey(name: "average_order_value")
|
||||
double? get averageOrderValue;
|
||||
|
||||
/// Create a copy of PaymentMethodAnalyticSummaryDto
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$PaymentMethodAnalyticSummaryDtoImplCopyWith<
|
||||
_$PaymentMethodAnalyticSummaryDtoImpl
|
||||
>
|
||||
get copyWith => throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
@ -269,3 +269,81 @@ Map<String, dynamic> _$$ProductAnalyticItemDtoImplToJson(
|
||||
'average_price': instance.averagePrice,
|
||||
'order_count': instance.orderCount,
|
||||
};
|
||||
|
||||
_$PaymentMethodAnalyticDtoImpl _$$PaymentMethodAnalyticDtoImplFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => _$PaymentMethodAnalyticDtoImpl(
|
||||
organizationId: json['organization_id'] as String?,
|
||||
outletId: json['outlet_id'] as String?,
|
||||
dateFrom: json['date_from'] == null
|
||||
? null
|
||||
: DateTime.parse(json['date_from'] as String),
|
||||
dateTo: json['date_to'] == null
|
||||
? null
|
||||
: DateTime.parse(json['date_to'] as String),
|
||||
groupBy: json['group_by'] as String?,
|
||||
summary: json['summary'] == null
|
||||
? null
|
||||
: PaymentMethodAnalyticSummaryDto.fromJson(
|
||||
json['summary'] as Map<String, dynamic>,
|
||||
),
|
||||
data: (json['data'] as List<dynamic>?)
|
||||
?.map(
|
||||
(e) => PaymentMethodAnalyticItemDto.fromJson(e as Map<String, dynamic>),
|
||||
)
|
||||
.toList(),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$PaymentMethodAnalyticDtoImplToJson(
|
||||
_$PaymentMethodAnalyticDtoImpl instance,
|
||||
) => <String, dynamic>{
|
||||
'organization_id': instance.organizationId,
|
||||
'outlet_id': instance.outletId,
|
||||
'date_from': instance.dateFrom?.toIso8601String(),
|
||||
'date_to': instance.dateTo?.toIso8601String(),
|
||||
'group_by': instance.groupBy,
|
||||
'summary': instance.summary,
|
||||
'data': instance.data,
|
||||
};
|
||||
|
||||
_$PaymentMethodAnalyticItemDtoImpl _$$PaymentMethodAnalyticItemDtoImplFromJson(
|
||||
Map<String, dynamic> json,
|
||||
) => _$PaymentMethodAnalyticItemDtoImpl(
|
||||
paymentMethodId: json['payment_method_id'] as String?,
|
||||
paymentMethodName: json['payment_method_name'] as String?,
|
||||
paymentMethodType: json['payment_method_type'] as String?,
|
||||
totalAmount: (json['total_amount'] as num?)?.toInt(),
|
||||
orderCount: (json['order_count'] as num?)?.toInt(),
|
||||
paymentCount: (json['payment_count'] as num?)?.toInt(),
|
||||
percentage: json['percentage'] as num?,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$PaymentMethodAnalyticItemDtoImplToJson(
|
||||
_$PaymentMethodAnalyticItemDtoImpl instance,
|
||||
) => <String, dynamic>{
|
||||
'payment_method_id': instance.paymentMethodId,
|
||||
'payment_method_name': instance.paymentMethodName,
|
||||
'payment_method_type': instance.paymentMethodType,
|
||||
'total_amount': instance.totalAmount,
|
||||
'order_count': instance.orderCount,
|
||||
'payment_count': instance.paymentCount,
|
||||
'percentage': instance.percentage,
|
||||
};
|
||||
|
||||
_$PaymentMethodAnalyticSummaryDtoImpl
|
||||
_$$PaymentMethodAnalyticSummaryDtoImplFromJson(Map<String, dynamic> json) =>
|
||||
_$PaymentMethodAnalyticSummaryDtoImpl(
|
||||
totalAmount: (json['total_amount'] as num?)?.toInt(),
|
||||
totalOrders: (json['total_orders'] as num?)?.toInt(),
|
||||
totalPayments: (json['total_payments'] as num?)?.toInt(),
|
||||
averageOrderValue: (json['average_order_value'] as num?)?.toDouble(),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$PaymentMethodAnalyticSummaryDtoImplToJson(
|
||||
_$PaymentMethodAnalyticSummaryDtoImpl instance,
|
||||
) => <String, dynamic>{
|
||||
'total_amount': instance.totalAmount,
|
||||
'total_orders': instance.totalOrders,
|
||||
'total_payments': instance.totalPayments,
|
||||
'average_order_value': instance.averageOrderValue,
|
||||
};
|
||||
|
||||
@ -105,4 +105,33 @@ class AnalyticRemoteDataProvider {
|
||||
return DC.error(AnalyticFailure.serverError(e));
|
||||
}
|
||||
}
|
||||
|
||||
Future<DC<AnalyticFailure, PaymentMethodAnalyticDto>> fetchPaymentMethod({
|
||||
required DateTime dateFrom,
|
||||
required DateTime dateTo,
|
||||
}) async {
|
||||
try {
|
||||
final response = await _apiClient.get(
|
||||
ApiPath.analyticPaymentMethods,
|
||||
params: {
|
||||
'date_from': dateFrom.toServerDate(),
|
||||
'date_to': dateTo.toServerDate(),
|
||||
},
|
||||
headers: getAuthorizationHeader(),
|
||||
);
|
||||
|
||||
if (response.data['success'] == false) {
|
||||
return DC.error(AnalyticFailure.unexpectedError());
|
||||
}
|
||||
|
||||
final paymentMethods = PaymentMethodAnalyticDto.fromJson(
|
||||
response.data['data'] as Map<String, dynamic>,
|
||||
);
|
||||
|
||||
return DC.data(paymentMethods);
|
||||
} on ApiFailure catch (e, s) {
|
||||
log('fetchPaymentMethod', name: _logName, error: e, stackTrace: s);
|
||||
return DC.error(AnalyticFailure.serverError(e));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,82 @@
|
||||
part of '../analytic_dtos.dart';
|
||||
|
||||
@freezed
|
||||
class PaymentMethodAnalyticDto with _$PaymentMethodAnalyticDto {
|
||||
const PaymentMethodAnalyticDto._();
|
||||
|
||||
const factory PaymentMethodAnalyticDto({
|
||||
@JsonKey(name: "organization_id") String? organizationId,
|
||||
@JsonKey(name: "outlet_id") String? outletId,
|
||||
@JsonKey(name: "date_from") DateTime? dateFrom,
|
||||
@JsonKey(name: "date_to") DateTime? dateTo,
|
||||
@JsonKey(name: "group_by") String? groupBy,
|
||||
@JsonKey(name: "summary") PaymentMethodAnalyticSummaryDto? summary,
|
||||
@JsonKey(name: "data") List<PaymentMethodAnalyticItemDto>? data,
|
||||
}) = _PaymentMethodAnalyticDto;
|
||||
|
||||
factory PaymentMethodAnalyticDto.fromJson(Map<String, dynamic> json) =>
|
||||
_$PaymentMethodAnalyticDtoFromJson(json);
|
||||
|
||||
// Optional mapper ke domain
|
||||
PaymentMethodAnalytic toDomain() => PaymentMethodAnalytic(
|
||||
organizationId: organizationId ?? '',
|
||||
outletId: outletId ?? '',
|
||||
dateFrom: dateFrom ?? DateTime.now(),
|
||||
dateTo: dateTo ?? DateTime.now(),
|
||||
groupBy: groupBy ?? '',
|
||||
summary: summary?.toDomain() ?? PaymentMethodAnalyticSummary.empty(),
|
||||
data: data?.map((e) => e.toDomain()).toList() ?? [],
|
||||
);
|
||||
}
|
||||
|
||||
@freezed
|
||||
class PaymentMethodAnalyticItemDto with _$PaymentMethodAnalyticItemDto {
|
||||
const PaymentMethodAnalyticItemDto._();
|
||||
|
||||
const factory PaymentMethodAnalyticItemDto({
|
||||
@JsonKey(name: "payment_method_id") String? paymentMethodId,
|
||||
@JsonKey(name: "payment_method_name") String? paymentMethodName,
|
||||
@JsonKey(name: "payment_method_type") String? paymentMethodType,
|
||||
@JsonKey(name: "total_amount") int? totalAmount,
|
||||
@JsonKey(name: "order_count") int? orderCount,
|
||||
@JsonKey(name: "payment_count") int? paymentCount,
|
||||
@JsonKey(name: "percentage") num? percentage,
|
||||
}) = _PaymentMethodAnalyticItemDto;
|
||||
|
||||
factory PaymentMethodAnalyticItemDto.fromJson(Map<String, dynamic> json) =>
|
||||
_$PaymentMethodAnalyticItemDtoFromJson(json);
|
||||
|
||||
// Optional mapper ke domain
|
||||
PaymentMethodAnalyticItem toDomain() => PaymentMethodAnalyticItem(
|
||||
paymentMethodId: paymentMethodId ?? '',
|
||||
paymentMethodName: paymentMethodName ?? '',
|
||||
paymentMethodType: paymentMethodType ?? '',
|
||||
totalAmount: totalAmount ?? 0,
|
||||
orderCount: orderCount ?? 0,
|
||||
paymentCount: paymentCount ?? 0,
|
||||
percentage: percentage ?? 0,
|
||||
);
|
||||
}
|
||||
|
||||
@freezed
|
||||
class PaymentMethodAnalyticSummaryDto with _$PaymentMethodAnalyticSummaryDto {
|
||||
const PaymentMethodAnalyticSummaryDto._();
|
||||
|
||||
const factory PaymentMethodAnalyticSummaryDto({
|
||||
@JsonKey(name: "total_amount") int? totalAmount,
|
||||
@JsonKey(name: "total_orders") int? totalOrders,
|
||||
@JsonKey(name: "total_payments") int? totalPayments,
|
||||
@JsonKey(name: "average_order_value") double? averageOrderValue,
|
||||
}) = _PaymentMethodAnalyticSummaryDto;
|
||||
|
||||
factory PaymentMethodAnalyticSummaryDto.fromJson(Map<String, dynamic> json) =>
|
||||
_$PaymentMethodAnalyticSummaryDtoFromJson(json);
|
||||
|
||||
// Optional mapping ke domain entity
|
||||
PaymentMethodAnalyticSummary toDomain() => PaymentMethodAnalyticSummary(
|
||||
totalAmount: totalAmount ?? 0,
|
||||
totalOrders: totalOrders ?? 0,
|
||||
totalPayments: totalPayments ?? 0,
|
||||
averageOrderValue: averageOrderValue ?? 0.0,
|
||||
);
|
||||
}
|
||||
@ -85,4 +85,28 @@ class AnalyticRepository implements IAnalyticRepository {
|
||||
return left(const AnalyticFailure.unexpectedError());
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<AnalyticFailure, PaymentMethodAnalytic>> getPaymentMethod({
|
||||
required DateTime dateFrom,
|
||||
required DateTime dateTo,
|
||||
}) async {
|
||||
try {
|
||||
final result = await _dataProvider.fetchPaymentMethod(
|
||||
dateFrom: dateFrom,
|
||||
dateTo: dateTo,
|
||||
);
|
||||
|
||||
if (result.hasError) {
|
||||
return left(result.error!);
|
||||
}
|
||||
|
||||
final paymentMethod = result.data!.toDomain();
|
||||
|
||||
return right(paymentMethod);
|
||||
} catch (e) {
|
||||
log('getPaymentMethodError', name: _logName, error: e);
|
||||
return left(const AnalyticFailure.unexpectedError());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,6 +11,8 @@
|
||||
// ignore_for_file: no_leading_underscores_for_library_prefixes
|
||||
import 'package:apskel_pos_flutter_v2/application/analytic/dashboard_analytic_loader/dashboard_analytic_loader_bloc.dart'
|
||||
as _i80;
|
||||
import 'package:apskel_pos_flutter_v2/application/analytic/payment_method_analytic_loader/payment_method_analytic_loader_bloc.dart'
|
||||
as _i733;
|
||||
import 'package:apskel_pos_flutter_v2/application/analytic/product_analytic_loader/product_analytic_loader_bloc.dart'
|
||||
as _i268;
|
||||
import 'package:apskel_pos_flutter_v2/application/analytic/sales_analytic_loader/sales_analytic_loader_bloc.dart'
|
||||
@ -303,6 +305,11 @@ extension GetItInjectableX on _i174.GetIt {
|
||||
gh.factory<_i268.ProductAnalyticLoaderBloc>(
|
||||
() => _i268.ProductAnalyticLoaderBloc(gh<_i346.IAnalyticRepository>()),
|
||||
);
|
||||
gh.factory<_i733.PaymentMethodAnalyticLoaderBloc>(
|
||||
() => _i733.PaymentMethodAnalyticLoaderBloc(
|
||||
gh<_i346.IAnalyticRepository>(),
|
||||
),
|
||||
);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
|
||||
import '../../../../../application/analytic/dashboard_analytic_loader/dashboard_analytic_loader_bloc.dart';
|
||||
import '../../../../../application/analytic/payment_method_analytic_loader/payment_method_analytic_loader_bloc.dart';
|
||||
import '../../../../../application/analytic/product_analytic_loader/product_analytic_loader_bloc.dart';
|
||||
import '../../../../../application/analytic/sales_analytic_loader/sales_analytic_loader_bloc.dart';
|
||||
import '../../../../../application/report/report_bloc.dart';
|
||||
@ -15,6 +16,7 @@ import '../../../../components/picker/date_range_picker.dart';
|
||||
import '../../../../components/spaces/space.dart';
|
||||
import '../../../../router/app_router.gr.dart';
|
||||
import 'sections/report_dashboard_section.dart';
|
||||
import 'sections/report_payment_method_section.dart';
|
||||
import 'sections/report_product_section.dart';
|
||||
import 'sections/report_sales_section.dart';
|
||||
import 'widgets/report_menu_card.dart';
|
||||
@ -151,7 +153,20 @@ class ReportPage extends StatelessWidget implements AutoRouteWrapper {
|
||||
);
|
||||
},
|
||||
),
|
||||
4 => Text(state.title),
|
||||
4 =>
|
||||
BlocBuilder<
|
||||
PaymentMethodAnalyticLoaderBloc,
|
||||
PaymentMethodAnalyticLoaderState
|
||||
>(
|
||||
builder: (context, paymentMethod) {
|
||||
return ReportPaymentMethodSection(
|
||||
menu: reportMenus[state.selectedMenu],
|
||||
state: paymentMethod,
|
||||
startDate: state.startDate,
|
||||
endDate: state.endDate,
|
||||
);
|
||||
},
|
||||
),
|
||||
5 => Text(state.title),
|
||||
6 => Text(state.title),
|
||||
7 => Text(state.title),
|
||||
@ -195,6 +210,13 @@ class ReportPage extends StatelessWidget implements AutoRouteWrapper {
|
||||
),
|
||||
);
|
||||
case 4:
|
||||
return context.read<PaymentMethodAnalyticLoaderBloc>().add(
|
||||
PaymentMethodAnalyticLoaderEvent.fetched(
|
||||
startDate: state.startDate,
|
||||
endDate: state.endDate,
|
||||
),
|
||||
);
|
||||
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
@ -234,6 +256,15 @@ class ReportPage extends StatelessWidget implements AutoRouteWrapper {
|
||||
),
|
||||
),
|
||||
),
|
||||
BlocProvider(
|
||||
create: (context) => getIt<PaymentMethodAnalyticLoaderBloc>()
|
||||
..add(
|
||||
PaymentMethodAnalyticLoaderEvent.fetched(
|
||||
startDate: DateTime.now().subtract(const Duration(days: 30)),
|
||||
endDate: DateTime.now(),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
child: this,
|
||||
);
|
||||
|
||||
@ -0,0 +1,240 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../../../../../../application/analytic/payment_method_analytic_loader/payment_method_analytic_loader_bloc.dart';
|
||||
import '../../../../../../common/data/report_menu.dart';
|
||||
import '../../../../../../common/extension/extension.dart';
|
||||
import '../../../../../../common/theme/theme.dart';
|
||||
import '../../../../../../domain/analytic/analytic.dart';
|
||||
import '../../../../../components/loader/loader_with_text.dart';
|
||||
import '../../../../../components/spaces/space.dart';
|
||||
import '../../../../../components/widgets/report/report_header.dart';
|
||||
import '../../../../../components/widgets/report/report_summary_card.dart';
|
||||
|
||||
class ReportPaymentMethodSection extends StatelessWidget {
|
||||
final ReportMenu menu;
|
||||
final PaymentMethodAnalyticLoaderState state;
|
||||
final DateTime startDate;
|
||||
final DateTime endDate;
|
||||
const ReportPaymentMethodSection({
|
||||
super.key,
|
||||
required this.menu,
|
||||
required this.state,
|
||||
required this.startDate,
|
||||
required this.endDate,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (state.isFetching) {
|
||||
return const Center(child: LoaderWithText());
|
||||
}
|
||||
|
||||
return ListView(
|
||||
padding: EdgeInsets.all(16),
|
||||
children: [
|
||||
ReportHeader(menu: menu, endDate: endDate, startDate: startDate),
|
||||
_buildSummary(),
|
||||
Container(
|
||||
padding: const EdgeInsets.all(12),
|
||||
margin: EdgeInsets.only(top: 16),
|
||||
decoration: BoxDecoration(
|
||||
color: AppColor.white,
|
||||
borderRadius: BorderRadius.circular(14),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Rincian Metode Pembayaran',
|
||||
style: AppStyle.lg.copyWith(
|
||||
fontWeight: FontWeight.w600,
|
||||
color: AppColor.textPrimary,
|
||||
),
|
||||
),
|
||||
|
||||
SpaceHeight(16),
|
||||
|
||||
...List.generate(state.paymentMethodAnalytic.data.length, (
|
||||
index,
|
||||
) {
|
||||
final item = state.paymentMethodAnalytic.data[index];
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(bottom: 16),
|
||||
child: _buildPaymentCard(item),
|
||||
);
|
||||
}),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Container _buildPaymentCard(PaymentMethodAnalyticItem item) {
|
||||
return Container(
|
||||
padding: const EdgeInsets.all(16),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
border: Border.all(color: AppColor.border, width: 1),
|
||||
),
|
||||
child: Row(
|
||||
children: [
|
||||
// Payment Method Icon
|
||||
Container(
|
||||
width: 40,
|
||||
height: 40,
|
||||
decoration: BoxDecoration(
|
||||
color: AppColor.primary,
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
border: Border.all(color: AppColor.primary, width: 1),
|
||||
),
|
||||
child: Icon(Icons.money, color: AppColor.white, size: 20),
|
||||
),
|
||||
|
||||
SpaceWidth(16),
|
||||
|
||||
// Payment Method Details
|
||||
Expanded(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
item.paymentMethodName,
|
||||
style: AppStyle.md.copyWith(
|
||||
fontWeight: FontWeight.w600,
|
||||
color: AppColor.textPrimary,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
"${item.percentage}%",
|
||||
style: AppStyle.md.copyWith(
|
||||
fontWeight: FontWeight.bold,
|
||||
color: AppColor.primary,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
SpaceHeight(8),
|
||||
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
item.totalAmount.currencyFormatRpV2,
|
||||
style: AppStyle.md.copyWith(
|
||||
fontWeight: FontWeight.w500,
|
||||
color: AppColor.textSecondary,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
'${item.orderCount} Pesanan',
|
||||
style: AppStyle.md.copyWith(
|
||||
fontWeight: FontWeight.w500,
|
||||
color: AppColor.textSecondary,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
SpaceHeight(8),
|
||||
|
||||
// Progress Bar
|
||||
Container(
|
||||
width: double.infinity,
|
||||
height: 6,
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.grey.shade200,
|
||||
borderRadius: BorderRadius.circular(3),
|
||||
),
|
||||
child: FractionallySizedBox(
|
||||
alignment: Alignment.centerLeft,
|
||||
widthFactor: (item.percentage / 100), // 100%
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
color: AppColor.primary,
|
||||
borderRadius: BorderRadius.circular(3),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Padding _buildSummary() {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(top: 16),
|
||||
child: Column(
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: ReportSummaryCard(
|
||||
color: AppColor.success,
|
||||
icon: Icons.trending_up,
|
||||
title: "Pendapatan Total",
|
||||
value: state
|
||||
.paymentMethodAnalytic
|
||||
.summary
|
||||
.totalAmount
|
||||
.currencyFormatRpV2,
|
||||
),
|
||||
),
|
||||
SpaceWidth(12),
|
||||
Expanded(
|
||||
child: ReportSummaryCard(
|
||||
color: AppColor.info,
|
||||
icon: Icons.shopping_cart_outlined,
|
||||
title: 'Jumlah Pesanan',
|
||||
value: state
|
||||
.paymentMethodAnalytic
|
||||
.summary
|
||||
.totalOrders
|
||||
.currencyFormatRpV2,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
SpaceHeight(12),
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: ReportSummaryCard(
|
||||
color: AppColor.success,
|
||||
icon: Icons.attach_money_outlined,
|
||||
title: "Nilai Rata Rata",
|
||||
value: state
|
||||
.paymentMethodAnalytic
|
||||
.summary
|
||||
.averageOrderValue
|
||||
.currencyFormatRpV2,
|
||||
),
|
||||
),
|
||||
SpaceWidth(12),
|
||||
Expanded(
|
||||
child: ReportSummaryCard(
|
||||
color: AppColor.info,
|
||||
icon: Icons.wallet_outlined,
|
||||
title: 'Jumlah Pembayaran',
|
||||
value: state
|
||||
.paymentMethodAnalytic
|
||||
.summary
|
||||
.totalPayments
|
||||
.currencyFormatRpV2,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user