editAddress method

void editAddress(
  1. BuildContext context,
  2. String addressId
)

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);
  }

  }
}