public async Task <Domain.Models.Referral> GetReferralByReferralCodeAsync(string referralCode)
        {
            if (string.IsNullOrEmpty(referralCode))
            {
                var exception = new ArgumentNullException(nameof(referralCode));
                _log.Error("Input parameter is null.", exception);
                throw exception;
            }

            return(await _referralRepository.GetByReferralCodeAsync(referralCode) ??
                   throw new CustomerNotFoundException($"Referral code for Customer with id '{referralCode}' not found."));
        }