private void LoadShippingMethods(Order o) { var rates = new SortableCollection <ShippingRateDisplay>(); if (!o.HasShippingItems) { var r = new ShippingRateDisplay { DisplayName = GlobalLocalization.GetString("NoShippingRequired"), ProviderId = string.Empty, ProviderServiceCode = string.Empty, Rate = 0, ShippingMethodId = "NOSHIPPING" }; rates.Add(r); } else { // Shipping Methods rates = HccApp.OrderServices.FindAvailableShippingRates(o); if (rates.Count < 1) { var result = new ShippingRateDisplay(); result.DisplayName = GlobalLocalization.GetString("ToBeDetermined"); result.ShippingMethodId = "TOBEDETERMINED"; result.Rate = 0; rates.Add(result); } } litShippingMethods.Text = HtmlRendering.ShippingRatesToRadioButtons(rates, 300, o.ShippingMethodUniqueKey); }
public ActionResult GetRatesAsRadioButtons(FormCollection form) { var result = new ShippingRatesJsonModel(); var country = form["country"] ?? string.Empty; var firstname = form["firstname"] ?? string.Empty; var lastname = form["lastname"] ?? string.Empty; var address = form["address"] ?? string.Empty; var city = form["city"] ?? string.Empty; var state = form["state"] ?? string.Empty; var zip = form["zip"] ?? string.Empty; var orderid = form["orderid"] ?? string.Empty; var order = HccApp.OrderServices.Orders.FindForCurrentStore(orderid); order.ShippingAddress.FirstName = firstname; order.ShippingAddress.LastName = lastname; order.ShippingAddress.Line1 = address; order.ShippingAddress.City = city; order.ShippingAddress.PostalCode = zip; var c = HccApp.GlobalizationServices.Countries.Find(country); if (c != null) { order.ShippingAddress.CountryBvin = country; var region = c.Regions. FirstOrDefault(r => r.Abbreviation == state); if (region != null) { order.ShippingAddress.RegionBvin = region.Abbreviation; } } var rates = HccApp.OrderServices.FindAvailableShippingRates(order); if (rates != null && rates.Count > 0) { var selectedRate = rates. OfType <ShippingRateDisplay>(). FirstOrDefault(r => r.UniqueKey == order.ShippingMethodUniqueKey); if (selectedRate == null) { selectedRate = rates[0]; } HccApp.OrderServices.OrdersRequestShippingMethod(selectedRate, order); } else { order.ClearShippingPricesAndMethod(); } result.rates = HtmlRendering.ShippingRatesToRadioButtons(rates, 300, order.ShippingMethodUniqueKey); HccApp.CalculateOrderAndSave(order); return(new PreJsonResult(Web.Json.ObjectToJson(result))); }
private void LoadShippingMethodsForOrder(Order o) { SortableCollection <ShippingRateDisplay> rates = MTApp.OrderServices.FindAvailableShippingRates(o, MTApp.CurrentStore); string rateKey = o.ShippingMethodUniqueKey; bool rateIsAvailable = false; // See if rate is available if ((rateKey.Length > 0)) { foreach (MerchantTribe.Commerce.Shipping.ShippingRateDisplay r in rates) { if ((r.UniqueKey == rateKey)) { rateIsAvailable = true; MTApp.OrderServices.OrdersRequestShippingMethod(r, o); } } } // if it's not availabe, pick the first one or default if ((rateIsAvailable == false)) { if ((rates.Count > 0)) { MTApp.OrderServices.OrdersRequestShippingMethod(rates[0], o); rateKey = rates[0].UniqueKey; } else { o.ClearShippingPricesAndMethod(); } } ViewBag.ShippingRates = HtmlRendering.ShippingRatesToRadioButtons(rates, 300, o.ShippingMethodUniqueKey); }
private void LoadShippingMethodsForOrder(Order o) { var rates = HccApp.OrderServices.FindAvailableShippingRates(o); var rateKey = o.ShippingMethodUniqueKey; var rateIsAvailable = false; // See if rate is available if (rateKey.Length > 0) { foreach (ShippingRateDisplay r in rates) { if (r.UniqueKey == rateKey) { rateIsAvailable = true; HccApp.OrderServices.OrdersRequestShippingMethod(r, o); } } } // if it's not availabe, pick the first one or default if (rateIsAvailable == false) { if (rates.Count > 0) { HccApp.OrderServices.OrdersRequestShippingMethod(rates[0], o); rateKey = rates[0].UniqueKey; } else { o.ClearShippingPricesAndMethod(); } } ViewBag.ShippingRates = HtmlRendering.ShippingRatesToRadioButtons(rates, 300, o.ShippingMethodUniqueKey); }
public ActionResult GetRatesAsRadioButtons(FormCollection form) { ShippingRatesJsonResponse result = new ShippingRatesJsonResponse(); string country = form["country"] ?? string.Empty; string firstname = form["firstname"] ?? string.Empty; string lastname = form["lastname"] ?? string.Empty; string address = form["address"] ?? string.Empty; string city = form["city"] ?? string.Empty; string state = form["state"] ?? string.Empty; string zip = form["zip"] ?? string.Empty; string orderid = form["orderid"] ?? string.Empty; Order o = MTApp.OrderServices.Orders.FindForCurrentStore(orderid); o.ShippingAddress.FirstName = firstname; o.ShippingAddress.LastName = lastname; o.ShippingAddress.Line1 = address; o.ShippingAddress.City = city; o.ShippingAddress.PostalCode = zip; Country c = Country.FindByBvin(country); if ((c != null)) { o.ShippingAddress.CountryBvin = country; o.ShippingAddress.CountryName = c.DisplayName; foreach (Region r in c.Regions) { if ((r.Abbreviation == state)) { o.ShippingAddress.RegionBvin = r.Abbreviation; o.ShippingAddress.RegionName = r.Name; } } } SortableCollection <ShippingRateDisplay> rates = MTApp.OrderServices.FindAvailableShippingRates(o); string rateKey = o.ShippingMethodUniqueKey; bool rateIsAvailable = false; // See if rate is available if ((rateKey.Length > 0)) { foreach (MerchantTribe.Commerce.Shipping.ShippingRateDisplay r in rates) { if ((r.UniqueKey == rateKey)) { rateIsAvailable = true; MTApp.OrderServices.OrdersRequestShippingMethod(r, o); } } } // if it's not availabe, pick the first one or default if ((rateIsAvailable == false)) { if ((rates.Count > 0)) { MTApp.OrderServices.OrdersRequestShippingMethod(rates[0], o); rateKey = rates[0].UniqueKey; } else { o.ClearShippingPricesAndMethod(); } } result.rates = HtmlRendering.ShippingRatesToRadioButtons(rates, 300, o.ShippingMethodUniqueKey); MTApp.CalculateOrderAndSave(o); SessionManager.SaveOrderCookies(o, MTApp.CurrentStore); result.totalsastable = o.TotalsAsTable(); //System.Threading.Thread.Sleep(500) return(new PreJsonResult(MerchantTribe.Web.Json.ObjectToJson(result))); }