/// <inheritdoc /> public Task <CreateBpIdTypeResponse> CreateIdType(IdentifierRequest identifierRequest) { var bpIdentifier = new BpIdentifier(identifierRequest); var response = new CreateBpIdTypeResponse(); var mcfResponse = _mcfClient.CreateIdentifier(bpIdentifier); if (mcfResponse == null) { const string uiFailureMessage = "Failed to create business partner identifier"; _logger.LogError($"{ uiFailureMessage }: {identifierRequest.ToJson()}"); throw new InternalServerException(uiFailureMessage); } response.HttpStatusCode = mcfResponse.HttpStatusCode; if (mcfResponse.Error != null) { const string uiFailureMessage = "Failed to create business partner identifier"; _logger.LogError($"{ mcfResponse.Error.ToJson() }: {identifierRequest.ToJson()}"); response.ErrorMessage = uiFailureMessage; } else { response.BpIdType = mcfResponse.Result.ToModel(); } return(Task.FromResult(response)); }
/// <inheritdoc /> public Task <StatusCodeResponse> UpdateIdType(IdentifierRequest identifierRequest) { var bpIdentifier = new BpIdentifier(identifierRequest); var response = _mcfClient.UpdateIdentifier(bpIdentifier); if (response == null || response.Error != null) { const string uiFailureMessage = "Failed to update business partner identifier"; var responseErrorMessage = response?.Error != null?response.Error.ToJson() : uiFailureMessage; _logger.LogError($"{ responseErrorMessage }: {identifierRequest.ToJson()}"); throw new InternalServerException(uiFailureMessage); } return(Task.FromResult(response.ToModel())); }
/// <inheritdoc /> public Task <bool> ValidateIdType(IdentifierRequest identifierRequest) { var response = _mcfClient.GetAllIdentifiers(identifierRequest.BpId); if (response == null || response.Error != null) { const string uiFailureMessage = "Failed to get business partner identifiers"; var responseErrorMessage = response?.Error != null?response.Error.ToJson() : uiFailureMessage; _logger.LogError($"{ responseErrorMessage }: {identifierRequest.ToJson()}"); throw new InternalServerException(uiFailureMessage); } var validIdentifier = response.Result?.Results?.FirstOrDefault(x => x.IdentifierType == identifierRequest.IdentifierType.ToString() && x.IdentifierNo == identifierRequest.IdentifierNo); return(Task.FromResult(validIdentifier != null)); }
public async Task <IActionResult> CreateIdType([FromBody] IdentifierRequest identifierRequest) { IActionResult result; // !!! JMC - should these be logged? _logger.LogInformation($"CreateIdType({nameof(identifierRequest)}: {identifierRequest.ToJson()})"); try { result = Ok(await _moveInLogic.CreateIdType(identifierRequest)); } catch (Exception ex) { _logger.LogError(ex, "Unable to Create IDentifier Type for a BP", ex.Message); result = ex.ToActionResult(); } return(result); }