public async Task <StatusCodes> CreateItemAsync(OpportunityViewModel opportunityViewModel, string requestId = "") { _logger.LogInformation($"RequestId: {requestId} - CreateItemAsync called."); Guard.Against.Null(opportunityViewModel, nameof(opportunityViewModel), requestId); Guard.Against.NullOrEmpty(opportunityViewModel.DisplayName, nameof(opportunityViewModel.DisplayName), requestId); try { var opportunity = await _opportunityHelpers.ToOpportunityAsync(opportunityViewModel, Opportunity.Empty, requestId); var result = await _opportunityRepository.CreateItemAsync(opportunity, requestId); Guard.Against.NotStatus201Created(result, "CreateItemAsync", requestId); return(result); } catch (Exception ex) { _logger.LogError($"RequestId: {requestId} - CreateItemAsync Service Exception: {ex}"); throw new ResponseException($"RequestId: {requestId} - CreateItemAsync Service Exception: {ex}"); } }