import 'package:baseproject/core/common/index.dart'; import 'package:baseproject/features/repositories/hra_repository.dart'; import 'package:baseproject/features/repositories/hra_repository_models.dart'; import 'package:dartz/dartz.dart'; import 'package:injectable/injectable.dart'; @lazySingleton class OrderUseCases { OrderUseCases(this._hraRepository); final HraRepository _hraRepository; Future> getMyOrders({ required int pageIndex, required int pageSize, }) async { try { final query = OrderGetListQuery( pageIndex: pageIndex, pageSize: pageSize, ); final result = await _hraRepository.orderListMy(query); if (result.data == null || result.success != true) { return Left( result.message ?? 'Không lấy được danh sách khóa học đã mua', ); } return Right(result.data!); } catch (ex) { showErrorMessage(ex.toString()); return Left(ex.toString()); } } Future> getOrderDetail(int id) async { try { final OrderDtoApiResponse result = await _hraRepository.orderId(id); if (result.data == null || result.success != true) { return Left( result.message ?? 'Không lấy được thông tin đơn hàng', ); } return Right(result.data!); } catch (ex) { return Left(ex.toString()); } } }