public async Task <IActionResult> GetByReference(string reference) { var requestId = Guid.NewGuid().ToString(); _logger.LogInformation($"RequestID:{requestId} - GeOpportunitytByReference called."); try { if (String.IsNullOrEmpty(reference)) { _logger.LogError($"RequestID:{requestId} - GeOpportunitytByReference ref == null."); return(NotFound($"RequestID:{requestId} - GeOpportunitytByReference Invalid parameter. ref = null.")); } var thisOpportunity = await _opportunityService.GetItemByRefAsync(reference, requestId); if (thisOpportunity == null) { _logger.LogError($"RequestID:{requestId} - GeOpportunitytByReference no opportunities found."); return(NotFound($"RequestID:{requestId} - GeOpportunitytByReference no opportunities found")); } return(Ok(JObject.FromObject(thisOpportunity))); } catch (Exception ex) { _logger.LogError($"RequestID:{requestId} - GeOpportunitytByReference error: {ex.Message}"); var errorResponse = JsonErrorResponse.BadRequest($"GeOpportunitytByReference error: {ex.Message} ", requestId); return(BadRequest(errorResponse)); } }