public void Can_Get_Different_Rates_For_Signature_Required_Lookup() { var rateManager = new RateManager(); rateManager.AddProvider(new USPSProvider(USPSUserId, "Priority Mail")); var nonSignatureResponse = rateManager.GetRates(DomesticAddress1, DomesticAddress2, Package1); var signatureResponse = rateManager.GetRates(DomesticAddress1, DomesticAddress2, Package1SignatureRequired); // Assert that we have a non-signature response Assert.NotNull(nonSignatureResponse); Assert.NotEmpty(nonSignatureResponse.Rates); Assert.Empty(nonSignatureResponse.ServerErrors); Assert.True(nonSignatureResponse.Rates.First().TotalCharges > 0); // Assert that we have a signature response Assert.NotNull(signatureResponse); Assert.NotEmpty(signatureResponse.Rates); Assert.Empty(signatureResponse.ServerErrors); Assert.True(signatureResponse.Rates.First().TotalCharges > 0); // Now compare prices foreach (var signatureRate in signatureResponse.Rates) { var nonSignatureRate = nonSignatureResponse.Rates.FirstOrDefault(x => x.Name == signatureRate.Name); if (nonSignatureRate != null) { var signatureTotalCharges = signatureRate.TotalCharges; var nonSignatureTotalCharges = nonSignatureRate.TotalCharges; Assert.NotEqual(signatureTotalCharges, nonSignatureTotalCharges); } } }
public async Task UPSSaturdayDelivery() { var from = new Address("Annapolis", "MD", "21401", "US"); var to = new Address("Fitchburg", "WI", "53711", "US"); var package = new Package(7, 7, 7, 6, 0); var today = DateTime.Now; var nextFriday = today.AddDays(12 - (int)today.DayOfWeek); var rateManager = new RateManager(); rateManager.AddProvider(new UPSProvider(UPSLicenseNumber, UPSUserId, UPSPassword)); var r = await rateManager.GetRatesAsync(from, to, package, new ShipmentOptions() { ShippingDate = nextFriday, SaturdayDelivery = true }); var fedExRates = r.Rates.ToList(); Assert.NotNull(r); Assert.True(fedExRates.Any()); Assert.True(fedExRates.Any(r => r.Options.SaturdayDelivery)); }
internal NexusAPIClient() { _internalRateManager = new RateManager(); IsDisposed = false; InitializeHttpClient(); }
public LatencyModule(ILatencyPerformer latencyPerformer, RateManager rateManager, Func <TimeSpan> latencyProvider, Func <double> rateProvider) { this.latencyProvider = latencyProvider; this.rateProvider = rateProvider; this.latencyPerformer = latencyPerformer; this.rateManager = rateManager; }
public void UPS_Returns_Rates_When_Using_International_Destination_Addresses_And_RetailRates_For_All_Services() { var rateManager = new RateManager(); var provider = new UPSProvider(UPSLicenseNumber, UPSUserId, UPSPassword) { UseRetailRates = true }; rateManager.AddProvider(provider); var response = rateManager.GetRates(DomesticAddress1, InternationalAddress1, Package1); Debug.WriteLine($"Rates returned: {(response.Rates.Any() ? response.Rates.Count.ToString() : "0")}"); Assert.NotNull(response); Assert.IsNotEmpty(response.Rates); Assert.IsEmpty(response.Errors); foreach (var rate in response.Rates) { Assert.NotNull(rate); Assert.True(rate.TotalCharges > 0); Debug.WriteLine(rate.Name + ": " + rate.TotalCharges); } }
public void USPS_Intl_Returns_Multiple_Rates_When_Using_Multiple_Packages_For_All_Services_And_Multiple_Packages() { var packages = new List <Package>(); packages.Add(_package1); packages.Add(_package2); var rateManager = new RateManager(); rateManager.AddProvider(new USPSInternationalProvider(_uspsUserId)); var response = rateManager.GetRates(_domesticAddress1, _internationalAddress2, packages); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.NotEmpty(response.Rates); Assert.Empty(response.ServerErrors); foreach (var rate in response.Rates) { Assert.NotNull(rate); Assert.True(rate.TotalCharges > 0); Debug.WriteLine(rate.Name + ": " + rate.TotalCharges); } }
private void OnEnable() { this._rateManager = RateManager.Instance; this.ApplyTogglesUpdateRateMode(this._rateManager.UpdateRateMode); this._rateManager.UpdateRateModeChanged += this.OnUpdateRateModeChanged; this._toggleModeTargetFrameRate.onValueChanged.AddListener(this.OnToggleModeTargetFrameRateValueChanged); this._toggleModeVSyncCount.onValueChanged.AddListener(this.OnToggleModeVSyncCountValueChanged); this.ApplyTextUpdateRate(this._rateManager.UpdateRate, this._rateManager.TargetUpdateRate); this.ApplyTextFixedUpdateRate(this._rateManager.FixedUpdateRate, this._rateManager.TargetFixedUpdateRate); this.ApplyTextRenderInterval(this._rateManager.RenderInterval, this._rateManager.TargetRenderInterval); this.ApplySliderUpdateRate(this._rateManager.TargetUpdateRate); this.ApplySliderFixedUpdateRate(this._rateManager.TargetFixedUpdateRate); this.ApplySliderRenderInterval(this._rateManager.TargetRenderInterval); this._rateManager.UpdateRateChanged += this.OnUpdateRateChanged; this._rateManager.TargetUpdateRateChanged += this.OnTargetUpdateRateChanged; this._rateManager.FixedUpdateRateChanged += this.OnFixedUpdateRateChanged; this._rateManager.TargetFixedUpdateRateChanged += this.OnTargetFixedUpdateRateChanged; this._rateManager.RenderIntervalChanged += this.OnRenderIntervalChanged; this._rateManager.TargetRenderIntervalChanged += this.OnTargetRenderIntervalChanged; this._sliderUpdateRate.onValueChanged.AddListener(this.OnSliderUpdateRateChanged); this._sliderFixedUpdateRate.onValueChanged.AddListener(this.OnSliderFixedUpdateRateChanged); this._sliderRenderInterval.onValueChanged.AddListener(this.OnSliderRenderIntervalChanged); }
public void USPS_Intl_Returns_Multiple_Rates_When_Using_Multiple_Packages_For_All_Services_And_Multiple_Packages() { var packages = new List<Package>(); packages.Add(_package1); packages.Add(_package2); var rateManager = new RateManager(); rateManager.AddProvider(new USPSInternationalProvider(_uspsUserId)); var response = rateManager.GetRates(_domesticAddress1, _internationalAddress2, packages); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.NotEmpty(response.Rates); Assert.Empty(response.ServerErrors); foreach (var rate in response.Rates) { Assert.NotNull(rate); Assert.True(rate.TotalCharges > 0); Debug.WriteLine(rate.Name + ": " + rate.TotalCharges); } }
//private void DataCaptureDynamicGrid() //{ // String ColumnName = ""; // try // { // DataCaptureManager manager = new DataCaptureManager(); // CustomList<DataCaptureConfiguration> FieldList = manager.GetAllDataCaptureConfigurationForDataCapture(); // String columnsCaption = "VID"; // String colModel = " " + // " { 'name': 'VID', 'key': true, 'hidden': true, 'width': 50, 'index': 'VID' } @" + // " { 'name': 'EmpKey', 'index': 'EmpKey','hidden': false, editable: true, width: 70} @" + // " { 'name': 'EmpName', 'index': 'EmpName','hidden': false, editable: false, width: 100} @" + // " { 'name': 'Department', 'index': 'Department','hidden': false, editable: false, width: 100} "; // //if (FieldList.IsNotNull()) // //{ // // int headCount = 1; // // foreach (DataCaptureConfiguration list in FieldList) // // { // // if (headCount == 1) // // HttpContext.Current.Session["Rate_HouseKeepingValueList1"] = manager.GetAllHouseKeepingValueForDropdown(list.Field); // // if (headCount == 2) // // HttpContext.Current.Session["Rate_HouseKeepingValueList2"] = manager.GetAllHouseKeepingValueForDropdown(list.Field); // // if (headCount == 3) // // HttpContext.Current.Session["Rate_HouseKeepingValueList3"] = manager.GetAllHouseKeepingValueForDropdown(list.Field); // // if (headCount == 4) // // HttpContext.Current.Session["Rate_HouseKeepingValueList4"] = manager.GetAllHouseKeepingValueForDropdown(list.Field); // // if (headCount == 5) // // HttpContext.Current.Session["Rate_HouseKeepingValueList5"] = manager.GetAllHouseKeepingValueForDropdown(list.Field); // // columnsCaption += "," + list.Field; // // colModel += "@ { 'name': 'Key" + headCount + "', 'index': 'Key" + headCount + "','hidden': false, editable: true, width: 70, editrules: { required: true }, edittype: 'select', formatter: 'select', editoptions: {style:'width:100%', value: GetDropDownSource('SessionVarName=Rate_HouseKeepingValueList" + headCount + "&NeedBlank=true&DataTextField=HKName&DataValueField=HKID')}} "; // // headCount++; // // } // //} // columnsCaption += ",EmpCode,EmpName,Department"; // //colModel += "@ { 'name': 'Rate', 'index': 'Rate','hidden': false, editable: true, width: 50, editrules: { required: true,number: true}} "; // ColumnName = columnsCaption + "|" + colModel; // HttpContext.Current.Response.Clear(); // HttpContext.Current.Response.ContentType = "text/plain"; // HttpContext.Current.Response.Write(ColumnName); // HttpContext.Current.Response.Flush(); // } // catch (Exception ex) // { // throw ex; // } //} private void RateDynamicGrid() { String ColumnName = ""; try { RateManager manager = new RateManager(); CustomList <DataCaptureConfiguration> FieldList = manager.GetAllDataCaptureConfigurationForRate(); String columnsCaption = "VID"; String colModel = " " + " { 'name': 'VID', 'key': true, 'hidden': true, 'width': 50, 'index': 'VID' }"; if (FieldList.IsNotNull()) { int headCount = 1; foreach (DataCaptureConfiguration list in FieldList) { if (headCount == 1) { HttpContext.Current.Session["Rate_HouseKeepingValueList1"] = manager.GetAllHouseKeepingValueForDropdown(list.Field); } if (headCount == 2) { HttpContext.Current.Session["Rate_HouseKeepingValueList2"] = manager.GetAllHouseKeepingValueForDropdown(list.Field); } if (headCount == 3) { HttpContext.Current.Session["Rate_HouseKeepingValueList3"] = manager.GetAllHouseKeepingValueForDropdown(list.Field); } if (headCount == 4) { HttpContext.Current.Session["Rate_HouseKeepingValueList4"] = manager.GetAllHouseKeepingValueForDropdown(list.Field); } if (headCount == 5) { HttpContext.Current.Session["Rate_HouseKeepingValueList5"] = manager.GetAllHouseKeepingValueForDropdown(list.Field); } columnsCaption += "," + list.Field; colModel += "@ { 'name': 'Key" + headCount + "', 'index': 'Key" + headCount + "','hidden': false, editable: true, width: 70, editrules: { required: true }, edittype: 'select', formatter: 'select', editoptions: {style:'width:100%', value: GetDropDownSource('SessionVarName=Rate_HouseKeepingValueList" + headCount + "&NeedBlank=true&DataTextField=HKName&DataValueField=HKID')}} "; headCount++; } } columnsCaption += ",Rate"; colModel += "@ { 'name': 'Rate', 'index': 'Rate','hidden': false, editable: true, width: 50, editrules: { required: true,number: true}} "; ColumnName = columnsCaption + "|" + colModel; HttpContext.Current.Response.Clear(); HttpContext.Current.Response.ContentType = "text/plain"; HttpContext.Current.Response.Write(ColumnName); HttpContext.Current.Response.Flush(); } catch (Exception ex) { throw ex; } }
private static void Main() { var appSettings = ConfigurationManager.AppSettings; // You will need a license #, userid and password to utilize the UPS provider. var upsLicenseNumber = appSettings["UPSLicenseNumber"]; var upsUserId = appSettings["UPSUserId"]; var upsPassword = appSettings["UPSPassword"]; // You will need an account # and meter # to utilize the FedEx provider. var fedexKey = appSettings["FedExKey"]; var fedexPassword = appSettings["FedExPassword"]; var fedexAccountNumber = appSettings["FedExAccountNumber"]; var fedexMeterNumber = appSettings["FedExMeterNumber"]; var fedexHubId = appSettings["FedExHubId"]; // 5531 is the hubId to use in FedEx's test environment var fedexUseProduction = Convert.ToBoolean(appSettings["FedExUseProduction"]); // You will need a userId to use the USPS provider. Your account will also need access to the production servers. var uspsUserId = appSettings["USPSUserId"]; // Setup package and destination/origin addresses var packages = new List <Package>(); packages.Add(new Package(12, 12, 12, 35, 150)); packages.Add(new Package(4, 4, 6, 15, 250)); var origin = new Address("", "", "06405", "US"); var destination = new Address("", "", "20852", "US"); // US Address //var destination = new Address("", "", "00907", "PR"); // Puerto Rico Address //var destination = new Address("", "", "L4W 1S2", "CA"); // Canada Address //var destination = new Address("", "", "SW1E 5JL", "GB"); // UK Address // Create RateManager var rateManager = new RateManager(); // Add desired DotNetShippingProviders rateManager.AddProvider(new UPSProvider(upsLicenseNumber, upsUserId, upsPassword) { UseProduction = false }); rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, fedexUseProduction)); rateManager.AddProvider(new FedExSmartPostProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, fedexHubId, fedexUseProduction)); rateManager.AddProvider(new USPSProvider(uspsUserId)); rateManager.AddProvider(new USPSInternationalProvider(uspsUserId)); // (Optional) Add RateAdjusters rateManager.AddRateAdjuster(new PercentageRateAdjuster(.9M)); // Call GetRates() var shipment = rateManager.GetRates(origin, destination, packages); // Iterate through the rates returned foreach (var rate in shipment.Rates) { Console.WriteLine(rate); } Console.ReadLine(); }
public LatencyStrategy(ILatencyPerformer latencyPerformer, RateManager rateManager, Func <TimeSpan> latencyProvider, Func <double> rateProvider, IRequestStrategy baseStrategy) { this.latencyPerformer = latencyPerformer; this.rateManager = rateManager; this.latencyProvider = latencyProvider; this.rateProvider = rateProvider; this.baseStrategy = baseStrategy; }
public string GetRatetype(string Language) { if (Session[Util.ProjectConfig.ADMINUSER] == null) { return(""); } return(RateManager.GetRatetype(Language)); }
public string GetRateAll() { if (Session[Util.ProjectConfig.ADMINUSER] == null) { return(""); } return(RateManager.GetRateAll()); }
public string CeliName(string Name, string Language) { if (Session[Util.ProjectConfig.ADMINUSER] == null) { return(""); } return(RateManager.CeliName(Name, Language).ToString()); }
private static void Main() { var appSettings = ConfigurationManager.AppSettings; // You will need a license #, userid and password to utilize the UPS provider. var upsLicenseNumber = appSettings["UPSLicenseNumber"]; var upsUserId = appSettings["UPSUserId"]; var upsPassword = appSettings["UPSPassword"]; // You will need an account # and meter # to utilize the FedEx provider. var fedexKey = appSettings["FedExKey"]; var fedexPassword = appSettings["FedExPassword"]; var fedexAccountNumber = appSettings["FedExAccountNumber"]; var fedexMeterNumber = appSettings["FedExMeterNumber"]; var fedexHubId = appSettings["FedExHubId"]; // 5531 is the hubId to use in FedEx's test environment // You will need a userId to use the USPS provider. Your account will also need access to the production servers. var uspsUserId = appSettings["USPSUserId"]; // Setup package and destination/origin addresses var packages = new List<Package>(); packages.Add(new Package(12, 12, 12, 35, 150)); packages.Add(new Package(4, 4, 6, 15, 250)); var origin = new Address("", "", "06405", "US"); var destination = new Address("", "", "20852", "US"); // US Address //var destination = new Address("", "", "00907", "PR"); // Puerto Rico Address //var destination = new Address("", "", "L4W 1S2", "CA"); // Canada Address //var destination = new Address("", "", "SW1E 5JL", "GB"); // UK Address // Create RateManager var rateManager = new RateManager(); // Add desired DotNetShippingProviders rateManager.AddProvider(new UPSProvider(upsLicenseNumber, upsUserId, upsPassword) {UseProduction = false}); rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, false)); rateManager.AddProvider(new FedExSmartPostProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, fedexHubId, false)); rateManager.AddProvider(new USPSProvider(uspsUserId)); rateManager.AddProvider(new USPSInternationalProvider(uspsUserId)); // (Optional) Add RateAdjusters rateManager.AddRateAdjuster(new PercentageRateAdjuster(.9M)); // Call GetRates() var shipment = rateManager.GetRates(origin, destination, packages); // Iterate through the rates returned foreach (var rate in shipment.Rates) { Console.WriteLine(rate); } Console.ReadLine(); }
protected RateManager GetRateManager(DHLProviderConfiguration configuration) { var provider = new DHLProvider(configuration); var rateManager = new RateManager(); rateManager.AddProvider(provider); return(rateManager); }
private static void Main() { NameValueCollection appSettings = ConfigurationManager.AppSettings; // You will need a license #, userid and password to utilize the UPS provider. string upsLicenseNumber = appSettings["UPSLicenseNumber"]; string upsUserId = appSettings["UPSUserId"]; string upsPassword = appSettings["UPSPassword"]; // You will need an account # and meter # to utilize the FedEx provider. string fedexKey = appSettings["FedExKey"]; string fedexPassword = appSettings["FedExPassword"]; string fedexAccountNumber = appSettings["FedExAccountNumber"]; string fedexMeterNumber = appSettings["FedExMeterNumber"]; // You will need a userId to use the USPS provider. Your account will also need access to the production servers. string uspsUserId = appSettings["USPSUserId"]; // Setup package and destination/origin addresses var packages = new List <Package>(); packages.Add(new Package(12, 12, 12, 35, 150)); packages.Add(new Package(4, 4, 6, 15, 250)); var origin = new Address("", "", "06405", "US"); var destination = new Address("", "", "20852", "US"); // US Address //var destination = new Address("", "", "00907", "PR"); // Puerto Rico Address //var destination = new Address("", "", "L4W 1S2", "CA"); // Canada Address //var destination = new Address("80-100 Victoria St", "", "", "London SW1E 5JL", "", "", "United Kingdom"); // UK Address // Create RateManager var rateManager = new RateManager(); // Add desired DotNetShippingProviders rateManager.AddProvider(new UPSProvider(upsLicenseNumber, upsUserId, upsPassword) { UseProduction = false }); rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber)); rateManager.AddProvider(new USPSProvider(uspsUserId)); //rateManager.AddProvider(new USPSInternationalProvider(uspsUserId)); // (Optional) Add RateAdjusters rateManager.AddRateAdjuster(new PercentageRateAdjuster(.9M)); // Call GetRates() Shipment shipment = rateManager.GetRates(origin, destination, packages); // Iterate through the rates returned foreach (Rate rate in shipment.Rates) { Console.WriteLine(rate); } }
protected FedExShipRatesTestsBase() { var appSettings = ConfigurationManager.AppSettings; var fedexKey = appSettings["FedExKey"]; var fedexPassword = appSettings["FedExPassword"]; var fedexAccountNumber = appSettings["FedExAccountNumber"]; var fedexMeterNumber = appSettings["FedExMeterNumber"]; var fedexUseProduction = Convert.ToBoolean(appSettings["FedExUseProduction"]); _rateManager = new RateManager(); _rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, fedexUseProduction)); }
public void USPS_Domestic_Returns_No_Rates_When_Using_Invalid_Addresses_For_All_Services() { var rateManager = new RateManager(); rateManager.AddProvider(new USPSProvider(USPSUserId)); var response = rateManager.GetRates(DomesticAddress1, InternationalAddress1, Package1); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.Empty(response.Rates); Assert.Empty(response.ServerErrors); }
public LatencyRequestSender( IRequestSender baseRequestSender, ILatencyPerformer latencyPerformer, RateManager rateManager, TimeSpan latency, double rate) { this.baseRequestSender = baseRequestSender; this.latencyPerformer = latencyPerformer; this.rateManager = rateManager; this.latency = latency; this.rate = rate; }
public void USPS_Intl_Returns_No_Rates_When_Using_Invalid_Addresses_For_All_Services() { var rateManager = new RateManager(); rateManager.AddProvider(new USPSInternationalProvider(_uspsUserId)); var response = rateManager.GetRates(_domesticAddress1, _domesticAddress2, _package1); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.Empty(response.Rates); }
public async Task USPSCurrency() { var rateManager = new RateManager(); rateManager.AddProvider(new USPSInternationalProvider(_uspsUserId)); var response = await rateManager.GetRatesAsync(_domesticAddress1, _internationalAddress2, _package1); var rates = response.Rates; Assert.NotNull(response); Assert.True(rates.Any()); Assert.False(rates.Any(r => r.CurrencyCode != "USD")); }
protected override void OnUpdate() { if (_underlyingSystemsToUpdate.Count > 0) { _mutableSystemsList.AddRange(_underlyingSystemsToUpdate); _underlyingSystemsToUpdate.Clear(); _systemsListDirtyFlag = true; } if (_underlyingSystemsToRemove.Count > 0) { _underlyingSystemsToRemove.ForEach(system => _mutableSystemsList.Remove(system)); _underlyingSystemsToRemove.Clear(); _systemsListDirtyFlag = true; } if (_systemsListDirtyFlag) { _systemsListDirtyFlag = false; _systems.Clear(); _systems.AddRange(_mutableSystemsList); // this icky stuff is because the entity debugger only really wants to work with the default group class #region EntityDebuggerWorkarounds object o = MasterUpdateListField.GetValue(this); UnsafeListOfUpdateIndexClearMethod.Invoke(o, null); UnsafeListOfUpdateIndexSetCapacityMethod.Invoke(o, new object[] { _systems.Count }); for (int i = 0; i < _systems.Count; i++) { object obj = UpdateIndexConstructor.Invoke(new object[] { i, true }); UnsafeListOfUpdateIndexAddMethod.Invoke(o, new [] { obj }); } MasterUpdateListField.SetValue(this, o); #endregion } if (RateManager == null) { UpdateAllSystems(); } else { while (RateManager.ShouldGroupUpdate(this)) { UpdateAllSystems(); } } }
public void USPS_Domestic_Returns_No_Rates_When_Using_Invalid_Addresses_For_Single_Service() { var rateManager = new RateManager(); rateManager.AddProvider(new USPSProvider(USPSUserId, "Priority Mail")); var response = rateManager.GetRates(DomesticAddress1, InternationalAddress1, Package1); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.Empty(response.Rates); Assert.Empty(response.ServerErrors); }
private static void Main() { NameValueCollection appSettings = ConfigurationManager.AppSettings; // You will need a license #, userid and password to utilize the UPS provider. string upsLicenseNumber = appSettings["UPSLicenseNumber"]; string upsUserId = appSettings["UPSUserId"]; string upsPassword = appSettings["UPSPassword"]; // You will need an account # and meter # to utilize the FedEx provider. string fedexKey = appSettings["FedExKey"]; string fedexPassword = appSettings["FedExPassword"]; string fedexAccountNumber = appSettings["FedExAccountNumber"]; string fedexMeterNumber = appSettings["FedExMeterNumber"]; // You will need a userId to use the USPS provider. Your account will also need access to the production servers. string uspsUserId = appSettings["USPSUserId"]; // Setup package and destination/origin addresses var packages = new List<Package>(); packages.Add(new Package(12, 12, 12, 35, 150)); packages.Add(new Package(4, 4, 6, 15, 250)); var origin = new Address("", "", "06405", "US"); var destination = new Address("", "", "20852", "US"); // US Address //var destination = new Address("", "", "L4W 1S2", "CA"); // Canada Address //var destination = new Address("80-100 Victoria St", "", "", "London SW1E 5JL", "", "", "United Kingdom"); // UK Address // Create RateManager var rateManager = new RateManager(); // Add desired DotNetShippingProviders rateManager.AddProvider(new UPSProvider(upsLicenseNumber, upsUserId, upsPassword)); rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber)); rateManager.AddProvider(new USPSProvider(uspsUserId)); //rateManager.AddProvider(new USPSInternationalProvider(uspsUserId)); // (Optional) Add RateAdjusters rateManager.AddRateAdjuster(new PercentageRateAdjuster(.9M)); // Call GetRates() Shipment shipment = rateManager.GetRates(origin, destination, packages); // Iterate through the rates returned foreach (Rate rate in shipment.Rates) { Console.WriteLine(rate); } }
public void USPS_Intl_Returns_No_Rates_When_Using_Invalid_Addresses_For_Single_Service() { //can't rate intl with a domestic address var rateManager = new RateManager(); rateManager.AddProvider(new USPSInternationalProvider(USPSUserId, "Priority Mail International")); Shipment response = rateManager.GetRates(DomesticAddress1, DomesticAddress2, Package1); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.Empty(response.Rates); }
protected FedExSmartPostShipRatesTestsBase() { var config = ConfigHelper.GetApplicationConfiguration(TestContext.CurrentContext.TestDirectory); var fedexKey = config.FedExKey; var fedexPassword = config.FedExPassword; var fedexAccountNumber = config.FedExAccountNumber; var fedexMeterNumber = config.FedExMeterNumber; var fedexHubId = config.FedExHubId; var fedexUseProduction = config.FedExUseProduction; _provider = new FedExSmartPostProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber, fedexHubId, fedexUseProduction); _rateManager = new RateManager(); _rateManager.AddProvider(_provider); }
public ActionResult Test() { System.Collections.Specialized.NameValueCollection appSettings = System.Configuration.ConfigurationManager.AppSettings; // You will need a license #, userid and password to utilize the UPS provider. string upsLicenseNumber = appSettings["UPSLicenseNumber"]; string upsUserId = appSettings["UPSUserId"]; string upsPassword = appSettings["UPSPassword"]; // You will need an account # and meter # to utilize the FedEx provider. string fedexKey = appSettings["FedExKey"]; string fedexPassword = appSettings["FedExPassword"]; string fedexAccountNumber = appSettings["FedExAccountNumber"]; string fedexMeterNumber = appSettings["FedExMeterNumber"]; // You will need a userId to use the USPS provider. Your account will also need access to the production servers. string uspsUserId = appSettings["USPSUserId"]; // Setup package and destination/origin addresses var packages = new List <Package>(); packages.Add(new Package(12, 12, 12, 35, 150)); packages.Add(new Package(4, 4, 6, 15, 250)); var origin = new Address("", "", "06405", "US"); var destination = new Address("", "", "20852", "US"); // US Address // Create RateManager var rateManager = new RateManager(); // Add desired DotNetShippingProviders rateManager.AddProvider(new DotNetShipping.ShippingProviders.UPSProvider(upsLicenseNumber, upsUserId, upsPassword)); //rateManager.AddProvider(new FedExProvider(fedexKey, fedexPassword, fedexAccountNumber, fedexMeterNumber)); //rateManager.AddProvider(new USPSProvider(uspsUserId)); // (Optional) Add RateAdjusters rateManager.AddRateAdjuster(new PercentageRateAdjuster(.9M)); // Call GetRates() Shipment shipment = rateManager.GetRates(origin, destination, packages); // Iterate through the rates returned foreach (Rate rate in shipment.Rates) { Console.WriteLine(rate); } return(View()); }
public async Task USPS_Domestic_Saturday_Delivery() { var rateManager = new RateManager(); rateManager.AddProvider(new USPSProvider(_uspsUserId)); var today = DateTime.Now; var nextFriday = today.AddDays(12 - (int)today.DayOfWeek).Date + new TimeSpan(10, 0, 0); var nextThursday = nextFriday.AddDays(-1); var origin = new Address("", "", "06405", "US"); var destination = new Address("", "", "20852", "US"); var response = await rateManager.GetRatesAsync(origin, destination, Package1, new ShipmentOptions() { ShippingDate = nextFriday, SaturdayDelivery = true }); Assert.NotNull(response); Assert.IsNotEmpty(response.Rates); // Sometimes only Priority Mail Express 2-Day works and we have to try it on Thursday if (!response.Rates.Any(r => r.Options.SaturdayDelivery)) { response = await rateManager.GetRatesAsync(origin, destination, Package1, new ShipmentOptions() { ShippingDate = nextThursday, SaturdayDelivery = true }); Assert.NotNull(response); Assert.IsNotEmpty(response.Rates); } Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.IsEmpty(response.Errors); Assert.True(response.Rates.Any(r => r.Options.SaturdayDelivery)); foreach (var rate in response.Rates) { Assert.NotNull(rate); Assert.True(rate.TotalCharges > 0); Debug.WriteLine(rate.Name + ": " + rate.TotalCharges); } }
public async Task UPSCurrency() { var from = new Address("Amsterdam", "", "1043 AG", "NL"); var to = new Address("London", "", "SW1A 2AA", "GB"); var package = new Package(1, 1, 1, 5, 1); var rateManager = new RateManager(); rateManager.AddProvider(new UPSProvider(UPSLicenseNumber, UPSUserId, UPSPassword)); var r = await rateManager.GetRatesAsync(from, to, package); var fedExRates = r.Rates.ToList(); Assert.NotNull(r); Assert.True(fedExRates.Any()); Assert.False(fedExRates.Any(r => r.CurrencyCode != "EUR")); }
public void USPS_Domestic_Returns_Single_Rate_When_Using_Valid_Addresses_For_Single_Service() { var rateManager = new RateManager(); rateManager.AddProvider(new USPSProvider(USPSUserId, "Priority Mail")); var response = rateManager.GetRates(DomesticAddress1, DomesticAddress2, Package1); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.NotEmpty(response.Rates); Assert.Empty(response.ServerErrors); Assert.Equal(response.Rates.Count, 1); Assert.True(response.Rates.First().TotalCharges > 0); Debug.WriteLine(response.Rates.First().Name + ": " + response.Rates.First().TotalCharges); }
public void UPS_Returns_Single_Rate_When_Using_Domestic_Addresses_For_Single_Service() { var rateManager = new RateManager(); rateManager.AddProvider(new UPSProvider(UPSLicenseNumber, UPSUserId, UPSPassword, "UPS Ground")); var response = rateManager.GetRates(DomesticAddress1, DomesticAddress2, Package1); Debug.WriteLine($"Rates returned: {(response.Rates.Any() ? response.Rates.Count.ToString() : "0")}"); Assert.NotNull(response); Assert.IsNotEmpty(response.Rates); Assert.IsEmpty(response.Errors); Assert.AreEqual(response.Rates.Count, 1); Assert.True(response.Rates.First().TotalCharges > 0); Debug.WriteLine(response.Rates.First().Name + ": " + response.Rates.First().TotalCharges); }
public void USPS_Intl_Returns_Single_Rate_When_Using_Valid_Addresses_For_Single_Service() { var rateManager = new RateManager(); rateManager.AddProvider(new USPSInternationalProvider(_uspsUserId, "Priority Mail International")); var response = rateManager.GetRates(_domesticAddress1, _internationalAddress2, _package1); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.IsNotEmpty(response.Rates); Assert.IsEmpty(response.Errors); Assert.AreEqual(response.Rates.Count, 1); Assert.True(response.Rates.First().TotalCharges > 0); Debug.WriteLine(response.Rates.First().Name + ": " + response.Rates.First().TotalCharges); }
public void FedExReturnsRates() { RateManager rateManager = RateManagerFactory.Build(); var from = new Address("Salt Lake City", "UT", "84119", "US"); var to = new Address("Beverly Hills", "CA", "90210", "US"); var package = new Package(12, 12, 12, 12, 0); Shipment r = rateManager.GetRates(from, to, package); var fedExRates = r.Rates.Where(x => x.Provider == "FedEx").ToList(); Assert.NotNull(r); Assert.True(fedExRates.Any()); foreach (var rate in fedExRates) { Assert.True(rate.TotalCharges > 0); } }
public void UPS_Domestic_Returns_Rates_When_Using_International_Addresses_For_Single_Service() { var rateManager = new RateManager(); rateManager.AddProvider(new UPSProvider(UPSLicenseNumber, UPSUserId, UPSPassword, "UPS Worldwide Express")); var response = rateManager.GetRates(DomesticAddress1, InternationalAddress1, Package1); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.NotEmpty(response.Rates); Assert.Empty(response.ServerErrors); foreach (var rate in response.Rates) { Assert.NotNull(rate); Assert.True(rate.TotalCharges > 0); Debug.WriteLine(rate.Name + ": " + rate.TotalCharges); } }
public void UPS_Returns_Multiple_Rates_When_Using_Valid_Addresses_For_All_Services() { var rateManager = new RateManager(); rateManager.AddProvider(new UPSProvider(UPSLicenseNumber, UPSUserId, UPSPassword)); Shipment response = rateManager.GetRates(DomesticAddress1, DomesticAddress2, Package1); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.NotEmpty(response.Rates); Assert.Empty(response.ServerErrors); foreach (var rate in response.Rates) { Assert.NotNull(rate); Assert.True(rate.TotalCharges > 0); Debug.WriteLine(rate.Name + ": " + rate.TotalCharges); } }
public void USPS_Intl_Returns_No_Rates_When_Using_Invalid_Addresses_For_Single_Service() { //can't rate intl with a domestic address var rateManager = new RateManager(); rateManager.AddProvider(new USPSInternationalProvider(_uspsUserId, "Priority Mail International")); var response = rateManager.GetRates(_domesticAddress1, _domesticAddress2, _package1); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.Empty(response.Rates); }
public void USPS_Intl_Returns_Single_Rate_When_Using_Valid_Addresses_For_Single_Service() { var rateManager = new RateManager(); rateManager.AddProvider(new USPSInternationalProvider(_uspsUserId, "Priority Mail International")); var response = rateManager.GetRates(_domesticAddress1, _internationalAddress1, _package1); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.NotEmpty(response.Rates); Assert.Empty(response.ServerErrors); Assert.Equal(response.Rates.Count, 1); Assert.True(response.Rates.First().TotalCharges > 0); Debug.WriteLine(response.Rates.First().Name + ": " + response.Rates.First().TotalCharges); }
public void UPS_Returns_Single_Rate_When_Using_Domestic_Addresses_For_Single_Service() { var rateManager = new RateManager(); rateManager.AddProvider(new UPSProvider(UPSLicenseNumber, UPSUserId, UPSPassword, "UPS Ground")); Shipment response = rateManager.GetRates(DomesticAddress1, DomesticAddress2, Package1); Debug.WriteLine(string.Format("Rates returned: {0}", response.Rates.Any() ? response.Rates.Count.ToString() : "0")); Assert.NotNull(response); Assert.NotEmpty(response.Rates); Assert.Empty(response.ServerErrors); Assert.Equal(response.Rates.Count, 1); Assert.True(response.Rates.First().TotalCharges > 0); Debug.WriteLine(response.Rates.First().Name + ": " + response.Rates.First().TotalCharges); }