import 'package:e_scan/backend/objectbox/entities/stock_picking/stock_picking_record_entity.dart'; import 'package:e_scan/backend/objectbox/objectbox_manager.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; part 'reception_details_page_model.freezed.dart'; final receptionDetailsPageModelProvider = StateNotifierProvider.autoDispose< ReceptionDetailsPageModel, ReceptionDetailsPageState >((ref) { return ReceptionDetailsPageModel(); }); class ReceptionDetailsPageModel extends StateNotifier { ReceptionDetailsPageModel() : super(const ReceptionDetailsPageState()); Future getReceptionById({required int id}) async { try { final stockPickingRecords = objectboxManager.store .box(); state = state.copyWith(loading: true); final entity = stockPickingRecords.get(id); state = state.copyWith(loading: false, reception: entity); } catch (e) { state = state.copyWith(loading: false); } } } @freezed abstract class ReceptionDetailsPageState with _$ReceptionDetailsPageState { const factory ReceptionDetailsPageState({ StockPickingRecordEntity? reception, @Default(false) bool loading, }) = _ReceptionDetailsPageState; }