From 94d72adeaf040c923e30d695d6b6998122f67624 Mon Sep 17 00:00:00 2001 From: Nic Lubbers Date: Wed, 18 Apr 2018 09:46:21 -0400 Subject: [PATCH] Check if FedEx code exists in _serviceCodes before adding to the rate list so if FedEx adds a new rate type the old rates are still returned. Add the INTERNATIONAL_FIRST code to _serviceCodes. --- DotNetShipping/ShippingProviders/FedExBaseProvider.cs | 6 +++++- DotNetShipping/ShippingProviders/FedExProvider.cs | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/DotNetShipping/ShippingProviders/FedExBaseProvider.cs b/DotNetShipping/ShippingProviders/FedExBaseProvider.cs index 49ac4be..ac0feb0 100644 --- a/DotNetShipping/ShippingProviders/FedExBaseProvider.cs +++ b/DotNetShipping/ShippingProviders/FedExBaseProvider.cs @@ -148,7 +148,11 @@ protected void ProcessReply(RateReply reply) var key = rateReplyDetail.ServiceType.ToString(); var deliveryDate = rateReplyDetail.DeliveryTimestampSpecified ? rateReplyDetail.DeliveryTimestamp : DateTime.Now.AddDays(30); - AddRate(key, _serviceCodes[key], netCharge, deliveryDate); + + if (_serviceCodes.ContainsKey(key)) + { + AddRate(key, _serviceCodes[key], netCharge, deliveryDate); + } } } diff --git a/DotNetShipping/ShippingProviders/FedExProvider.cs b/DotNetShipping/ShippingProviders/FedExProvider.cs index 1e7ac49..03c0a66 100644 --- a/DotNetShipping/ShippingProviders/FedExProvider.cs +++ b/DotNetShipping/ShippingProviders/FedExProvider.cs @@ -76,7 +76,8 @@ protected sealed override void SetServiceCodes() {"GROUND_HOME_DELIVERY", "FedEx Ground Residential"}, {"FEDEX_INTERNATIONAL_GROUND", "FedEx International Ground"}, {"INTERNATIONAL_ECONOMY", "FedEx International Economy"}, - {"INTERNATIONAL_PRIORITY", "FedEx International Priority"} + {"INTERNATIONAL_PRIORITY", "FedEx International Priority"}, + {"INTERNATIONAL_FIRST", "FedEx International First" } }; }