diff --git a/lib/api/device_transfer_api_client.dart b/lib/api/device_transfer_api_client.dart index 4a258c7..9cb7cbe 100644 --- a/lib/api/device_transfer_api_client.dart +++ b/lib/api/device_transfer_api_client.dart @@ -7,60 +7,48 @@ import '../controllers/api_routes/urls.dart'; import '../models/device/device_transfer.dart'; import '../models/device/device_transfer_info.dart'; -class DeviceTransferApiClient{ - - static final DeviceTransferApiClient _instance =DeviceTransferApiClient._internal(); +class DeviceTransferApiClient { + static final DeviceTransferApiClient _instance = DeviceTransferApiClient._internal(); DeviceTransferApiClient._internal(); - factory DeviceTransferApiClient() =>_instance; - - Future> getRequests({ - required List items, - required int pageItemNumber - }) async { + factory DeviceTransferApiClient() => _instance; - final response = await ApiClient().getJsonForResponse( - "${URLs.host1}${URLs.getDeviceTransfer}", - queryParameters: { - "uid":"${UserApiClient().user?.id}", - "token":"${UserApiClient().user?.token}", - "page":"${(items.length) ~/ pageItemNumber}", - }, - headers: {"Content-Type": "application/json; charset=utf-8"} - ); + Future> getRequests({required List items, required int pageItemNumber}) async { + final response = await ApiClient().getJsonForResponse("${URLs.host1}${URLs.getDeviceTransfer}", queryParameters: { + "uid": "${UserApiClient().user?.id}", + "token": "${UserApiClient().user?.token}", + "page": "${(items.length) ~/ pageItemNumber}", + }, headers: { + "Content-Type": "application/json; charset=utf-8" + }); List listJson = json.decode(utf8.decode(response.bodyBytes).replaceAll("\\", "")); return listJson.map((request) => DeviceTransfer.fromJson(request)).toList(); - } Future createRequest({ required DeviceTransfer model, - })async{ + }) async { Map body = { - "uid": UserApiClient().user?.id.toString()??"", - "token": UserApiClient().user?.token??"", - "serial_id": model.device?.id??"", - "destination_client": model.receiver?.client?.id??"", - "destination_department": model.receiver?.department?.id??"", + "uid": UserApiClient().user?.id.toString() ?? "", + "token": UserApiClient().user?.token ?? "", + "serial_id": model.device?.id ?? "", + "destination_client": model.receiver?.client?.id ?? "", + "destination_department": model.receiver?.department?.id ?? "", }; + final response = await ApiClient().postJsonForResponse("${URLs.host1}${URLs.requestDeviceTransfer}", body, isFormData: true); - final response = await ApiClient().postJsonForResponse( - "${URLs.host1}${URLs.requestDeviceTransfer}", body, isFormData: true); - - return DeviceTransfer.fromJson(json.decode(utf8.decode(response.bodyBytes))[0]); + return DeviceTransfer.fromJson(json.decode(utf8.decode(response.bodyBytes))[0]); } - Future updateRequest({ required bool isSender, required String requestId, required DeviceTransfer? oldModel, required DeviceTransferInfo newModel, - })async{ - + }) async { Map body = { "uid": UserApiClient().user?.id.toString(), "token": UserApiClient().user?.token, @@ -69,13 +57,8 @@ class DeviceTransferApiClient{ body.addAll(newModel.toJson(isSender)); - final response = await ApiClient().postJsonForResponse( - "${URLs.host1}${URLs.updateDeviceTransfer}/$requestId", body); - - return DeviceTransfer.fromJson( - json.decode(utf8.decode(response.bodyBytes))[0] - ); + final response = await ApiClient().postJsonForResponse("${URLs.host1}${URLs.updateDeviceTransfer}/$requestId", body); + return DeviceTransfer.fromJson(json.decode(utf8.decode(response.bodyBytes))[0]); } - -} \ No newline at end of file +} diff --git a/lib/api/gas_refill_api_client.dart b/lib/api/gas_refill_api_client.dart index 0935272..2f84f8f 100644 --- a/lib/api/gas_refill_api_client.dart +++ b/lib/api/gas_refill_api_client.dart @@ -6,40 +6,32 @@ import '../controllers/api_routes/urls.dart'; import '../models/gas_refill/gas_refill_model.dart'; import 'api_client.dart'; -class GasRefillApiClient{ - - static final GasRefillApiClient _instance =GasRefillApiClient._internal(); +class GasRefillApiClient { + static final GasRefillApiClient _instance = GasRefillApiClient._internal(); GasRefillApiClient._internal(); - factory GasRefillApiClient() =>_instance; - - - Future> getRequestPages({ - required List items, - required int pageItemNumber - }) async { + factory GasRefillApiClient() => _instance; - final response = await ApiClient().getJsonForResponse( - "${URLs.host1}${URLs.getGasRefill}",//body - headers: {"Content-Type": "application/json; charset=utf-8"}, - queryParameters: { - "uid":"${UserApiClient().user?.id}", - "token":"${UserApiClient().user?.token}", - "page":"${(items.length) ~/ pageItemNumber}", - } - ); + Future> getRequestPages({required List items, required int pageItemNumber}) async { + final response = await ApiClient().getJsonForResponse("${URLs.host1}${URLs.getGasRefill}", //body + headers: { + "Content-Type": "application/json; charset=utf-8" + }, + queryParameters: { + "uid": "${UserApiClient().user?.id}", + "token": "${UserApiClient().user?.token}", + "page": "${(items.length) ~/ pageItemNumber}", + }); // client's request was successfully received List requestsListJson = json.decode(utf8.decode(response.bodyBytes)); return requestsListJson.map((request) => GasRefillModel.fromJson(request)).toList(); - } Future createModel({ required GasRefillModel model, - }) async{ - + }) async { Map body = { "uid": UserApiClient().user?.id.toString(), "token": UserApiClient().user?.token ?? "", @@ -49,25 +41,24 @@ class GasRefillApiClient{ body["details"] = jsonEncode(model.details ?.map((model) => { - "type": model.type?.id.toString(), - "size": model.cylinderSize?.id.toString(), - "requsted_qty": model.requestedQuantity.toString(), - }) + "type": model.type?.id.toString(), + "size": model.cylinderSize?.id.toString(), + "requsted_qty": model.requestedQuantity.toString(), + }) .toList()); final response = await ApiClient().postJsonForResponse( "${URLs.host1}${URLs.requestGasRefill}", - body, + body, ); return GasRefillModel.fromJson(json.decode(utf8.decode(response.bodyBytes))[0]); - } Future updateModel({ required GasRefillModel? oldModel, required GasRefillModel newModel, - })async{ + }) async { Map body = { "uid": UserApiClient().user?.id.toString(), "token": UserApiClient().user?.token, @@ -77,18 +68,15 @@ class GasRefillApiClient{ body["details"] = jsonEncode(newModel.details ?.map((model) => { - "type": model.type?.id.toString(), - "size": model.cylinderSize?.id.toString(), - "requsted_qty": model.requestedQuantity.toString(), - "deliverd_qty": model.deliveredQuantity.toString(), - }) + "type": model.type?.id.toString(), + "size": model.cylinderSize?.id.toString(), + "requsted_qty": model.requestedQuantity.toString(), + "deliverd_qty": model.deliveredQuantity.toString(), + }) .toList()); - final reponse = await ApiClient().postJsonForResponse( - "${URLs.host1}${URLs.updateGasRefill}/${newModel.id}", - body); + final reponse = await ApiClient().postJsonForResponse("${URLs.host1}${URLs.updateGasRefill}/${newModel.id}", body); oldModel?.fromGasRefillModel(newModel); - } -} \ No newline at end of file +} diff --git a/lib/controllers/providers/api/device_transfer_provider.dart b/lib/controllers/providers/api/device_transfer_provider.dart index 9a5a6bf..0996d0d 100644 --- a/lib/controllers/providers/api/device_transfer_provider.dart +++ b/lib/controllers/providers/api/device_transfer_provider.dart @@ -1,5 +1,3 @@ - - import 'package:flutter/material.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:test_sa/api/device_transfer_api_client.dart'; @@ -34,7 +32,6 @@ class DeviceTransferProvider extends LoadingNotifier { List items = []; Future getRequests() async { - waitApiRequest(() async { items.clear(); items.addAll(await DeviceTransferApiClient().getRequests(items: items, pageItemNumber: pageItemNumber)); @@ -44,35 +41,28 @@ class DeviceTransferProvider extends LoadingNotifier { } else { nextPage = false; } - }, - onSuccess: (){ - stateCode=200; + }, onSuccess: () { + stateCode = 200; notifyListeners(); }); } - Future createRequest({ - required DeviceTransfer model, - required BuildContext context - }) async { + Future createRequest({required DeviceTransfer model, required BuildContext context}) async { final subtitle = AppLocalization.of(context)?.subtitle; waitApiRequest(() async { items.insert(0, await DeviceTransferApiClient().createRequest(model: model)); notifyListeners(); - }, - onSuccess: (){ + }, onSuccess: () { Fluttertoast.showToast( - msg: subtitle?.requestCompleteSuccessfully??"", + msg: subtitle?.requestCompleteSuccessfully ?? "", ); Navigator.of(context).pop(); - }, - onError: (error){ + }, onError: (error) { String errorMessage = HttpStatusManger.getStatusMessage(status: error.error?.errorCode, subtitle: subtitle); ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text(errorMessage), )); - } - ); + }); } Future updateRequest({ @@ -83,9 +73,8 @@ class DeviceTransferProvider extends LoadingNotifier { required DeviceTransfer? oldModel, required DeviceTransferInfo newModel, }) async { - reset(); - oldModel= await DeviceTransferApiClient().updateRequest(isSender: isSender, requestId: requestId, oldModel: oldModel, newModel: newModel); + oldModel = await DeviceTransferApiClient().updateRequest(isSender: isSender, requestId: requestId, oldModel: oldModel, newModel: newModel); notifyListeners(); } } diff --git a/lib/controllers/providers/api/gas_refill_provider.dart b/lib/controllers/providers/api/gas_refill_provider.dart index ca2e3ff..2a9b207 100644 --- a/lib/controllers/providers/api/gas_refill_provider.dart +++ b/lib/controllers/providers/api/gas_refill_provider.dart @@ -33,7 +33,7 @@ class GasRefillProvider extends LoadingNotifier { bool nextPage = true; // list of user requests - List items=[]; + List items = []; Future getRequests() async { waitApiRequest(() async { @@ -45,48 +45,35 @@ class GasRefillProvider extends LoadingNotifier { } else { nextPage = false; } - }, - onSuccess: (){ - stateCode=200; + }, onSuccess: () { + stateCode = 200; notifyListeners(); - } - ); + }); } - Future createModel({ - required GasRefillModel model, - required BuildContext context - }) async { - + Future createModel({required GasRefillModel model, required BuildContext context}) async { final subtitle = AppLocalization.of(context)?.subtitle; waitApiRequest(() async { items.insert(0, await GasRefillApiClient().createModel(model: model)); notifyListeners(); - }, - onError: (error){ - String errorMessage = HttpStatusManger.getStatusMessage(status: error.error?.errorCode, subtitle: subtitle); - ScaffoldMessenger.of(context).showSnackBar(SnackBar( - content: Text(errorMessage), - )); - }, - onSuccess: (){ - Fluttertoast.showToast( - msg: subtitle?.requestCompleteSuccessfully ?? "", - ); - Navigator.of(context).pop(); - } - ); - + }, onError: (error) { + String errorMessage = HttpStatusManger.getStatusMessage(status: error.error?.errorCode, subtitle: subtitle); + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text(errorMessage), + )); + }, onSuccess: () { + Fluttertoast.showToast( + msg: subtitle?.requestCompleteSuccessfully ?? "", + ); + Navigator.of(context).pop(); + }); } Future updateModel({ required GasRefillModel? oldModel, required GasRefillModel newModel, }) async { - await GasRefillApiClient().updateModel(oldModel: oldModel, newModel: newModel); - - } } diff --git a/lib/views/pages/device_transfer/request_device_transfer.dart b/lib/views/pages/device_transfer/request_device_transfer.dart index f0d9e63..748f003 100644 --- a/lib/views/pages/device_transfer/request_device_transfer.dart +++ b/lib/views/pages/device_transfer/request_device_transfer.dart @@ -165,9 +165,9 @@ class _RequestDeviceTransferState extends State { return; } - await _deviceTransferProvider?.createRequest( - model: _formModel, context: context, + model: _formModel, + context: context, ); }, ), diff --git a/lib/views/pages/user/gas_refill/gas_refill_details.dart b/lib/views/pages/user/gas_refill/gas_refill_details.dart index 16f5fe5..478a378 100644 --- a/lib/views/pages/user/gas_refill/gas_refill_details.dart +++ b/lib/views/pages/user/gas_refill/gas_refill_details.dart @@ -51,7 +51,7 @@ class _GasRefillDetailsState extends State { _isLoading = true; setState(() {}); - int? status = await _gasRefillProvider?.updateModel( newModel: _model, oldModel: widget.model); + int? status = await _gasRefillProvider?.updateModel(newModel: _model, oldModel: widget.model); _isLoading = false; setState(() {}); if (status != null && status >= 200 && status < 300) { diff --git a/lib/views/pages/user/gas_refill/request_gas_refill.dart b/lib/views/pages/user/gas_refill/request_gas_refill.dart index 9488986..a0d2aed 100644 --- a/lib/views/pages/user/gas_refill/request_gas_refill.dart +++ b/lib/views/pages/user/gas_refill/request_gas_refill.dart @@ -46,7 +46,6 @@ class _RequestGasRefillState extends State { if (mounted) super.setState(() {}); } - bool _addNewModel() { _validate = true; if (!(_formKey.currentState?.validate() ?? false)) { @@ -172,7 +171,7 @@ class _RequestGasRefillState extends State { height: 4, ), ATextFormField( - initialValue: (_currentDetails.requestedQuantity??"").toString(), + initialValue: (_currentDetails.requestedQuantity ?? "").toString(), textAlign: TextAlign.center, controller: _requestedQuantityController, style: Theme.of(context).textTheme.subtitle1, @@ -211,11 +210,7 @@ class _RequestGasRefillState extends State { if (!_addNewModel()) return; } - await _gasRefillProvider?.createModel( - model: _formModel, - context: context - ); - + await _gasRefillProvider?.createModel(model: _formModel, context: context); }, ), const SizedBox(