diff --git a/lib/controllers/providers/api/all_requests_provider.dart b/lib/controllers/providers/api/all_requests_provider.dart index f756b9ad..a2e3ec40 100644 --- a/lib/controllers/providers/api/all_requests_provider.dart +++ b/lib/controllers/providers/api/all_requests_provider.dart @@ -143,7 +143,7 @@ class AllRequestsProvider extends ChangeNotifier { } final type = typeTransaction == null ? search?.typeTransaction == null || (search?.typeTransaction?.isEmpty ?? false) - ? [1, 2, 3, 4, 5,6] //added 6 to get task request ... + ? [1, 2, 3, 4, 5, 6] //added 6 to get task request ... : search!.typeTransaction : [typeTransaction]; List status = (search?.statuses == null || (search?.statuses?.isEmpty ?? false)) ? (((search?.isArchived ?? false) ? [3] : [1, 2, 4])) : search!.statuses!; @@ -222,7 +222,7 @@ class AllRequestsProvider extends ChangeNotifier { } } - Future updateRecurrentWo({required int status}) async { + Future updateRecurrentWo({required int status}) async { isLoading = true; Response response; try { @@ -230,12 +230,15 @@ class AllRequestsProvider extends ChangeNotifier { stateCode = response.statusCode; isLoading = false; notifyListeners(); - return response.statusCode; + if (stateCode == 200) { + return true; + } + return false; } catch (error) { isLoading = false; stateCode = -1; notifyListeners(); - return -1; + return false; } } diff --git a/lib/controllers/providers/api/gas_refill_provider.dart b/lib/controllers/providers/api/gas_refill_provider.dart index 8e6a3b5c..40d6327a 100644 --- a/lib/controllers/providers/api/gas_refill_provider.dart +++ b/lib/controllers/providers/api/gas_refill_provider.dart @@ -47,15 +47,12 @@ class GasRefillProvider extends ChangeNotifier { // failed _loading = false bool isLoading = false; - - Future getGasRefillObjectById(num id) async { try { Response response = await ApiManager.instance.get(URLs.getGasRefillById + "?gasRefillId=$id"); if (response.statusCode >= 200 && response.statusCode < 300) { - - return GasRefillModel.fromJson(json.decode(response.body)["data"]); + return GasRefillModel.fromJson(json.decode(response.body)["data"]); } else { return null; } @@ -64,7 +61,6 @@ class GasRefillProvider extends ChangeNotifier { } } - /// return -2 if request in progress /// return -1 if error happen when sending request /// return state code if request complete may be 200, 404 or 403 @@ -139,6 +135,7 @@ class GasRefillProvider extends ChangeNotifier { print(error); } } + Future updateGasRefillRequestByNurse({ required BuildContext context, required GasRefillModel model, @@ -167,7 +164,7 @@ class GasRefillProvider extends ChangeNotifier { } } - Future updateGasRefill({required int status, required GasRefillModel model}) async { + Future updateGasRefill({required int status, required GasRefillModel model}) async { isLoading = true; Response response; try { @@ -175,12 +172,15 @@ class GasRefillProvider extends ChangeNotifier { stateCode = response.statusCode; isLoading = false; notifyListeners(); - return response.statusCode; + if (stateCode == 200) { + return true; + } + return false; } catch (error) { isLoading = false; stateCode = -1; notifyListeners(); - return -1; + return false; } } diff --git a/lib/models/new_models/gas_refill_model.dart b/lib/models/new_models/gas_refill_model.dart index cb308215..e9e873f3 100644 --- a/lib/models/new_models/gas_refill_model.dart +++ b/lib/models/new_models/gas_refill_model.dart @@ -152,7 +152,6 @@ class GasRefillModel { floor = json['floor'] != null ? Floor.fromJson(json['floor']) : null; department = json['department'] != null ? Department.fromJson(json['department']) : null; mapSite = json['site'] != null ? MappedSite.fromJson(json['site']) : null; - print('site i got is ::${mapSite?.toJson()}'); mappedBuilding = mapSite?.buildings?.firstWhere((element) => element.identifier == building?.identifier, orElse: () => MappedBuilding()); mappedFloor = mappedBuilding?.floors?.firstWhere((element) => element.identifier == floor?.identifier, orElse: () => MappedFloor()); mappedDepartment = mappedFloor?.departments?.firstWhere((element) => element.identifier == department?.identifier, orElse: () => MappedDepartment()); diff --git a/lib/modules/cm_module/service_request_detail_provider.dart b/lib/modules/cm_module/service_request_detail_provider.dart index 7820a381..c5860eea 100644 --- a/lib/modules/cm_module/service_request_detail_provider.dart +++ b/lib/modules/cm_module/service_request_detail_provider.dart @@ -611,40 +611,47 @@ class ServiceRequestDetailProvider extends ChangeNotifier { } //engineerUpdateWorkOrder...... - Future engineerUpdateWorkOrder() async { + Future engineerUpdateWorkOrder() async { + isLoading = true; + Response response; try { - isLoading = true; - notifyListeners(); - final response = await ApiManager.instance.post(URLs.engineerUpdateWorkOrderUrl, body: engineerUpdateWorkOrderHelperModel!.toJson()); + response = await ApiManager.instance.post(URLs.engineerUpdateWorkOrderUrl, body: engineerUpdateWorkOrderHelperModel!.toJson()); stateCode = response.statusCode; - if (response.statusCode >= 200 && response.statusCode < 300) { - currentWorkOrder = await WorkOrderDetail.fromJson(json.decode(response.body)); - } isLoading = false; notifyListeners(); - } catch (e) { - log("engineer update workorder [error] : $e"); + if (stateCode == 200) { + currentWorkOrder = await WorkOrderDetail.fromJson(json.decode(response.body)); + notifyListeners(); + return true; + } + return false; + } catch (error) { isLoading = false; + stateCode = -1; notifyListeners(); + return false; } } - //engineerUpdateWorkOrder...... - Future engineerUpdateCost() async { + Future engineerUpdateCost() async { + isLoading = true; + Response response; try { - isLoading = true; - notifyListeners(); - final response = await ApiManager.instance.post(URLs.engineerUpdateCost, body: workOrderCostModel!.toJson()); + response = await ApiManager.instance.post(URLs.engineerUpdateCost, body: workOrderCostModel!.toJson()); stateCode = response.statusCode; - if (response.statusCode >= 200 && response.statusCode < 300) { - currentWorkOrder = await WorkOrderDetail.fromJson(json.decode(response.body)); - } isLoading = false; notifyListeners(); - } catch (e) { - log("engineer update workorder [error] : $e"); + if (stateCode == 200) { + currentWorkOrder = await WorkOrderDetail.fromJson(json.decode(response.body)); + notifyListeners(); + return true; + } + return false; + } catch (error) { isLoading = false; + stateCode = -1; notifyListeners(); + return false; } } @@ -737,42 +744,43 @@ class ServiceRequestDetailProvider extends ChangeNotifier { } } - Future updateActivitySparePart() async { + Future updateActivitySparePart() async { isLoading = true; - notifyListeners(); + Response response; try { - final response = await ApiManager.instance.post(URLs.updateActivitySparePartUrl, body: sparePartHelperModel!.toJson()); + response = await ApiManager.instance.post(URLs.updateActivitySparePartUrl, body: sparePartHelperModel!.toJson()); stateCode = response.statusCode; - if (response.statusCode >= 200 && response.statusCode < 300) { - // request.engineerName = employee.name; - } isLoading = false; notifyListeners(); - return response.statusCode; + if (stateCode == 200) { + return true; + } + return false; } catch (error) { isLoading = false; + stateCode = -1; notifyListeners(); - return -1; + return false; } } - Future updateActivityMaintenance() async { + Future updateActivityMaintenance() async { isLoading = true; - notifyListeners(); + Response response; try { - final response = await ApiManager.instance.put(URLs.updateActivityMaintenanceUrl, body: activityMaintenanceHelperModel!.toJson()); + response = await ApiManager.instance.put(URLs.updateActivityMaintenanceUrl, body: activityMaintenanceHelperModel!.toJson()); stateCode = response.statusCode; - - if (response.statusCode >= 200 && response.statusCode < 300) { - // request.engineerName = employee.name; - } isLoading = false; notifyListeners(); - return response.statusCode; + if (stateCode == 200) { + return true; + } + return false; } catch (error) { isLoading = false; + stateCode = -1; notifyListeners(); - return -1; + return false; } } @@ -867,50 +875,49 @@ class ServiceRequestDetailProvider extends ChangeNotifier { } } - Future createActivitySparePart() async { + Future createActivitySparePart() async { isLoading = true; - notifyListeners(); + Response response; try { - final response = await ApiManager.instance.post( + response = await ApiManager.instance.post( URLs.createActivitySparePartUrl, body: sparePartHelperModel!.toJson(), ); stateCode = response.statusCode; - if (response.statusCode >= 200 && response.statusCode < 300) { - // currentWorkOrder = await WorkOrderDetail.fromJson(json.decode(response.body)); - // // updateCurrentWorkOrder(currentWorkOrder); - // notifyListeners(); - } isLoading = false; notifyListeners(); - return response.statusCode; + if (stateCode == 200) { + return true; + } + return false; } catch (error) { isLoading = false; + stateCode = -1; notifyListeners(); - return -1; + return false; } } - Future createActivityMaintenanceRequest() async { + Future createActivityMaintenanceRequest() async { isLoading = true; - notifyListeners(); + Response response; try { - final response = await ApiManager.instance.post( + response = await ApiManager.instance.post( URLs.createActivityMaintenanceUrl, body: activityMaintenanceHelperModel!.toJson(), ); stateCode = response.statusCode; - if (response.statusCode >= 200 && response.statusCode < 300) { - // currentWorkOrder = await WorkOrderDetail.fromJson(json.decode(response.body)); - // updateCurrentWorkOrder(currentWorkOrder); - } isLoading = false; notifyListeners(); - return response.statusCode; + if (stateCode == 200) { + return true; + } + return false; } catch (error) { isLoading = false; + stateCode = -1; notifyListeners(); - return -1; + return false; } } diff --git a/lib/modules/cm_module/views/components/action_button/footer_action_button.dart b/lib/modules/cm_module/views/components/action_button/footer_action_button.dart index 4853cf43..f5348fde 100644 --- a/lib/modules/cm_module/views/components/action_button/footer_action_button.dart +++ b/lib/modules/cm_module/views/components/action_button/footer_action_button.dart @@ -132,7 +132,7 @@ class FooterActionButton { maxWidth: true, buttonColor: AppColor.green70, onPressed: () async { - requestDetailProvider.engineerAcceptWorkOrder(id: requestDetailProvider.currentWorkOrder!.data!.requestId.toString()).whenComplete(() {}); + requestDetailProvider.engineerAcceptWorkOrder(id: requestDetailProvider.currentWorkOrder!.data!.requestId.toString()); }, ).expanded, ], diff --git a/lib/modules/cm_module/views/components/service_request_detail_view.dart b/lib/modules/cm_module/views/components/service_request_detail_view.dart index 4412fa0b..52ceea18 100644 --- a/lib/modules/cm_module/views/components/service_request_detail_view.dart +++ b/lib/modules/cm_module/views/components/service_request_detail_view.dart @@ -354,8 +354,10 @@ class _ServiceRequestDetailViewState extends State { ], ] else ...[ 8.height, - const Divider().defaultStyle(context), - FilesList(images: _attachments.map((toElement) => URLs.getFileUrl(toElement.name!)!).toList()), + if (_attachments.isNotEmpty) ...[ + const Divider().defaultStyle(context), + FilesList(images: _attachments.map((toElement) => URLs.getFileUrl(toElement.name!)!).toList()), + ], //handle nurse case.. ], diff --git a/lib/modules/cm_module/views/forms/asset_retired/verify_asset_detail.dart b/lib/modules/cm_module/views/forms/asset_retired/verify_asset_detail.dart index 771e3f88..142c2f19 100644 --- a/lib/modules/cm_module/views/forms/asset_retired/verify_asset_detail.dart +++ b/lib/modules/cm_module/views/forms/asset_retired/verify_asset_detail.dart @@ -337,9 +337,13 @@ class _VerifyAssetDetailsState extends State with TickerProv onPressed: () async { if (validateForm(requestDetailProvider: requestDetailProvider)) { showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); - await requestDetailProvider.engineerUpdateWorkOrder(); - Navigator.pop(context); - Navigator.pop(context); + await requestDetailProvider.engineerUpdateWorkOrder().then((success){ + Navigator.pop(context); + if(success){ + Navigator.pop(context); + } + }); + } }, ), diff --git a/lib/modules/cm_module/views/forms/cost/cost_detail_form_screen.dart b/lib/modules/cm_module/views/forms/cost/cost_detail_form_screen.dart index 7e7096b9..c8f99451 100644 --- a/lib/modules/cm_module/views/forms/cost/cost_detail_form_screen.dart +++ b/lib/modules/cm_module/views/forms/cost/cost_detail_form_screen.dart @@ -89,7 +89,7 @@ class _CostDetailFormScreenState extends State with Ticker initialValue: requestDetailProvider.workOrderCostModel?.labourCost?.toString(), textAlign: TextAlign.center, labelStyle: AppTextStyles.textFieldLabelStyle, - textInputType:const TextInputType.numberWithOptions(decimal: true), + textInputType: const TextInputType.numberWithOptions(decimal: true), showShadow: false, onChange: (value) { requestDetailProvider.workOrderCostModel?.labourCost = num.parse(value); @@ -131,7 +131,7 @@ class _CostDetailFormScreenState extends State with Ticker initialValue: requestDetailProvider.workOrderCostModel?.prNo, textAlign: TextAlign.center, labelStyle: AppTextStyles.textFieldLabelStyle, - textInputType:const TextInputType.numberWithOptions(decimal: true), + textInputType: const TextInputType.numberWithOptions(decimal: true), showShadow: false, onChange: (value) { requestDetailProvider.workOrderCostModel?.prNo = value; @@ -145,7 +145,7 @@ class _CostDetailFormScreenState extends State with Ticker initialValue: requestDetailProvider.workOrderCostModel?.poNo, textAlign: TextAlign.center, labelStyle: AppTextStyles.textFieldLabelStyle, - textInputType:const TextInputType.numberWithOptions(decimal: true), + textInputType: const TextInputType.numberWithOptions(decimal: true), showShadow: false, onChange: (value) { requestDetailProvider.workOrderCostModel?.poNo = value; @@ -164,9 +164,12 @@ class _CostDetailFormScreenState extends State with Ticker onPressed: () async { if (validateForm(requestDetailProvider: requestDetailProvider)) { showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); - await requestDetailProvider.engineerUpdateCost(); - Navigator.pop(context); - Navigator.pop(context); + await requestDetailProvider.engineerUpdateCost().then((success) { + Navigator.pop(context); + if (success) { + Navigator.pop(context); + } + }); } }, ), diff --git a/lib/modules/cm_module/views/forms/maintenance_request/maintenance_request_main.dart b/lib/modules/cm_module/views/forms/maintenance_request/maintenance_request_main.dart index 0dc286d8..2ed7697e 100644 --- a/lib/modules/cm_module/views/forms/maintenance_request/maintenance_request_main.dart +++ b/lib/modules/cm_module/views/forms/maintenance_request/maintenance_request_main.dart @@ -148,18 +148,22 @@ class _MaintenanceRequestFormState extends State with Si ); }); showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); - int status = -1; if (requestDetailProvider.activityMaintenanceHelperModel?.id == 0) { - status = await requestDetailProvider.createActivityMaintenanceRequest(); + await requestDetailProvider.createActivityMaintenanceRequest().then((success) { + Navigator.pop(context); + if (success) { + requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!); + Navigator.pop(context); + } + }); } else { - status = await requestDetailProvider.updateActivityMaintenance(); - } - if (status == 200) { - requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!); - Navigator.pop(context); - Navigator.pop(context); - } else { - Navigator.pop(context); + await requestDetailProvider.updateActivityMaintenance().then((success) { + Navigator.pop(context); + if (success) { + requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!); + Navigator.pop(context); + } + }); } } } diff --git a/lib/modules/cm_module/views/forms/spare_part/spare_part_request.dart b/lib/modules/cm_module/views/forms/spare_part/spare_part_request.dart index 360a0033..5e3060a4 100644 --- a/lib/modules/cm_module/views/forms/spare_part/spare_part_request.dart +++ b/lib/modules/cm_module/views/forms/spare_part/spare_part_request.dart @@ -309,33 +309,8 @@ class _SparePartRequestState extends State with TickerProvider child: AppFilledButton( label: _requestDetailProvider?.sparePartHelperModel?.id == 0 ? context.translation.addSparePartActivity : context.translation.updateSparePartActivity, buttonColor: AppColor.green70, - onPressed: () async { - requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.clear(); - for (var pickerObject in _files) { - String fileData = - _isLocalUrl(pickerObject.file.path) ? ("${pickerObject.file.path.split("/").last}|${base64Encode(File(pickerObject.file.path).readAsBytesSync())}") : pickerObject.file.path; - requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.add(SparePartAttachments(id: pickerObject.id, name: fileData)); - } - showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading()); - int status = -1; - if (_requestDetailProvider?.sparePartHelperModel?.id == 0) { - status = await requestDetailProvider.createActivitySparePart(); - } else { - status = await requestDetailProvider.updateActivitySparePart(); - } - if (status == 200) { - await requestDetailProvider.getWorkOrderById(id: requestDetailProvider.currentWorkOrder!.data!.requestId!); - //this is for hide the dialoge... - Navigator.pop(context); - Navigator.pop(context); - //show this only for add form.. - if (_requestDetailProvider?.sparePartHelperModel?.id == 0) { - ServiceRequestBottomSheet.addAnotherSpareRequestBottomSheet(context: context); - SizedBox().flushBar(context: context, title: context.translation.sparePartActivitySuccess, message: ''); - } - } else { - Navigator.pop(context); - } + onPressed: () { + _onSubmit(requestDetailProvider: requestDetailProvider); }, )), ], @@ -344,6 +319,45 @@ class _SparePartRequestState extends State with TickerProvider }), ); } + + _onSubmit({required ServiceRequestDetailProvider requestDetailProvider}) async { + requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.clear(); + + for (var pickerObject in _files) { + String fileData = _isLocalUrl(pickerObject.file.path) ? "${pickerObject.file.path.split("/").last}|${base64Encode(File(pickerObject.file.path).readAsBytesSync())}" : pickerObject.file.path; + requestDetailProvider.sparePartHelperModel?.sparePartAttachments?.add( + SparePartAttachments(id: pickerObject.id, name: fileData), + ); + } + + // Show loading dialog + showDialog( + context: context, + barrierDismissible: false, + builder: (context) => const AppLazyLoading(), + ); + bool success = false; + if (_requestDetailProvider?.sparePartHelperModel?.id == 0) { + success = await requestDetailProvider.createActivitySparePart(); + } else { + success = await requestDetailProvider.updateActivitySparePart(); + } + if (mounted) Navigator.pop(context); + if (success) { + requestDetailProvider.getWorkOrderById( + id: requestDetailProvider.currentWorkOrder!.data!.requestId!, + ); + if (mounted) Navigator.pop(context); + if (_requestDetailProvider?.sparePartHelperModel?.id == 0) { + ServiceRequestBottomSheet.addAnotherSpareRequestBottomSheet(context: context); + const SizedBox().flushBar( + context: context, + title: context.translation.sparePartActivitySuccess, + message: '', + ); + } + } + } } class PartDetailBottomSheetSheet extends StatelessWidget { diff --git a/lib/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart b/lib/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart index fc9531f4..66381ccd 100644 --- a/lib/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart +++ b/lib/modules/pm_module/recurrent_wo/recurrent_work_order_view.dart @@ -144,15 +144,17 @@ void _updateTask({required BuildContext context, required int status}) async { .updateRecurrentWo( status: status, ) - .whenComplete(() { - if (status == 1) { - // when click complete then this request remove from the list and status changes to closed.. - allRequestsProvider.reset(); - allRequestsProvider.getAllRequests(context, typeTransaction: 5); - } - allRequestsProvider.recurrentWoData?.recurrentWoTimerModel = null; - Navigator.pop(context); + .then((success) { Navigator.pop(context); + if (success) { + if (status == 1) { + // when click complete then this request remove from the list and status changes to closed.. + allRequestsProvider.reset(); + allRequestsProvider.getAllRequests(context, typeTransaction: 5); + } + allRequestsProvider.recurrentWoData?.recurrentWoTimerModel = null; + Navigator.pop(context); + } }); } } diff --git a/lib/modules/tm_module/tasks_wo/update_task_request_view.dart b/lib/modules/tm_module/tasks_wo/update_task_request_view.dart index 6bff192a..4bae9bd5 100644 --- a/lib/modules/tm_module/tasks_wo/update_task_request_view.dart +++ b/lib/modules/tm_module/tasks_wo/update_task_request_view.dart @@ -218,6 +218,23 @@ class _UpdateTaskRequestState extends State { ); }); +// TODO need to test this when task is enabled ... + // await taskRequestProvider.updateTaskByEngineer().then((success) { + // Navigator.pop(context); + // if (success) { + // if (status == 1) { + // AllRequestsProvider allRequestsProvider = Provider.of(context, listen: false); + // allRequestsProvider.reset(); + // allRequestsProvider.getAllRequests(context, typeTransaction: 6); + // } else { + // taskRequestProvider.getTaskById(id: widget.taskId, showLoading: false); + // + // } + // Navigator.pop(context); + // Navigator.pop(context); + // } + // }); + await taskRequestProvider.updateTaskByEngineer().whenComplete(() async { if (taskRequestProvider.stateCode == 200) { if (status == 1) { diff --git a/lib/providers/task_request_provider/task_request_provider.dart b/lib/providers/task_request_provider/task_request_provider.dart index 5ad0e2f6..590c1bc5 100644 --- a/lib/providers/task_request_provider/task_request_provider.dart +++ b/lib/providers/task_request_provider/task_request_provider.dart @@ -116,15 +116,23 @@ class TaskRequestProvider extends ChangeNotifier { } } - Future updateTaskByEngineer() async { - notifyListeners(); + Future updateTaskByEngineer() async { + isLoading = true; + Response response; try { - final response = await ApiManager.instance.post(URLs.updateTaskByEngineerUrl, body: taskRequestModel!.toEngineerUpdateJson()); + response = await ApiManager.instance.post(URLs.updateTaskByEngineerUrl, body: taskRequestModel!.toEngineerUpdateJson()); stateCode = response.statusCode; + isLoading = false; notifyListeners(); - return response.statusCode; + if (stateCode == 200) { + return true; + } + return false; } catch (error) { - return -1; + isLoading = false; + stateCode = -1; + notifyListeners(); + return false; } } diff --git a/lib/views/pages/user/gas_refill/update_gas_refill_request.dart b/lib/views/pages/user/gas_refill/update_gas_refill_request.dart index b92133b6..5931c58e 100644 --- a/lib/views/pages/user/gas_refill/update_gas_refill_request.dart +++ b/lib/views/pages/user/gas_refill/update_gas_refill_request.dart @@ -156,15 +156,18 @@ class _UpdateGasRefillRequestState extends State { _formModel.gasRefillAttachments?.add(GasRefillAttachments( id: 0, gasRefillId: _formModel.id ?? 0, attachmentName: ServiceRequestUtils.isLocalUrl(item.path) ? "${item.path.split("/").last}|${base64Encode(item.readAsBytesSync())}" : item.path)); } - await _gasRefillProvider?.updateGasRefill(status: status, model: _formModel).whenComplete(() { - if (status == 1) { - AllRequestsProvider allRequestsProvider = Provider.of(context, listen: false); - // when click complete then this request remove from the list and status changes to closed.. - _gasRefillProvider?.reset(); - allRequestsProvider.getAllRequests(context, typeTransaction: 2); - } - Navigator.pop(context); + + await _gasRefillProvider?.updateGasRefill(status: status, model: _formModel).then((success) { Navigator.pop(context); + if (success) { + if (status == 1) { + AllRequestsProvider allRequestsProvider = Provider.of(context, listen: false); + // when click complete then this request remove from the list and status changes to closed.. + _gasRefillProvider?.reset(); + allRequestsProvider.getAllRequests(context, typeTransaction: 2); + } + Navigator.pop(context); + } }); }