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; } }