|
|
|
@ -65,6 +65,15 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool _isArrivalLoading = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool get isArrivalLoading => _isArrivalLoading;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set isArrivalLoading(bool value) {
|
|
|
|
|
|
|
|
_isArrivalLoading = value;
|
|
|
|
|
|
|
|
notifyListeners();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//UI models
|
|
|
|
//UI models
|
|
|
|
WorkOrderDetail? currentWorkOrder;
|
|
|
|
WorkOrderDetail? currentWorkOrder;
|
|
|
|
AssetRetiredHelperModel? assetRetiredHelperModel = AssetRetiredHelperModel();
|
|
|
|
AssetRetiredHelperModel? assetRetiredHelperModel = AssetRetiredHelperModel();
|
|
|
|
@ -76,6 +85,7 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
EngineerRejectHelperModel? engineerRejectHelperModel = EngineerRejectHelperModel();
|
|
|
|
EngineerRejectHelperModel? engineerRejectHelperModel = EngineerRejectHelperModel();
|
|
|
|
EngineerUpdateWorkOrderHelperModel? engineerUpdateWorkOrderHelperModel = EngineerUpdateWorkOrderHelperModel();
|
|
|
|
EngineerUpdateWorkOrderHelperModel? engineerUpdateWorkOrderHelperModel = EngineerUpdateWorkOrderHelperModel();
|
|
|
|
WorkOrderHelperModel? workOrderHelperModel;
|
|
|
|
WorkOrderHelperModel? workOrderHelperModel;
|
|
|
|
|
|
|
|
List<ArrivalTypeData> arrivalTypeList = [];
|
|
|
|
|
|
|
|
|
|
|
|
void updateAssetRetiredHelperModel(AssetRetiredHelperModel? value) {
|
|
|
|
void updateAssetRetiredHelperModel(AssetRetiredHelperModel? value) {
|
|
|
|
assetRetiredHelperModel = value;
|
|
|
|
assetRetiredHelperModel = value;
|
|
|
|
@ -193,6 +203,29 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//getQrCode......
|
|
|
|
|
|
|
|
Future<String?> getQrCode({required int workOrderId}) async {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
notifyListeners();
|
|
|
|
|
|
|
|
final response = await ApiManager.instance.get(URLs.getQrCodeUrl + "/$workOrderId");
|
|
|
|
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
|
|
|
|
String base64String = response.body.split(',').last;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return base64String;
|
|
|
|
|
|
|
|
return response.body;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
isLoading = false;
|
|
|
|
|
|
|
|
notifyListeners();
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
log("getQrCode [error] : $e");
|
|
|
|
|
|
|
|
isLoading = false;
|
|
|
|
|
|
|
|
notifyListeners();
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//engineerAcceptWorkOrder......
|
|
|
|
//engineerAcceptWorkOrder......
|
|
|
|
Future<int> engineerAcceptWorkOrder({required String id}) async {
|
|
|
|
Future<int> engineerAcceptWorkOrder({required String id}) async {
|
|
|
|
Response response;
|
|
|
|
Response response;
|
|
|
|
@ -214,7 +247,30 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
return -1;
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} //engineerAcceptWorkOrder......
|
|
|
|
} //engineerAcceptWorkOrder......
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Future<int> engineerAssignWorkOrderToHimself({required String id}) async {
|
|
|
|
|
|
|
|
Response response;
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
final body = {"workOrderId": id};
|
|
|
|
|
|
|
|
isLoading = true;
|
|
|
|
|
|
|
|
notifyListeners();
|
|
|
|
|
|
|
|
response = await ApiManager.instance.post(URLs.engineerAssignHimSelfUrl, body: body);
|
|
|
|
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
|
|
|
|
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
isLoading = false;
|
|
|
|
|
|
|
|
notifyListeners();
|
|
|
|
|
|
|
|
return response.statusCode;
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
log("engineer accept [error] : $e");
|
|
|
|
|
|
|
|
isLoading = false;
|
|
|
|
|
|
|
|
notifyListeners();
|
|
|
|
|
|
|
|
return -1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} //engineerAssignedHimself......
|
|
|
|
|
|
|
|
|
|
|
|
Future<int> engineerStopTimer() async {
|
|
|
|
Future<int> engineerStopTimer() async {
|
|
|
|
Response response;
|
|
|
|
Response response;
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
@ -222,11 +278,8 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
isLoading = true;
|
|
|
|
isLoading = true;
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
response = await ApiManager.instance.post(URLs.engineerStopTimer, body: body);
|
|
|
|
response = await ApiManager.instance.post(URLs.engineerStopTimer, body: body);
|
|
|
|
print('response of stop timer is ${response.body}');
|
|
|
|
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
isLoading = false;
|
|
|
|
isLoading = false;
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
return response.statusCode;
|
|
|
|
return response.statusCode;
|
|
|
|
@ -312,8 +365,6 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
response = await ApiManager.instance.post(URLs.engineerUpdateNeedVisitUrl, body: needVisitHelperModel!.toJson());
|
|
|
|
response = await ApiManager.instance.post(URLs.engineerUpdateNeedVisitUrl, body: needVisitHelperModel!.toJson());
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
print('body i got is ${needVisitHelperModel?.toJson()}');
|
|
|
|
|
|
|
|
print('response i got is ${response.body}');
|
|
|
|
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
|
|
|
|
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -335,10 +386,8 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
isLoading = true;
|
|
|
|
isLoading = true;
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
Map<String, dynamic> body = {'workOrderId': workOrderId, 'feedback': feedback};
|
|
|
|
Map<String, dynamic> body = {'workOrderId': workOrderId, 'feedback': feedback};
|
|
|
|
|
|
|
|
|
|
|
|
response = await ApiManager.instance.post(URLs.engineerMarkAsFixUrl, body: body);
|
|
|
|
response = await ApiManager.instance.post(URLs.engineerMarkAsFixUrl, body: body);
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
print('engineer mark as fixed response is ${response.body}');
|
|
|
|
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
|
|
|
|
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -376,17 +425,23 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//engineer Confirm Arrive......
|
|
|
|
//engineer Confirm Arrive......
|
|
|
|
Future<int> engineerConfirmArrival({required int workOrderId, required int verificationTypeId, required String photoInfo, required String otp, String? assetNo}) async {
|
|
|
|
Future<int> engineerConfirmArrival({required int workOrderId, required int verificationTypeId, String ?photoInfo, String ?otp, String? assetNo, String? workOrderCreatedById}) async {
|
|
|
|
Response response;
|
|
|
|
Response response;
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
Map<String, dynamic> body = {"workOrderId": workOrderId, "verificationTypeId": verificationTypeId, "photoInfo": photoInfo, "otp": otp, "assetNumber": assetNo};
|
|
|
|
//"workOrderCreatedById": "string"
|
|
|
|
|
|
|
|
Map<String, dynamic> body = {
|
|
|
|
|
|
|
|
"workOrderId": workOrderId,
|
|
|
|
|
|
|
|
"verificationTypeId": verificationTypeId,
|
|
|
|
|
|
|
|
"photoInfo": photoInfo,
|
|
|
|
|
|
|
|
"otp": otp,
|
|
|
|
|
|
|
|
"assetNumber": assetNo,
|
|
|
|
|
|
|
|
"workOrderCreatedById": workOrderCreatedById
|
|
|
|
|
|
|
|
};
|
|
|
|
isLoading = true;
|
|
|
|
isLoading = true;
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
response = await ApiManager.instance.post(URLs.engineerConfirmArriveUrl, body: body);
|
|
|
|
response = await ApiManager.instance.post(URLs.engineerConfirmArriveUrl, body: body);
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {}
|
|
|
|
// print('response of Engineer confirm arrival ${response.body}');
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
isLoading = false;
|
|
|
|
isLoading = false;
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
return response.statusCode;
|
|
|
|
return response.statusCode;
|
|
|
|
@ -440,8 +495,6 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Nurse confirm reopen
|
|
|
|
//Nurse confirm reopen
|
|
|
|
Future<CommonResponseModel> nurseReject() async {
|
|
|
|
Future<CommonResponseModel> nurseReject() async {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
@ -452,7 +505,6 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
CommonResponseModel commonResponseModel = CommonResponseModel();
|
|
|
|
CommonResponseModel commonResponseModel = CommonResponseModel();
|
|
|
|
|
|
|
|
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
|
|
|
|
|
|
|
|
commonResponseModel = CommonResponseModel.fromJson(json.decode(response.body));
|
|
|
|
commonResponseModel = CommonResponseModel.fromJson(json.decode(response.body));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
isLoading = false;
|
|
|
|
isLoading = false;
|
|
|
|
@ -466,6 +518,30 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Nurse confirm arrival
|
|
|
|
|
|
|
|
Future<int?> nurseConfirmArrival({required int workOrderId}) async {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
Map<String,dynamic> body = {
|
|
|
|
|
|
|
|
"workOrderId": workOrderId
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
isLoading = true;
|
|
|
|
|
|
|
|
notifyListeners();
|
|
|
|
|
|
|
|
final response = await ApiManager.instance.post(URLs.nurseAcceptUrl, body: body);
|
|
|
|
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
|
|
|
|
currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
isLoading = false;
|
|
|
|
|
|
|
|
notifyListeners();
|
|
|
|
|
|
|
|
return stateCode;
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
log("nurse reject [error] : $e");
|
|
|
|
|
|
|
|
isLoading = false;
|
|
|
|
|
|
|
|
notifyListeners();
|
|
|
|
|
|
|
|
return -1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//Nurse confirm close
|
|
|
|
//Nurse confirm close
|
|
|
|
Future<CommonResponseModel> nurseConfirm() async {
|
|
|
|
Future<CommonResponseModel> nurseConfirm() async {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
@ -495,7 +571,6 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
final response = await ApiManager.instance.post(URLs.updateActivitySparePartUrl, body: sparePartHelperModel!.toJson());
|
|
|
|
final response = await ApiManager.instance.post(URLs.updateActivitySparePartUrl, body: sparePartHelperModel!.toJson());
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
print('update response i got is ${response.body}');
|
|
|
|
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
// request.engineerName = employee.name;
|
|
|
|
// request.engineerName = employee.name;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -533,7 +608,6 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
Response response = await ApiManager.instance.get("${URLs.getSuppliersAutoComplete}?searchText=$supplierName");
|
|
|
|
Response response = await ApiManager.instance.get("${URLs.getSuppliersAutoComplete}?searchText=$supplierName");
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
print('response i got is ${json.decode(response.body)["data"]}');
|
|
|
|
|
|
|
|
List<SuppPersons> persons = [];
|
|
|
|
List<SuppPersons> persons = [];
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
List categoriesListJson = json.decode(response.body)["data"][0]['suppPersons'];
|
|
|
|
List categoriesListJson = json.decode(response.body)["data"][0]['suppPersons'];
|
|
|
|
@ -555,7 +629,6 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
final response = await ApiManager.instance.post(URLs.deleteActivitySparePartUrl, body: body);
|
|
|
|
final response = await ApiManager.instance.post(URLs.deleteActivitySparePartUrl, body: body);
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
print('response of delete activity spare part is ${response.statusCode}');
|
|
|
|
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
//map to the model...
|
|
|
|
//map to the model...
|
|
|
|
|
|
|
|
|
|
|
|
@ -604,7 +677,6 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
body: sparePartHelperModel!.toJson(),
|
|
|
|
body: sparePartHelperModel!.toJson(),
|
|
|
|
);
|
|
|
|
);
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
print('add sparepart activity response i got is ${response.body}');
|
|
|
|
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
// currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
|
|
|
|
// currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
|
|
|
|
// // updateCurrentWorkOrder(currentWorkOrder);
|
|
|
|
// // updateCurrentWorkOrder(currentWorkOrder);
|
|
|
|
@ -629,7 +701,6 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
body: activityMaintenanceHelperModel!.toJson(),
|
|
|
|
body: activityMaintenanceHelperModel!.toJson(),
|
|
|
|
);
|
|
|
|
);
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
print('add maintenance activity response i got is ${response.body}');
|
|
|
|
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
// currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
|
|
|
|
// currentWorkOrder = WorkOrderDetail.fromJson(json.decode(response.body));
|
|
|
|
// updateCurrentWorkOrder(currentWorkOrder);
|
|
|
|
// updateCurrentWorkOrder(currentWorkOrder);
|
|
|
|
@ -668,24 +739,24 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//get Arrival type......
|
|
|
|
//get Arrival type......
|
|
|
|
Future<ArrivalVerificationTypeModel> getArrivalVerificationType() async {
|
|
|
|
Future<int> getArrivalVerificationType() async {
|
|
|
|
ArrivalVerificationTypeModel arrivalVerificationTypeModel = ArrivalVerificationTypeModel();
|
|
|
|
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
isLoading = true;
|
|
|
|
isArrivalLoading = true;
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
final response = await ApiManager.instance.get(URLs.getArrivalVerificationTypeUrl);
|
|
|
|
final response = await ApiManager.instance.get(URLs.getArrivalVerificationTypeUrl);
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
|
|
arrivalVerificationTypeModel = ArrivalVerificationTypeModel.fromJson(json.decode(response.body));
|
|
|
|
ArrivalVerificationTypeModel arrivalVerificationTypeModel = ArrivalVerificationTypeModel.fromJson(json.decode(response.body));
|
|
|
|
|
|
|
|
arrivalTypeList = arrivalVerificationTypeModel.data ?? [];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
isLoading = false;
|
|
|
|
isArrivalLoading = false;
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
return arrivalVerificationTypeModel;
|
|
|
|
return response.statusCode;
|
|
|
|
} catch (e) {
|
|
|
|
} catch (e) {
|
|
|
|
log("getArrivalVerifaction [error] : $e");
|
|
|
|
log("getArrivalVerifaction [error] : $e");
|
|
|
|
isLoading = false;
|
|
|
|
isArrivalLoading = false;
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
return arrivalVerificationTypeModel;
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -697,10 +768,7 @@ class RequestDetailProvider extends ChangeNotifier {
|
|
|
|
final response = await ApiManager.instance.postWithOutBody(
|
|
|
|
final response = await ApiManager.instance.postWithOutBody(
|
|
|
|
URLs.sendOtpUrl + "$workOrderId",
|
|
|
|
URLs.sendOtpUrl + "$workOrderId",
|
|
|
|
);
|
|
|
|
);
|
|
|
|
print('url for send otp is ${URLs.sendOtpUrl + "$workOrderId"}');
|
|
|
|
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
stateCode = response.statusCode;
|
|
|
|
print('response i got is ${response.body}');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {}
|
|
|
|
if (response.statusCode >= 200 && response.statusCode < 300) {}
|
|
|
|
isLoading = false;
|
|
|
|
isLoading = false;
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
|