editAddress method
Implementation
void editAddress(BuildContext context,String addressId)async{
FocusScope.of(context).requestFocus(FocusNode());
if (formKey.currentState!.validate()) {
FocusScope.of(context).unfocus();
try {
isLoading(true);
var request = {
'merchant_id': Storage.getValue(Constants.merchantID),
'api_key': await Constants.apiKey(),
'customer_id': Storage.getValue(Constants.customerID),
'zip':zipCodeController.text.toString(),
'address_name':addressName.text.toString(),
'street_address':streetAddressController.text.toString(),
'city':city.text.toString(),
'state':state.text.toString(),
'country':country.text.toString(),
'is_default_address': "false",
};
var response = await DioClient().request(
context: context,
api: '/customer/shipping/update/$addressId', method: Method.POST, params: request);
ShippingAddressResponse getAddressResponse = ShippingAddressResponse.fromJson(response);
if (getAddressResponse.status == Strings.success) {
if (isDefaultAddressSet.isTrue) {
makeAddressDefault(context,addressId);
}else{
isLoading(false);
Utils.navigationReplace(context, SuccessfulMgs(
successTitle: Strings.addressUpdated,
successMessage:Strings.addressUpdatedSuccessfully,));
deliveryAddressController.fetchAddress(context);
shopItemDetailController.fetchAddress(context);
}
} else {
isLoading(false);
return Utils.showSnackbar(
context, Strings.error, response['message'].toString().toTitleCase(), AppColors.red);
}
}catch(e){
isLoading(false);
return Utils.showSnackbar(
context, Strings.error, e.toString(), AppColors.red);
}
}
}