2025-07-30 22:38:44 +07:00
|
|
|
import 'package:bloc/bloc.dart';
|
|
|
|
|
import 'package:enaklo_pos/data/datasources/product_local_datasource.dart';
|
|
|
|
|
import 'package:enaklo_pos/presentation/home/models/order_model.dart';
|
|
|
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
|
|
|
|
|
|
part 'day_sales_event.dart';
|
|
|
|
|
part 'day_sales_state.dart';
|
|
|
|
|
part 'day_sales_bloc.freezed.dart';
|
|
|
|
|
|
|
|
|
|
class DaySalesBloc extends Bloc<DaySalesEvent, DaySalesState> {
|
|
|
|
|
final ProductLocalDatasource datasource;
|
|
|
|
|
DaySalesBloc(this.datasource) : super(const _Initial()) {
|
|
|
|
|
on<_GetDaySales>((event, emit) async {
|
2025-08-02 10:50:48 +07:00
|
|
|
emit(const _Loading());
|
|
|
|
|
final result = await datasource.getAllOrder(event.date);
|
|
|
|
|
emit(_Loaded(result));
|
|
|
|
|
});
|
|
|
|
|
on<_GetRangeDateSales>((event, emit) async {
|
2025-07-30 22:38:44 +07:00
|
|
|
emit(const _Loading());
|
|
|
|
|
final result =
|
2025-08-02 10:50:48 +07:00
|
|
|
await datasource.getAllOrderByRange(event.startDate, event.endDate);
|
2025-07-30 22:38:44 +07:00
|
|
|
emit(_Loaded(result));
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|