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