import 'package:satu/core/base/base_service.dart'; import 'package:satu/core/models/inventarization/invetarization_good_list/invetarization_good_list.dart'; import 'package:satu/core/models/inventarization/response/inventarization_response.dart'; import 'package:satu/core/utils/locator.dart'; import '../models/inventarization/good_item/good_item.dart'; import '../models/response/response_entity.dart'; import 'api_service.dart'; class InventarizationService extends BaseService { final ApiService _api = locator(); Future> getList( {required int page, required int perpage, dynamic filter}) async { List list = []; try { final Map requestBody = { 'page': page, 'perpage': perpage }; ResponseEntity categories = await _api.postRequest('/goods_inventory_get', requestBody: requestBody); if (categories.original.data != null && categories.original.data!.isNotEmpty) { for (final dynamic map in categories.original.data!) { final InventarizationResponse item = InventarizationResponse.fromJson(map); list.add(item); } } } catch (e, stack) { log.e('getList', e, stack); } return list; } Future> getGoodByInventarizationId( {required int page, required int perpage, required int id}) async { List list = []; try { final Map requestBody = { 'page': page, 'perpage': perpage, 'id': id }; ResponseEntity categories = await _api.postRequest( '/goods_inventory_get_edit_form_data', requestBody: requestBody); if (categories.original.result != null) { InventarizationGoodList listResponse = InventarizationGoodList.fromJson(categories.original.result); list.addAll(listResponse.goodsList); } } catch (e, stack) { log.e('getList', e, stack); } return list; } Future addGoodToList(int inventoryId, int? goodId) async { bool result = false; try { final Map requestBody = { 'page': 1, 'perpage': 1, 'id': inventoryId, 'good_id' : goodId }; ResponseEntity response = await _api.postRequest( '/goods_inventory_select_item', requestBody: requestBody); result = response.original.result != null; } catch (e, stack) { log.e('getList', e, stack); } return result ; } Future setCountToItem(int inventoryId, int inventoryItemId, double value) async { bool result = false; try { final Map requestBody = { 'id': inventoryId, 'inventory_item_id' : inventoryItemId, 'cnt_buh': value }; ResponseEntity response = await _api.postRequest( '/goods_inventory_set_cnt_item', requestBody: requestBody); result = response.original.result != null; } catch (e, stack) { log.e('getList', e, stack); } return result ; } }