device predication implemented

main_production_copilot
WaseemAbbasi22 3 weeks ago
parent 2121cd7d9d
commit 2200c07b75

@ -415,7 +415,7 @@ class ApiManager {
return response; return response;
} }
Future<http.Response> multiPart(String url, {Map<String, String>? headers, required Map<String, String> body, required List<Future<MultipartFile>> files}) async { Future<http.Response> multiPart(String url, {Map<String, String>? headers, required Map<String, String> body, bool showToast=true, required List<Future<MultipartFile>> files}) async {
Map<String, String> headers0 = _headers; Map<String, String> headers0 = _headers;
headers0["Content-Type"] = 'multipart/form-data'; headers0["Content-Type"] = 'multipart/form-data';
@ -449,7 +449,7 @@ class ApiManager {
final responseBody = jsonDecode(response.body); final responseBody = jsonDecode(response.body);
if (responseBody is Map<String, dynamic>) { if (responseBody is Map<String, dynamic>) {
final message = responseBody["message"]; // Reuse parsed body final message = responseBody["message"]; // Reuse parsed body
if (message != null && message.toString().isNotEmpty) { if (message != null && message.toString().isNotEmpty&&showToast) {
Fluttertoast.showToast(msg: message, toastLength: Toast.LENGTH_LONG); Fluttertoast.showToast(msg: message, toastLength: Toast.LENGTH_LONG);
} }
} }

@ -272,7 +272,9 @@ class AssetProvider extends ChangeNotifier {
final response = await ApiManager.instance.multiPart( final response = await ApiManager.instance.multiPart(
URLs.predictDevice, URLs.predictDevice,
body: {}, body: {},
showToast: false,
files: files, files: files,
); );
if (response.statusCode >= 200 && response.statusCode < 300) { if (response.statusCode >= 200 && response.statusCode < 300) {

@ -55,7 +55,7 @@ class MedicalGasFormModel {
'siteId': site?.id, 'siteId': site?.id,
'supplierId': supplier?.id, 'supplierId': supplier?.id,
'isSubmitted': isSubmitted, 'isSubmitted': isSubmitted,
'gasRequestDetailDtos': gasRequestDetail?.map((e) => e.toJson()).toList(), 'gasRequestDetailDtos':gasRequestDetail != null? gasRequestDetail?.map((e) => e.toJson()).toList():[],
}; };
} }
} }

@ -2,6 +2,7 @@ import 'dart:developer';
import 'dart:io'; import 'dart:io';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:image_picker/image_picker.dart'; import 'package:image_picker/image_picker.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -696,6 +697,7 @@ class _MyAssetsPageState extends State<MyAssetsPage> with SingleTickerProviderSt
if (predictedAssetList.isNotEmpty) { if (predictedAssetList.isNotEmpty) {
Navigator.push(context, MaterialPageRoute(builder: (context) => PredictDeviceView(predictedAsset: predictedAssetList))); Navigator.push(context, MaterialPageRoute(builder: (context) => PredictDeviceView(predictedAsset: predictedAssetList)));
} else { } else {
Fluttertoast.showToast(msg: 'No Predicted asset found', toastLength: Toast.LENGTH_LONG);
debugPrint('No Predicted asset found in the response.'); debugPrint('No Predicted asset found in the response.');
} }
} }

@ -108,8 +108,8 @@ class _PredictDeviceViewState extends State<PredictDeviceView> with SingleTicker
child: PredictDeviceItemView( child: PredictDeviceItemView(
device: widget.predictedAsset[itemIndex], device: widget.predictedAsset[itemIndex],
onPressed: (device) { onPressed: (device) {
//We are not getting asset id in response only have serial number int? assetId = int.tryParse(device.assetId??'');
// Navigator.of(context).pushNamed(AssetDetailPage.id, arguments: device.assetId); Navigator.of(context).pushNamed(AssetDetailPage.id, arguments:assetId );
}, },
), ),
), ),
@ -161,7 +161,8 @@ class _PredictDeviceViewState extends State<PredictDeviceView> with SingleTicker
device: widget.predictedAsset[index], device: widget.predictedAsset[index],
onPressed: (device) { onPressed: (device) {
//We are not getting asset id in response only have serial number //We are not getting asset id in response only have serial number
// Navigator.of(context).pushNamed(AssetDetailPage.id, arguments: device.assetId); int? assetId = int.tryParse(device.assetId??'');
Navigator.of(context).pushNamed(AssetDetailPage.id, arguments:assetId );
}, },
), ),
), ),

Loading…
Cancel
Save