Example #1
0
        public async Task <BestOfferResponse> GetOfferAsync(BestOfferRequest request)
        {
            var baseUrl       = _configuration.GetValue <string>("FedXAPIConfig:BaseURL");
            var apiKey        = _configuration.GetValue <string>("FedXAPIConfig:ApiKey");
            var offerResponse = new BestOfferResponse();

            offerResponse.CompanyName = _configuration.GetValue <string>("FedXAPIConfig:CompanyName");

            var postData = new FedXAPIRequest
            {
                Consignee = request.Source,
                Consignor = request.Destination,
                Cartons   = request.Carton
            };

            var response = await _restClient.PostRequestAsync <object, FedXAPIResponse>(baseUrl, postData, apiKey);

            if (response == default(FedXAPIResponse))
            {
                offerResponse.BestPrice = decimal.Zero;
            }
            else
            {
                offerResponse.BestPrice = response.Amount;
            }

            return(offerResponse);
        }
        public FedXAPIResponse GetFedXServiceCharge(FedXAPIRequest request)
        {
            var serviceChargeList = CompanyConfiguration.LoadServiceChargeData(CompanyName.FedX);

            var chargeRequest = _mapper.Map <ServiceChargeRequest>(request);

            var charge = GetServiceCharge(chargeRequest, serviceChargeList);

            return(new FedXAPIResponse
            {
                Amount = charge
            });
        }
        public async Task <IActionResult> GetServiceCharge(FedXAPIRequest request)
        {
            try
            {
                _logger.LogInformation("FedX Contoller : GetServiceCharge Call");
                var response = _companyServiceCharge.GetFedXServiceCharge(request);

                _logger.LogInformation("FedX Contoller : GetServiceCharge Success");

                return(Ok(response));
            }
            catch (Exception ex)
            {
                _logger.LogError($"FedX Contoller : GetServiceCharge - Error Occured ( {ex.Message } )");

                throw ex;
            }
        }