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