コード例 #1
0
        /// <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));
        }
コード例 #2
0
        /// <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()));
        }
コード例 #3
0
        /// <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));
        }
コード例 #4
0
        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);
        }