public async Task <OpportunityViewModel> GetItemByRefAsync(string reference, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - GetItemByRefAsync called.");

            Guard.Against.NullOrEmpty(reference, nameof(reference), requestId);

            try
            {
                var thisOpportunity = await _opportunityRepository.GetItemByRefAsync(reference, requestId);

                reference = reference.Replace("'", "");
                if (thisOpportunity.Reference != reference)
                {
                    _logger.LogWarning($"RequestId: {requestId} - GetItemByRefAsync no items found");
                    throw new NoItemsFound($"RequestId: {requestId} - Method name: GetItemByRefAsync - No Items Found");
                }

                return(await _opportunityHelpers.ToOpportunityViewModelAsync(thisOpportunity, requestId));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - GetItemByRefAsync Service Exception: {ex}");
                throw new ResponseException($"RequestId: {requestId} - GetItemByRefAsync Service Exception: {ex}");
            }
        }