editAddress method
Implementation
void editAddress(
BuildContext context, String addressId) async {
FocusScope.of(context).requestFocus(FocusNode());
if (formKey.currentState!.validate()) {
FocusScope.of(context).unfocus();
isLoading(true);
var request = {
'token': Storage.getValue(Constants.token),
'api_key': Constants.apiKey,
'sub_client_api_key': Storage.getValue(Constants.subClientApiKey),
'city': city.text.toString(),
'zip': zipCodeController.text.toString(),
'state': state.text.toString(),
'country': country.text.toString(),
'address': streetAddressController.text.toString(),
};
var response = await DioClient().request(context: context,
api: '/address/update/$addressId',
method: Method.POST,
params: request);
UpdateAddressResponse updateAddressResponse =
UpdateAddressResponse.fromJson(response);
if (updateAddressResponse.status == Strings.success) {
if (isDefaultAddressSet.isTrue) {
setDefaultAddress(context,addressId);
} else {
isLoading(false);
Utils.navigationReplace(
context,
Successful(
successTitle: Strings.addressChangedSuccessfully,
successMessage: DateFormat.jm().format(
DateTime.parse(DateTime.now().toString()).toLocal()),));
Utils.showSnackbar(context, Strings.success,
updateAddressResponse.message!, AppColors.green);
addressController.fetchUserAddress(context);
}
} else {
isLoading(false);
return Utils.showSnackbar(
context, Strings.error, response['message'].toString().toTitleCase(), AppColors.red);
}
}
}