fetchProvince method

Future<void> fetchProvince(
  1. int countryID,
  2. dynamic selectedIndex
)

Implementation

Future<void> fetchProvince(int countryID, selectedIndex) async {
  if (ARMOYU.countryList[selectedIndex].provinceList != null) {
    if (ARMOYU.countryList[selectedIndex].provinceList!.isNotEmpty) {
      provinceSelectStatus.value = true;
    } else {
      provinceSelectStatus.value = false;
    }
    return;
  }

  ProvinceResponse response =
      await service.countryServices.fetchprovince(countryID: countryID);
  if (!response.result.status) {
    log(response.result.description);
    return;
  }

  if (response.response == null) {
    provinceSelectStatus.value = false;
    return;
  }

  List<Province> provinceList = [];
  for (APIProvince province in response.response!) {
    log(province.name);
    provinceList.add(
      Province(
        provinceID: province.provinceID,
        name: province.name,
        plateCode: province.platecode,
        phoneCode: province.phonecode,
      ),
    );
  }

  ARMOYU.countryList.elementAt(selectedIndex).provinceList = provinceList;

  if (provinceList.isNotEmpty) {
    provinceSelectStatus.value = true;
  } else {
    provinceSelectStatus.value = false;
  }
}