addAddress method
Implementation
void addAddress(BuildContext context) async {
FocusScope.of(context).requestFocus(FocusNode());
if (formKey.currentState!.validate()) {
FocusScope.of(context).unfocus();
try {
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/create',
method: Method.POST,
params: request);
CreateAddressResponse createAddressResponse =
CreateAddressResponse.fromJson(response);
if (createAddressResponse.status == Strings.success) {
Utils.navigationReplace(
context,
Successful(
successTitle: Strings.addressAddedSuccessfully,
successMessage: DateFormat.jm().format(
DateTime.parse(DateTime.now().toString()).toLocal()),
));
Utils.showSnackbar(context, Strings.success,
createAddressResponse.message!, AppColors.green);
addressController.fetchUserAddress(context);
} else {
return Utils.showSnackbar(context, Strings.error,
response['message'].toString().toTitleCase(), AppColors.red);
}
} finally {
isLoading(false);
}
update();
}
}