public async Task <(bool isSuccessful, string errorMessage)> ProcessVoucherPurchaseEvent(VoucherPurchaseModel voucherPurchaseModel)
        {
            var(isValidConversion, conversionAmount) = await _currencyConvertorService
                                                       .CovertToBaseCurrencyAsync(voucherPurchaseModel.Amount, voucherPurchaseModel.Currency);

            if (!isValidConversion)
            {
                return(false, $"'{voucherPurchaseModel.Currency}' cannot be converted to base currency.");
            }

            await _customerProfileService.InsertOrUpdateCustomerPurchaseAmount(voucherPurchaseModel.CustomerId, conversionAmount);

            return(true, string.Empty);
        }