import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:sefer_driver/constant/box_name.dart'; import 'package:sefer_driver/constant/links.dart'; import 'package:sefer_driver/controller/functions/crud.dart'; import 'package:sefer_driver/main.dart'; import '../../views/widgets/error_snakbar.dart'; class CaptainProfileController extends GetxController { bool isLoading = false; TextEditingController vin = TextEditingController(); TextEditingController color = TextEditingController(); TextEditingController make = TextEditingController(); TextEditingController model = TextEditingController(); TextEditingController year = TextEditingController(); TextEditingController expirationDate = TextEditingController(); final TextEditingController emailController = TextEditingController(); updateEmail() async { var payload = { 'id': box.read(BoxName.driverID).toString(), 'email': emailController.text, }; var res = await CRUD().post(link: AppLink.updateDriverEmail, payload: payload); if ((res)['status'] == 'success') { box.write(BoxName.email, emailController.text); update(); Get.back(); } else { mySnackeBarError((res)['message']); } } Future updateFields() async { var payload = { 'driverID': box.read(BoxName.driverID).toString(), }; if (vin.text.isNotEmpty) { payload['vin'] = vin.text; } if (color.text.isNotEmpty) { payload['color'] = color.text; } if (model.text.isNotEmpty) { payload['model'] = model.text; } if (make.text.isNotEmpty) { payload['make'] = make.text; } if (year.text.isNotEmpty) { payload['year'] = year.text; } if (expirationDate.text.isNotEmpty) { payload['expiration_date'] = expirationDate.text; } var res = await CRUD().post(link: AppLink.updateRegisrationCar, payload: payload); if (jsonDecode(res)['status'] == 'success') { box.write(BoxName.vin, vin.text); box.write(BoxName.color, color.text); box.write(BoxName.model, model.text); box.write(BoxName.make, make.text); box.write(BoxName.year, year.text); box.write(BoxName.expirationDate, expirationDate.text); update(); Get.back(); } } Map captainProfileData = {}; Future getProfileData() async { isLoading = true; update(); var res = await CRUD().get( link: AppLink.getCaptainProfile, payload: {'id': box.read(BoxName.driverID)}); if (res != 'failure') { var d = jsonDecode(res); captainProfileData = d['message']; update(); box.write(BoxName.sexDriver, d['message']['gender']); box.write(BoxName.dobDriver, d['message']['birthdate']); box.write(BoxName.vin, d['message']['vin']); box.write(BoxName.color, d['message']['color']); box.write(BoxName.model, d['message']['model']); box.write(BoxName.carPlate, d['message']['car_plate']); box.write(BoxName.make, d['message']['make']); box.write(BoxName.year, d['message']['year']); box.write(BoxName.expirationDate, d['message']['expiration_date']); // box.write(BoxName.acc, d['message']['accountBank']); isLoading = false; update(); } } @override void onInit() { // if (box.read(BoxName.dobDriver) == null) { getProfileData(); // } super.onInit(); } }