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