public override string FormatShippingAddress(ShippingAddress_V01 address, DeliveryOptionType type, string description, bool includeName) { if (address == null || address.Address == null) { return(string.Empty); } var formattedAddress = string.Empty; if (type == DeliveryOptionType.Shipping) { formattedAddress = includeName ? string.Format("{0}<br/>{1}<br/>{2} {3}<br/>{4}", address.Recipient ?? string.Empty, address.Address.Line1, address.Address.PostalCode, address.Address.City, formatPhone(address.Phone)) : string.Format("{0}<br/>{1} {2}<br/>{3}", address.Address.Line1, address.Address.PostalCode, address.Address.City, formatPhone(address.Phone)); } else if (type == DeliveryOptionType.Pickup) { formattedAddress = includeName ? string.Format("{0}<br/>{1}<br/>{2} {3}<br/>{4}<br/>{5}", address.Recipient ?? string.Empty, address.Address.Line1, address.Address.PostalCode, address.Address.City, address.Address.CountyDistrict, formatPhone(address.Phone)) : string.Format("{0}<br/>{1} {2}<br/>{3}<br/>{4}", address.Address.Line1, address.Address.PostalCode, address.Address.City, address.Address.CountyDistrict, formatPhone(address.Phone)); } else { formattedAddress = base.FormatShippingAddress(address, type, description, includeName); } return(formattedAddress); }
public override List <DeliveryOption> GetDeliveryOptionsListForPickup(string country, string locale, ShippingAddress_V01 address) { var cacheKey = string.Format("{0}_FreightCodes_{1}", FedexLocationCacheKey, locale); var deliveryOptions = HttpRuntime.Cache[cacheKey] as List <DeliveryOption>; if (deliveryOptions == null) { deliveryOptions = new List <DeliveryOption>(); var proxy = ServiceClientProvider.GetShippingServiceProxy(); var request = new DeliveryOptionForCountryRequest_V01 { Country = country, State = "*", Locale = locale }; try { var response = proxy.GetDeliveryOptions(new GetDeliveryOptionsRequest(request)).GetDeliveryOptionsResult as ShippingAlternativesResponse_V01; if (response != null && response.DeliveryAlternatives.Count > 0) { deliveryOptions.AddRange( response.DeliveryAlternatives.Where(option => option.FreightCode.StartsWith("H")) .Select(option => new DeliveryOption(option))); } if (deliveryOptions.Any()) { HttpRuntime.Cache.Insert(cacheKey, deliveryOptions, null, DateTime.Now.AddMinutes(FedexCacheMinutes), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null); } } catch (Exception ex) { LoggerHelper.Error(string.Format("GetDeliveryOptionsListForPickup error: Country: PR, error: {0}", ex.Message)); } } return(deliveryOptions); }
/// <summary> /// Gets the freight and warehouse codes according address /// </summary> /// <param name="address">The address</param> /// <returns></returns> public override string[] GetFreightCodeAndWarehouse(ShippingAddress_V01 address) { var freightCodeAndWarehouse = new[] { string.Empty, string.Empty }; if (address != null && address.Address != null && !string.IsNullOrEmpty(address.Address.City)) { var cityState = string.Format("{0}|{1}|{2}", address.Address.StateProvinceTerritory, address.Address.City, address.Address.CountyDistrict == null ? string.Empty : address.Address.CountyDistrict); //Looking for WH and Freight code var options = HttpRuntime.Cache[CacheKey] as Dictionary <string, string[]>; if (options == null || !options.ContainsKey(cityState)) { var optionForCity = GetFreightCodeAndWarehouseFromService(cityState); if (options == null) { options = new Dictionary <string, string[]>(); } if (optionForCity != null && !string.IsNullOrEmpty(optionForCity[0]) && !string.IsNullOrEmpty(optionForCity[1])) { options.Add(cityState, optionForCity); } HttpRuntime.Cache.Insert(CacheKey, options, null, DateTime.Now.AddMinutes(HN_DELIVERYINFO_CACHE_MINUTES), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null); } var cityOption = options.FirstOrDefault(o => o.Key == cityState); if (cityOption.Value != null && !string.IsNullOrEmpty(cityOption.Value[1])) { freightCodeAndWarehouse[0] = cityOption.Value[0].Trim(); freightCodeAndWarehouse[1] = cityOption.Value[1].Trim(); } else if (freightCity.Contains(address.Address.City.ToUpper())) { freightCodeAndWarehouse[0] = "HNS"; } return(freightCodeAndWarehouse); } return(freightCodeAndWarehouse); }
private static string[] GetFreightCodeAndWarehouseFromService(ShippingAddress_V01 address) { var proxy = ServiceClientProvider.GetShippingServiceProxy(); var request = new DeliveryOptionForCountryRequest_V01 { Country = "BO", Locale = "es-BO", State = string.Format("{0} - {1} - {2}", address.Address.StateProvinceTerritory, address.Address.City, address.Address.CountyDistrict) }; var response = proxy.GetDeliveryOptions(new GetDeliveryOptionsRequest(request)).GetDeliveryOptionsResult as ShippingAlternativesResponse_V01; var shippingOption = response.DeliveryAlternatives.FirstOrDefault(); if (shippingOption != null) { return(new[] { shippingOption.FreightCode, shippingOption.WarehouseCode }); } return(null); }
public override string FormatShippingAddress(ShippingAddress_V01 address, DeliveryOptionType type, string description, bool includeName) { if (null == address || address.Address == null) { return(string.Empty); } string formattedAddress = string.Empty; if (type == DeliveryOptionType.Shipping) { formattedAddress = includeName ? string.Format("{0}<br>{1}<br>{2}, {3}, {4}<br>{5}<br>{6}", address.Recipient ?? string.Empty, address.Address.Line1, address.Address.CountyDistrict, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode, formatPhone(address.Phone)) : string.Format("{0}<br>{1}, {2}, {3}<br>{4}<br>{5}", address.Address.Line1, address.Address.CountyDistrict, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode, formatPhone(address.Phone)); } else if (type == DeliveryOptionType.PickupFromCourier) { formattedAddress = string.Format("{0}<br/>{1} {2} {3},<br/>{4}, {5} {6} {7}", address.Address.Line1, address.Address.Line2 ?? string.Empty, address.Address.Line3 ?? string.Empty, address.Address.Line4 ?? string.Empty, address.Address.CountyDistrict, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode); do { formattedAddress = formattedAddress.Replace(" ", " "); } while (formattedAddress.IndexOf(" ") > -1); do { formattedAddress = formattedAddress.Replace("<br/> ,<br/>", "<br/>"); } while (formattedAddress.IndexOf("<br/> ,<br/>") > -1); } else { formattedAddress = string.Format("{0}<br>{1}<br>{2}, {3}, {4}, {5}", description, address.Address.Line1, address.Address.CountyDistrict, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode); } return(formattedAddress); }
public override string FormatShippingAddress(ShippingAddress_V01 address, DeliveryOptionType type, string description, bool includeName) { if (null == address || address.Address == null) { return(string.Empty); } string formattedAddress = string.Empty; if (type == DeliveryOptionType.Shipping) { return(includeName ? string.Format("{0}<br>{1},{2}<br>{3}, {4}, {5}<br>{6}", address.Recipient ?? string.Empty, address.Address.Line1, address.Address.Line2 ?? string.Empty, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode, formatPhone(address.Phone)) : string.Format("{0},{1}<br>{2}, {3}, {4}<br>{5}", address.Address.Line1, address.Address.Line2 ?? string.Empty, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode, formatPhone(address.Phone))); } else if (type == DeliveryOptionType.PickupFromCourier) { return(string.Format("{0}<br>{1},{2}<br>{3} {4}", description, address.Address.Line1, address.Address.Line2 ?? string.Empty, address.Address.City, address.Address.PostalCode)); } else { return(string.Format("{0}<br>{1},{2}<br>{3}, {4}, {5}", description, address.Address.Line1, address.Address.Line2 ?? string.Empty, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode)); } }
public virtual string FormatShippingAddress(ShippingAddress_V01 address, DeliveryOptionType type, string description, bool includeName) { if (null == address || address.Address == null) { return(string.Empty); } string formattedAddress = string.Empty; if (type == DeliveryOptionType.Shipping) { formattedAddress = includeName ? string.Format("{0}<br>{1},{2}<br>{3}, {4}, {5}<br>{6}", address.Recipient ?? string.Empty, address.Address.Line1, address.Address.Line2 ?? string.Empty, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode, formatPhone(address.Phone)) : string.Format("{0},{1}<br>{2}, {3}, {4}<br>{5}", address.Address.Line1, address.Address.Line2 ?? string.Empty, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode, formatPhone(address.Phone)); } else { formattedAddress = string.Format("{0}<br>{1},{2}<br>{3}, {4}, {5}", description, address.Address.Line1, address.Address.Line2 ?? string.Empty, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode); } if (formattedAddress.IndexOf(",,") > -1 || formattedAddress.IndexOf(", ,") > -1) { return(formattedAddress.Replace(",,,", ",").Replace(", , ,", ",").Replace(",,", ",").Replace(", ,", ",")); } else { return(formattedAddress); } }
public override string[] GetFreightCodeAndWarehouse(ShippingAddress_V01 address) { var freightCodeAndWarehouse = new[] { HLConfigManager.Configurations.ShoppingCartConfiguration.DefaultFreightCode, HLConfigManager.Configurations.ShoppingCartConfiguration.DefaultWarehouse }; if (address != null && address.Address != null && !string.IsNullOrEmpty(address.Address.City)) { var options = HttpRuntime.Cache[CacheKey] as Dictionary <string, string[]>; if (options == null || !options.ContainsKey(address.Address.City)) { var optionForCity = GetFreightCodeAndWarehouseFromService(address); if (options == null) { options = new Dictionary <string, string[]>(); } if (optionForCity != null && !string.IsNullOrEmpty(optionForCity[0]) && !string.IsNullOrEmpty(optionForCity[1])) { options.Add(address.Address.City, optionForCity); } HttpRuntime.Cache.Insert(CacheKey, options, null, DateTime.Now.AddMinutes(VN_DELIVERYINFO_CACHE_MINUTES), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null); } var cityOption = options.FirstOrDefault(o => o.Key == address.Address.City); if (cityOption.Value != null && !string.IsNullOrEmpty(cityOption.Value[1])) { freightCodeAndWarehouse[0] = cityOption.Value[0]; freightCodeAndWarehouse[1] = cityOption.Value[1]; } return(freightCodeAndWarehouse); } return(freightCodeAndWarehouse); }
public override string FormatShippingAddress(ShippingAddress_V01 address, DeliveryOptionType type, string description, bool includeName) { if (null == address || address.Address == null) { return(string.Empty); } if (type == DeliveryOptionType.Shipping) { return(includeName ? string.Format("{0}<br>{1}, {2} {3} {4}", address.Recipient ?? string.Empty, address.Address.PostalCode, address.Address.City, address.Address.Line1, address.Address.Line2) : string.Format("{0}, {1} {2} {3}", address.Address.PostalCode, address.Address.City, address.Address.Line1, address.Address.Line2)); } return(string.Empty); }
public static AddressViewModel ConvertShippingAddressToAddressViewModel(ShippingAddress_V01 shippingAddress) { var address = new AddressViewModel { CloudId = Guid.Empty, StateProvinceTerritory = shippingAddress.Address.StateProvinceTerritory, City = shippingAddress.Address.City, Country = shippingAddress.Address.Country, CountyDistrict = shippingAddress.Address.CountyDistrict, IsPrimary = shippingAddress.IsPrimary, LastUpdatedDate = shippingAddress.Created, Line1 = shippingAddress.Address.Line1, Line2 = shippingAddress.Address.Line2, Line3 = shippingAddress.Address.Line3, Line4 = shippingAddress.Address.Line4, NickName = shippingAddress.Alias, PersonCloudId = string.Empty, PostalCode = shippingAddress.Address.PostalCode, }; return(address); }
public override string GetDifferentHtmlFragment(string freightcode, ShippingAddress_V01 address) { string option = freightcode != null?freightcode.Trim() : freightcode; string[] FCandWh = GetFreightCodeAndWarehouseFromService(address); if (FCandWh != null) { if (FCandWh[0] == freightcode) { return(string.Empty); } else { return("NoExpressDelivery.html"); } } else { return(string.Empty); } }
public override string[] GetFreightCodeAndWarehouse(ShippingAddress_V01 address) { var freightCodeAndWarehouse = new[] { HLConfigManager.Configurations.ShoppingCartConfiguration.DefaultFreightCode, HLConfigManager.Configurations.ShoppingCartConfiguration.DefaultWarehouse }; if (address != null && address.Address != null && !string.IsNullOrEmpty(address.Address.StateProvinceTerritory)) { var freightCodesAndWarehouses = HttpRuntime.Cache[cacheKey] as Dictionary <string, string[]>; if (freightCodesAndWarehouses != null && freightCodesAndWarehouses.Count > 0 && freightCodesAndWarehouses.ContainsKey(address.Address.StateProvinceTerritory)) { var stored = freightCodesAndWarehouses.FirstOrDefault(i => i.Key == address.Address.StateProvinceTerritory); freightCodeAndWarehouse[0] = stored.Value[0]; freightCodeAndWarehouse[1] = stored.Value[1]; } else { var freightCodeAndWarehouseFromService = GetFreightCodeAndWarehouseFromService(address.Address.StateProvinceTerritory); if (freightCodeAndWarehouseFromService != null) { freightCodeAndWarehouse[0] = freightCodeAndWarehouseFromService[0] ?? freightCodeAndWarehouse[0]; freightCodeAndWarehouse[1] = freightCodeAndWarehouseFromService[1] ?? freightCodeAndWarehouse[1]; } else { if (freightCodesAndWarehouses == null) { freightCodesAndWarehouses = new Dictionary <string, string[]>(); } freightCodesAndWarehouses.Add(address.Address.StateProvinceTerritory, freightCodeAndWarehouse); } } } return(freightCodeAndWarehouse); }
public override List <DeliveryOption> GetDeliveryOptionsListForShipping(string country, string locale, ShippingAddress_V01 address) { var proxy = ServiceClientProvider.GetShippingServiceProxy(); var request = new DeliveryOptionForCountryRequest_V01(); request.Country = country; request.State = string.Empty; request.Locale = locale; var response = proxy.GetDeliveryOptions(new GetDeliveryOptionsRequest(request)).GetDeliveryOptionsResult as ShippingAlternativesResponse_V01; var final = new List <DeliveryOption>(); foreach (ShippingOption_V01 option in response.DeliveryAlternatives) { var newOption = new DeliveryOption(option); newOption.Name = newOption.Description; final.Add(newOption); } return(final); }
public override string FormatShippingAddress(ShippingAddress_V01 address, DeliveryOptionType type, string description, bool includeName) { if (null == address || null == address.Address) { return(string.Empty); } if (type == DeliveryOptionType.Shipping) { return(includeName ? string.Format("{0}<br/>{1}<br/>{2}, {3} {4}", address.Recipient ?? string.Empty, address.Address.Line1, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode) : string.Format("{0}<br/>{1}, {2} {3}", address.Address.Line1, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode)); } else if (type == DeliveryOptionType.PickupFromCourier) { string message = HttpContext.GetGlobalResourceObject("MYHL_Rules", "ViewMap").ToString(); string gAddress = string.Format("{0}+{1}+{2}+{3}", address.Address.Line1.Replace(" ", "+"), address.Address.City.Replace(" ", "+"), address.Address.StateProvinceTerritory.Replace(" ", "+"), address.Address.PostalCode.Replace(" ", "+")); return(string.Format("{0}<br/>{1}, {2} {3}<br/> <a href='http://maps.google.com/?q={4}' target='_blank'>{5}</a>", address.Address.Line1, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode, gAddress, message)); } else { return(string.Format("{0}<br/>{1}<br/>{2}, {3} {4}", description, address.Address.Line1, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode)); } }
public override List <DeliveryOption> GetDeliveryOptionsListForShipping(string Country, string locale, ShippingAddress_V01 address) { var final = new List <DeliveryOption>(); //HOME DELIVERY var HomeDeliveryOption = new DeliveryOption(); var FreightCodeAndWarehouse = GetFreightCodeAndWarehouse(address); HomeDeliveryOption.FreightCode = FreightCodeAndWarehouse[0].ToString(); HomeDeliveryOption.Description = (string)HttpContext.GetGlobalResourceObject(string.Format("{0}_GlobalResources", HLConfigManager.Platform), "HomeDeliveryOption") ?? ""; final.Add(HomeDeliveryOption); //PUDO (PICKUP) var PudoDeliveryOptions = getDeliveryOptionsForShipping(Country, address, locale); if (PudoDeliveryOptions != null && PudoDeliveryOptions.Count > 0) { final.AddRange(PudoDeliveryOptions); } return(final); }
public override List <DeliveryOption> GetDeliveryOptionsListForShipping(string Country, string locale, ShippingAddress_V01 address) { try { var final = new List <DeliveryOption>(); if (string.IsNullOrEmpty(Country) || string.IsNullOrEmpty(locale) || null == address || string.IsNullOrEmpty(address.Address.PostalCode)) { return(final); } final = GetDeliveryOptionsFromCache(Country, locale, address); //final = ConvertShippingAlternativetoDeliveryOption(response); return(final); } catch { return(null); } }
public override string FormatShippingAddress(ShippingAddress_V01 address, DeliveryOptionType type, string description, bool includeName) { if (null == address || address.Address == null) { return(string.Empty); } string formattedAddress = string.Empty; string stateName = GetStateNameFromStateCode(address.Address.StateProvinceTerritory); if (type == DeliveryOptionType.Shipping) { formattedAddress = includeName ? string.Format("{0}<br>{1}<br>{2}{3}, {4}<br>{5}<br>{6}", address.Recipient ?? string.Empty, address.Address.Line1, string.IsNullOrEmpty(address.Address.CountyDistrict) ? string.Empty : string.Format("{0}, ", address.Address.CountyDistrict), address.Address.City, stateName, address.Address.PostalCode, formatPhone(address.Phone)) : string.Format("{0}<br>{1}{2}, {3}<br>{4}<br>{5}", address.Address.Line1, string.IsNullOrEmpty(address.Address.CountyDistrict) ? string.Empty : string.Format("{0}, ", address.Address.CountyDistrict), address.Address.City, stateName, address.Address.PostalCode, formatPhone(address.Phone)); } else { formattedAddress = string.Format("{0}<br>{1}<br>{2}{3}, {4}<br>{5}", description, address.Address.Line1, string.IsNullOrEmpty(address.Address.CountyDistrict) ? string.Empty : string.Format("{0}, ", address.Address.CountyDistrict), address.Address.City, stateName, address.Address.PostalCode); } return(formattedAddress); }
private static string[] GetFreightCodeAndWarehouseFromService(ShippingAddress_V01 address) { using (var proxy = ServiceClientProvider.GetShippingServiceProxy()) { try { string state = string.IsNullOrWhiteSpace(address.Address.CountyDistrict) ? string.Format("{0}|{1}", address.Address.StateProvinceTerritory, address.Address.City) : string.Format("{0}|{1}|{2}", address.Address.StateProvinceTerritory, address.Address.City, address.Address.CountyDistrict); var request = new DeliveryOptionForCountryRequest_V01 { Country = "CO", State = state, Locale = "es-CO" }; var response = proxy.GetDeliveryOptions(new GetDeliveryOptionsRequest(request)).GetDeliveryOptionsResult as ShippingAlternativesResponse_V01; if (response != null && response.DeliveryAlternatives != null && response.DeliveryAlternatives.Count > 0) { var shippingOption = response.DeliveryAlternatives.FirstOrDefault(o => o.IsDefault) != null?response.DeliveryAlternatives.FirstOrDefault(o => o.IsDefault) : response.DeliveryAlternatives.FirstOrDefault(); if (shippingOption != null) { return(new[] { shippingOption.FreightCode, shippingOption.WarehouseCode }); } } } catch (Exception ex) { LoggerHelper.Error(string.Format("GetFreightCodeAndWarehouseFromService error: Country: CO, error: {0}", ex.ToString())); } } return(null); }
public override List <DeliveryOption> GetDeliveryOptionsListForShipping(string Country, string locale, ShippingAddress_V01 address) { var final = new List <DeliveryOption>(); var optionForCity = GetDeliveryOptionsListForShippingFromService(address); if (optionForCity == null) { var stdOption = new DeliveryOption { FreightCode = HLConfigManager.Configurations.ShoppingCartConfiguration.DefaultFreightCode, WarehouseCode = HLConfigManager.Configurations.ShoppingCartConfiguration.DefaultWarehouse, Description = "Su pedido será enviado con el Servicio de Entrega Regular" }; final.Add(stdOption); } else { final.Add(optionForCity); } return(final); }
public override Address_V01 GetHFFDefaultAddress(ShippingAddress_V01 address) { var member = (MembershipUser <DistributorProfileModel>)Membership.GetUser(); string distributorId = (member != null) ? member.Value.Id : ""; Address_V01 hffAddress = new Address_V01(); if (!string.IsNullOrEmpty(distributorId)) { if (IsMemberTaxRegistered(distributorId)) { hffAddress = ObjectMappingHelper.Instance.GetToShipping(DistributorOrderingProfileProvider.GetAddress(ServiceProvider.OrderSvc.AddressType.PermanentLegalLocal, distributorId, "GR")); } else { hffAddress = ObjectMappingHelper.Instance.GetToShipping(DistributorOrderingProfileProvider.GetAddress(ServiceProvider.OrderSvc.AddressType.MailingLocal, distributorId, "GR")); } } else //if unable to retrieve DistributorId, do the default process { if (address != null && address.Address != null) { hffAddress = new Address_V01 { Country = address.Address.Country, StateProvinceTerritory = address.Address.StateProvinceTerritory, City = address.Address.City, Line1 = address.Address.Line1, PostalCode = address.Address.PostalCode, }; } hffAddress = base.GetHFFDefaultAddress(address); } return(hffAddress); }
public override string FormatShippingAddress(ShippingAddress_V01 address, DeliveryOptionType type, string description, bool includeName) { string formattedAddress; if (type == DeliveryOptionType.PickupFromCourier) { formattedAddress = includeName ? string.Format("{0}<br>{1},{2}<br>{3}, {4}, {5}<br>{6}", address.Address.Line4 ?? string.Empty, address.Address.Line2, address.Address.Line1 ?? string.Empty, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode, formatPhone(address.Phone)) : string.Format("{0},{1}<br>{2}, {3}, {4}<br>{5}", address.Address.Line2, address.Address.Line1 ?? string.Empty, address.Address.City, address.Address.StateProvinceTerritory, address.Address.PostalCode, formatPhone(address.Phone)); return(formattedAddress); } else { return(base.FormatShippingAddress(address, type, description, includeName)); } }
public ShippingInfo(DeliveryOption deliveryOption, ShippingAddress_V01 shippingAddress) { if (deliveryOption != null) { Id = deliveryOption.Id; Option = deliveryOption.Option; FreightCode = deliveryOption.FreightCode; WarehouseCode = deliveryOption.WarehouseCode; Description = deliveryOption.Description; Name = deliveryOption.Name; ShippingIntervalDays = deliveryOption.ShippingIntervalDays; } if (shippingAddress != null) { Address = CopyAddress(shippingAddress); } if (deliveryOption != null) { this.AdditionalInformation = deliveryOption.Information; } }
/// <summary> /// Get the freight and warehouse code for the address. /// </summary> /// <param name="address">Address.</param> /// <returns></returns> public override string[] GetFreightCodeAndWarehouse(ShippingAddress_V01 address) { var freightCodeAndWarehouse = new[] { HLConfigManager.Configurations.ShoppingCartConfiguration.DefaultFreightCode, HLConfigManager.Configurations.ShoppingCartConfiguration.DefaultWarehouse }; if (null != address && null != address.Address) { string state = address.Address.StateProvinceTerritory; if (!string.IsNullOrEmpty(state)) { var freightCodeAndWarehouseFromService = GetFreightCodeAndWarehouseFromService(address); if (freightCodeAndWarehouseFromService != null) { freightCodeAndWarehouse[0] = freightCodeAndWarehouseFromService[0] ?? freightCodeAndWarehouse[0]; freightCodeAndWarehouse[1] = freightCodeAndWarehouseFromService[1] ?? freightCodeAndWarehouse[1]; } } } return(freightCodeAndWarehouse); }
public override string FormatShippingAddress(ShippingAddress_V01 address, DeliveryOptionType type, string description, bool includeName) { if (null == address || address.Address == null) { return(string.Empty); } string formattedAddress = string.Empty; if (type == DeliveryOptionType.Shipping) { formattedAddress = includeName ? string.Format("{0}<br/>{1} {2}<br/>{3} {4}<br/>{5}", address.Recipient ?? string.Empty, address.Address.Line1, address.Address.Line2 ?? string.Empty, address.Address.PostalCode, address.Address.City, formatPhone(address.Phone)) : string.Format("{0} {1}<br/>{2} {3}<br/>{4}", address.Address.Line1, address.Address.Line2 ?? string.Empty, address.Address.PostalCode, address.Address.City, formatPhone(address.Phone)); } else { formattedAddress = string.Format("{0}<br/>{1} {2}<br/>{3} {4}<br/>{5}", description, address.Address.Line1, address.Address.Line2 ?? string.Empty, address.Address.PostalCode, address.Address.City, address.Address.StateProvinceTerritory); } while (formattedAddress.IndexOf(" ") > -1) { formattedAddress = formattedAddress.Replace(" ", " "); } return(formattedAddress); }
private static List <DeliveryOption> GetDeliveryPickupAlternativesFromCache(ShippingAddress_V01 address) { var deliveryOptions = new List <DeliveryOption>(); var cacheKey = Get7ElevenCacheKey(); var locations = HttpRuntime.Cache[cacheKey] as Dictionary <string, List <DeliveryOption> >; var member = (MembershipUser <DistributorProfileModel>)Membership.GetUser(); if (member == null || member.Value == null) { return(deliveryOptions); } var distributorId = member.Value.Id; if (locations == null || !locations.ContainsKey(distributorId)) { if (locations == null) { locations = new Dictionary <string, List <DeliveryOption> >(); } var proxy = ServiceClientProvider.GetShippingServiceProxy(); try { var pickupAlternativesResponse = proxy.GetDeliveryPickupAlternatives(new GetDeliveryPickupAlternativesRequest(new DeliveryPickupAlternativesRequest_V05() { CountryCode = "TH", DistributorId = distributorId })).GetDeliveryPickupAlternativesResult as DeliveryPickupAlternativesResponse_V05; if (pickupAlternativesResponse != null && pickupAlternativesResponse.DeliveryPickupAlternatives != null) { deliveryOptions.AddRange(from po in pickupAlternativesResponse.DeliveryPickupAlternatives select new DeliveryOption(po, true)); deliveryOptions.ForEach(po => { po.DisplayName = string.Format("{0} #{1}", SevenElevenNickName, po.CourierStoreId); po.Description = po.Name; }); } if (deliveryOptions.Any()) { locations.Add(distributorId, deliveryOptions); HttpRuntime.Cache.Insert(cacheKey, locations, null, DateTime.Now.AddMinutes(SevenElevenCacheMinutes), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null); } } catch (Exception ex) { LoggerHelper.Error( string.Format("GetDeliveryPickupAlternativesFromCache error: Country: TH, error: {0}", ex.Message)); } } if (locations.ContainsKey(distributorId)) { var locList = locations.FirstOrDefault(l => l.Key == distributorId); deliveryOptions = locList.Value; } return(deliveryOptions); }
public override List <DeliveryOption> GetDeliveryOptions(DeliveryOptionType type, ShippingAddress_V01 address) { if (type == DeliveryOptionType.PickupFromCourier) { return(GetDeliveryPickupAlternativesFromCache(address)); } return(base.GetDeliveryOptions(type, address)); }
private static List <DeliveryOption> GetDeliveryOptionsFromCache(string locale, ShippingAddress_V01 address) { var deliveryOptions = HttpRuntime.Cache[PUPCacheKey] as List <DeliveryOption>; if (deliveryOptions == null) { deliveryOptions = GetDeliveryOptionsFromService(locale); SaveDeliveryOptionsToCache(deliveryOptions); } if (deliveryOptions == null) { return(null); } return(deliveryOptions.OrderBy(d => d.DisplayName).ToList()); }
private static List <ShippingOption_V01> GetDeliveryOptionsFromService(string Country, string locale, ShippingAddress_V01 address) { var final = new List <DeliveryOption>(); var proxy = ServiceClientProvider.GetShippingServiceProxy(); var request = new DeliveryOptionForCountryRequest_V01(); request.Country = Country; request.State = string.IsNullOrWhiteSpace(address.Address.CountyDistrict) ? string.Format("{0}|{1}", address.Address.StateProvinceTerritory, address.Address.City) : string.Format("{0}|{1}|{2}", address.Address.StateProvinceTerritory, address.Address.City, address.Address.CountyDistrict); request.Locale = locale; var response = proxy.GetDeliveryOptions(new GetDeliveryOptionsRequest(request)).GetDeliveryOptionsResult as ShippingAlternativesResponse_V01; return(response.DeliveryAlternatives); }
public override List <DeliveryOption> GetDeliveryOptions(DeliveryOptionType type, ShippingAddress_V01 address) { if (type == DeliveryOptionType.PickupFromCourier) { if (address != null && address.Address != null && !string.IsNullOrEmpty(address.Address.StateProvinceTerritory)) { HttpRuntime.Cache.Remove(PUPCacheKey); } return(GetDeliveryOptionsFromCache(System.Threading.Thread.CurrentThread.CurrentCulture.Name, address)); } return(base.GetDeliveryOptions(type, address)); }
public override string FormatShippingAddress(ShippingAddress_V01 address, DeliveryOptionType type, string description, bool includeName) { if (null == address || address.Address == null) { return(string.Empty); } string formattedAddress = string.Empty; if (type == DeliveryOptionType.Shipping) { address.Address.Line4 = address.Recipient; formattedAddress = includeName ? string.Format("{0}<br>{1}{2}<br>{3}, {4}, {5}<br>{6}", address.Recipient ?? string.Empty, address.Address.Line1, string.IsNullOrEmpty(address.Address.Line2) ? string.Empty : string.Format(",{0}", address.Address.Line2), address.Address.City, address.Address.StateProvinceTerritory, string.IsNullOrEmpty(address.Address.CountyDistrict) ? string.Empty : string.Format("{0}", address.Address.CountyDistrict), //string.IsNullOrEmpty(address.Address.PostalCode) // ? string.Empty // : string.Format("{0}<br>", address.Address.PostalCode), formatPhone(address.Phone)) : string.Format("{0}{1}<br>{2}, {3}, {4}<br>{5}", address.Address.Line1, string.IsNullOrEmpty(address.Address.Line2) ? string.Empty : string.Format(",{0}", address.Address.Line2), address.Address.City, address.Address.StateProvinceTerritory, string.IsNullOrEmpty(address.Address.CountyDistrict) ? string.Empty : string.Format("{0}", address.Address.CountyDistrict), formatPhone(address.Phone)); } else if (type == DeliveryOptionType.PickupFromCourier) { formattedAddress = includeName ? string.Format("{0}<br>{1},{2}<br>{3}, {4}, {5}<br>{6}", address.Address.Line4 ?? string.Empty, address.Address.Line2, address.Address.Line1 ?? string.Empty, address.Address.City, address.Address.StateProvinceTerritory, address.Address.CountyDistrict, formatPhone(address.Phone)) : string.Format("{0},{1}<br>{2}, {3}, {4}<br>{5}", address.Address.Line2, address.Address.Line1 ?? string.Empty, address.Address.City, address.Address.StateProvinceTerritory, address.Address.CountyDistrict, formatPhone(address.Phone)); } else { formattedAddress = string.Format("{0}<br>{1}{2}<br>{3},{4}, {5}", description, address.Address.Line1, string.IsNullOrEmpty(address.Address.Line2) ? string.Empty : string.Format(",{0}", address.Address.Line2), address.Address.City, address.Address.StateProvinceTerritory, address.Address.CountyDistrict); } return(formattedAddress); }