addDeliveryAddress method
Implementation
void addDeliveryAddress(BuildContext context,) 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/create',
method: Method.POST,
params: request);
ShippingAddressResponse getAddressResponse =
ShippingAddressResponse.fromJson(response);
if (getAddressResponse.status == Strings.success) {
Utils.navigationReplace(
context,
SuccessfulMgs(
successTitle: Strings.addressAddedSuccessfully,
successMessage: DateFormat.jm().format(
DateTime.parse(DateTime.now().toString()).toLocal()),
));
deliveryAddressController.fetchAddress(context);
} else {
return Utils.showSnackbar(context, Strings.error,
response['message'].toString().toTitleCase(), AppColors.red);
}
} catch (e) {
return Utils.showSnackbar(
context, Strings.error, e.toString(), AppColors.red);
} finally {
isLoading(false);
}
update();
}
}