public override List <PickupLocationPreference_V01> GetPickupLocationsPreferences(string distributorId, string country, string locale, DeliveryOptionType deliveryType) { var pickupLocations = base.GetPickupLocationsPreferences(distributorId, country); List <PickupLocationPreference_V01> pickupLocationPreferencestoRemove = new List <PickupLocationPreference_V01>(); // Verify the alias for the locations to generate a display name if needed foreach (var location in pickupLocations) { var shippingInfo = this.GetShippingInfoFromID(distributorId, locale, deliveryType, location.ID, 0); if (shippingInfo != null) { if (string.IsNullOrEmpty(location.PickupLocationNickname)) { var address = new ShippingAddress_V02(shippingInfo.Address.ID, shippingInfo.Description, string.Empty, string.Empty, string.Empty, shippingInfo.Address.Address, string.Empty, string.Empty, shippingInfo.Address.IsPrimary, shippingInfo.Address.Alias, DateTime.Now); location.PickupLocationNickname = this.GetAddressDisplayName(address); } } else { pickupLocationPreferencestoRemove.Add(location); } } //removing the not existing locations in PUDO if (pickupLocationPreferencestoRemove.Count > 0) { foreach (var item in pickupLocationPreferencestoRemove) { DeletePickupLocationsPreferences(item.DistributorID, item.PickupLocationID, item.Country); } } return(pickupLocations); }
public override object CreateAddressFromControl(string typeName) { object dataContext = DataContext; var shipping = new ShippingAddress_V02(); if (dataContext != null) { shipping = (ShippingAddress_V02)dataContext; } var shippingAddress = new Address_V01(); shippingAddress.Line1 = string.Concat(txtStreet.Text, " ", txtStreet2.Text).Trim(); shippingAddress.Line2 = txtNeighborhood.Text; shippingAddress.Line3 = StreetNumber; shippingAddress.Line4 = string.Concat(txtStreet.Text, "%%%", txtStreet2.Text); shippingAddress.City = City; shippingAddress.CountyDistrict = County ?? string.Empty; shippingAddress.StateProvinceTerritory = StateProvince; shippingAddress.PostalCode = ZipCode; shipping.Address = shippingAddress; shipping.Phone = PhoneNumber; shipping.AreaCode = AreaCode; shipping.Recipient = Recipient; return(_shippingAddr = shipping); }
public virtual object CreateAddressFromControl(string typeName) { object dataContext = DataContext; var shipping = new ShippingAddress_V02(); if (dataContext != null) { shipping = (ShippingAddress_V02)dataContext; } var shippingAddress = new Address_V01(); shippingAddress.Line1 = StreetAddress ?? string.Empty; shippingAddress.Line2 = StreetAddress2 ?? string.Empty; shippingAddress.Line3 = StreetAddress3 ?? string.Empty; shippingAddress.Line4 = StreetAddress4 ?? string.Empty; shippingAddress.City = City; shippingAddress.CountyDistrict = County ?? string.Empty; shippingAddress.StateProvinceTerritory = StateProvince; shippingAddress.PostalCode = ZipCode; shipping.Address = shippingAddress; shipping.Phone = PhoneNumber; shipping.AltAreaCode = Extension ?? string.Empty; shipping.AreaCode = AreaCode ?? string.Empty; shipping.Recipient = Recipient; return(_shippingAddr = shipping); }
protected virtual void shippingAddressChanged(ShippingAddress_V02 shippingAddress) { try { var deliveryOption = Session["OQVOldaddress"] as DeliveryOption; if (deliveryOption != null) { if (shippingAddress != null) { if (ShoppingCart.DeliveryInfo != null) { DeliveryOption NewDeliveryOption = GetDeliveryOptionIDFromShippingAddress(shippingAddress.ID, DeliveryOptionType .Shipping); //bug fix Bug 226409 because GetDeliveryOptionIDFromShippingAddress can return null need to put null validation if (NewDeliveryOption != null) { updateShippingInfo(shippingAddress.ID, NewDeliveryOption.Id, DeliveryOptionType.Shipping); } } } } reload(); } catch (Exception ex) { LoggerHelper.Error(string.Format("Error in shippingAddressChanged: shippingAddress {0},error:{1}", (shippingAddress == null)?"null":shippingAddress.ID.ToString(), ex)); } }
public static ShippingAddress_V02 ConvertAddressViewModelToShippingAddress(AddressViewModel addressViewModel) { var address = new ShippingAddress_V02 { Address = new Address_V01 { City = addressViewModel.City, Country = addressViewModel.Country, CountyDistrict = addressViewModel.CountyDistrict, Line1 = addressViewModel.Line1, Line2 = addressViewModel.Line2, Line3 = addressViewModel.Line3, Line4 = addressViewModel.Line4, PostalCode = addressViewModel.PostalCode, StateProvinceTerritory = addressViewModel.StateProvinceTerritory }, AddressId = addressViewModel.CloudId, Phone = string.Empty, //addressViewModel.Phone, Recipient = string.Empty, //addressViewModel.Recipient, CustomerId = addressViewModel.PersonCloudId, Alias = addressViewModel.NickName }; address.IsPrimary = addressViewModel.IsPrimary; return(address); }
public ShippingAddressEventArgs(string distributorId, ShippingAddress_V02 shippingAddress, bool showTypeSelection, bool disableSaveAddressCheckbox) { DistributorId = distributorId; ShippingAddress = shippingAddress; ShowTypeSelection = showTypeSelection; DisableSaveAddressCheckbox = disableSaveAddressCheckbox; }
private void FetchPickupLocations() { ShippingAddress_V02 address = new ShippingAddress_V02(); Address_V01 addressV01 = new Address_V01(); addressV01.Country = (this.Page as ProductsBase).CountryCode; address.Address = addressV01; PickupLocations = (this.Page as ProductsBase). GetShippingProvider().GetDeliveryOptions(DeliveryOptionType.Pickup, address); }
private void PopulatePickupInfoDataList() { Providers.Interfaces.IShippingProvider provider = null; if (Thread.CurrentThread.CurrentCulture.Name == "es-MX") { provider = ProductsBase.GetShippingProvider() as ShippingProvider_MX; } else if (Thread.CurrentThread.CurrentCulture.Name == "es-AR") { provider = ProductsBase.GetShippingProvider() as ShippingProvider_AR; } if (provider != null) { var shippingAddress = new ShippingAddress_V02(); var address = new Address_V01(); address.PostalCode = ViewState["PostalCode"].ToString(); shippingAddress.Address = address; List <DeliveryOption> pickupOptions = provider.GetDeliveryOptions(DeliveryOptionType.Pickup, shippingAddress); if (pickupOptions != null) { divLocations.Visible = true; dlPickupInfo.DataSource = ( from o in pickupOptions orderby o.Description select new { ID = o.Id, IsPickup = true, Description = new Func <string>(() => { GetImage(o.Description.ToUpper()); return(o.Description.ToUpper().ToString()); })(), BranchName = o.Name, o.FreightCode, Warehouse = o.WarehouseCode, o.Address } ); dlPickupInfo.DataBind(); } if (pickupOptions.Count.Equals(0)) { divLocations.Visible = false; } } }
public override bool ValidateAddress(ShippingAddress_V02 address) { if (!string.IsNullOrEmpty(address.Address.Line1)) { var line1 = address.Address.Line1; // P O Box restriction Formats : postbus,pobox,postofficebox,p.o.box,pb,PB if (Regex.IsMatch(line1, @"(.*?(?i)(\bpb\b)[^$]*)|(.*?(?i)(\bpostbus\b)[^$]*)|(.*?(?i)(\bpobox\b)[^$]*)|(.*?(?i)(\bpostofficebox\b)[^$]*)|(.*?(?i)(\bp.o.box\b)[^$]*)|(.*?(?i)(\bpostb\b)[^$]*)")) { return(false); } } return(true); }
private void PopulatePickupInfoDataList() { var provider = ProductsBase.GetShippingProvider() as ShippingProvider_PT; if (provider != null) { var shippingAddress = new ShippingAddress_V02 { Address = new Address_V01 { Country = "PT", StateProvinceTerritory = dnlRegion.Text } }; var pickupOptions = provider.GetDeliveryOptions(DeliveryOptionType.PickupFromCourier, shippingAddress); if (pickupOptions != null) { divLocations.Visible = true; dlPickupInfo.DataSource = ( from o in pickupOptions where o.State == dnlRegion.Text select new { ID = o.Id, IsPickup = true, IsWaldos = false, BranchName = o.Description, o.FreightCode, Warehouse = o.WarehouseCode, o.Address, o.Information } ); dlPickupInfo.DataBind(); } if (pickupOptions.Count.Equals(0)) { divLocations.Visible = false; } } }
private bool IsAddressNotChanged(ShippingAddress_V02 oldAddr, ShippingAddress_V02 newAddr) { if (oldAddr.Recipient == newAddr.Recipient && oldAddr.FirstName == newAddr.FirstName && oldAddr.MiddleName == newAddr.MiddleName && oldAddr.LastName == newAddr.LastName && oldAddr.Phone == newAddr.Phone && oldAddr.Address.Line1 == newAddr.Address.Line1 && oldAddr.Address.Line2 == newAddr.Address.Line2 && oldAddr.Address.Line3 == newAddr.Address.Line3 && oldAddr.Address.City == newAddr.Address.City && oldAddr.Address.PostalCode == newAddr.Address.PostalCode && oldAddr.Address.CountyDistrict == newAddr.Address.CountyDistrict && oldAddr.Address.StateProvinceTerritory == newAddr.Address.StateProvinceTerritory) { return(true); } return(false); }
/// <summary> /// Gets the pickup offices preferences for distributor. /// </summary> /// <param name="distributorId">The distributor Id.</param> /// <param name="country">The country code.</param> /// <param name="locale">The locale.</param> /// <param name="deliveryType">The delivery type option.</param> /// <returns>List of preferences for postal offices.</returns> public override List <PickupLocationPreference_V01> GetPickupLocationsPreferences(string distributorId, string country, string locale, DeliveryOptionType deliveryType) { var pickupLocations = base.GetPickupLocationsPreferences(distributorId, country); // Verify the alias for the locations to generate a display name if needed foreach (var location in pickupLocations) { if (string.IsNullOrEmpty(location.PickupLocationNickname)) { var shippingInfo = this.GetShippingInfoFromID(distributorId, locale, deliveryType, location.ID, 0); var address = new ShippingAddress_V02() { ID = shippingInfo.Address.ID, Recipient = shippingInfo.Description, FirstName = string.Empty, LastName = string.Empty, MiddleName = string.Empty, Address = shippingInfo.Address.Address, Phone = string.Empty, AltPhone = string.Empty, IsPrimary = shippingInfo.Address.IsPrimary, Alias = shippingInfo.Address.Alias, Created = DateTime.Now }; location.PickupLocationNickname = this.GetAddressDisplayName(address); } } return(pickupLocations); }
public MyHLShoppingCart StandAloneAddressForDonation(MyHLShoppingCart myShoppingCart) { ShippingAddress_V02 shippingAddress = new ShippingAddress_V02(); shippingAddress.Address = CreateDefaultAddress(); shippingAddress.ID = -4; DeliveryOption deliveryOption = new DeliveryOption(); shippingAddress.ID = -4; ShippingInfo shippingInfo = new ShippingInfo(deliveryOption, shippingAddress); shippingInfo.WarehouseCode = "888"; shippingInfo.FreightCode = "3"; shippingInfo.AddressType = "EXP"; myShoppingCart.DeliveryInfo = shippingInfo; myShoppingCart.DeliveryInfo.Option = DeliveryOptionType.Shipping; myShoppingCart.DeliveryInfo.Address.Phone = "21-61033719"; myShoppingCart.DeliveryInfo.Address.Recipient = "Test Recipient"; return(myShoppingCart); }
public override string GetAddressDisplayName(ShippingAddress_V02 address) { if ((address.Alias != null) && (address.Alias != string.Empty)) { return(address.Alias); } else { if (!String.IsNullOrEmpty(address.FirstName) && !String.IsNullOrEmpty(address.LastName)) { return(string.Format("{0},{1},{2},{3},{4}", address.FirstName, address.LastName, address.Address.Line1, address.Address.City, address.Address.StateProvinceTerritory)); } else { return(string.Format("{0},{1},{2},{3}", address.Recipient, address.Address.Line1, address.Address.City, address.Address.StateProvinceTerritory)); } } }
private void CopyAddress(ShippingAddress_V02 address) { this.Address = address.Address; this.Alias = address.Alias; this.AltAreaCode = address.AltAreaCode; this.AltPhone = address.AltPhone; this.AreaCode = address.AreaCode; this.Phone = address.Phone; this.Attention = address.Attention; this.Created = address.Created; this.DisplayName = address.DisplayName; this.IsPrimary = address.IsPrimary; this.Recipient = address.Recipient; this.ID = address.ID; this.FirstName = address.FirstName; this.LastName = address.LastName; this.MiddleName = address.MiddleName; this.AddressId = address.AddressId; this.CustomerId = address.CustomerId; this.HasAddressRestriction = address.HasAddressRestriction; }
public static AddressViewModel ConvertShippingAddressToAddressViewModel(ShippingAddress_V02 shippingAddress) { var address = new AddressViewModel { CloudId = shippingAddress.AddressId, 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 = shippingAddress.CustomerId, PostalCode = shippingAddress.Address.PostalCode, }; return(address); }
public override List <PickupLocationPreference_V01> GetPickupLocationsPreferences( string distributorId, string country, string locale, DeliveryOptionType deliveryType) { var pickupLocations = base.GetPickupLocationsPreferences(distributorId, country); // Verify the alias for the locations to generate a display name if needed // and check if the location exists foreach (var location in pickupLocations) { // Verify if the location exists var shippingInfo = this.GetShippingInfoFromID(distributorId, locale, deliveryType, location.ID, 0); if (shippingInfo == null) { location.PickupLocationNickname = null; continue; } if (string.IsNullOrEmpty(location.PickupLocationNickname)) { var address = new ShippingAddress_V02( shippingInfo.Address.ID, shippingInfo.Description, string.Empty, string.Empty, string.Empty, shippingInfo.Address.Address, string.Empty, string.Empty, shippingInfo.Address.IsPrimary, shippingInfo.Address.Alias, DateTime.Now); location.PickupLocationNickname = this.GetAddressDisplayName(address); } } return(pickupLocations.Where(l => !string.IsNullOrEmpty(l.PickupLocationNickname)).ToList()); }
protected virtual void shippingAddressDeleted(ShippingAddress_V02 shippingAddress) { _shippingAddresses = ShippingProvider.GetShippingAddresses(DistributorID, Locale); // this is to get primary address, if previous one deleted //DeliveryOption deliveryOption = getSelectedAddress(args.ShippingAddress.ID, DeliveryOptionType.Shipping); if (_shippingAddresses != null) { //After delete pass the primary shipping ID to update shipping info.. if (_shippingAddresses.Count > 0) { DeliveryOption primaryDeliveryOption = _shippingAddresses.Find(s => s.IsPrimary); if (primaryDeliveryOption != null) { updateShippingInfo(primaryDeliveryOption.ID, ProductsBase.DeliveryOptionID, DeliveryOptionType.Shipping); } } else { ProductsBase.ClearCart(); } reload(); } }
/// <summary> /// GetCustomerAddress /// </summary> /// <param name="custOrder"></param> /// <param name="useAddressValidation"></param> /// <returns></returns> private static ShippingAddress_V02 GetCustomerAddress(CustomerOrder_V01 custOrder, bool useAddressValidation) { var custAddress = new ShippingAddress_V02(); custAddress.Phone = ((CustomerShippingInfo_V01)custOrder.Shipping).Phone; custAddress.FirstName = ((CustomerShippingInfo_V01)custOrder.Shipping).Recipient.First; custAddress.LastName = ((CustomerShippingInfo_V01)custOrder.Shipping).Recipient.Last; var address = new ServiceProvider.ShippingSvc.Address_V01(); address.City = ((CustomerShippingInfo_V01)custOrder.Shipping).Address.City; address.Country = ((CustomerShippingInfo_V01)custOrder.Shipping).Address.Country; address.CountyDistrict = ((CustomerShippingInfo_V01)custOrder.Shipping).Address.CountyDistrict; address.Line1 = ((CustomerShippingInfo_V01)custOrder.Shipping).Address.Line1; address.Line2 = ((CustomerShippingInfo_V01)custOrder.Shipping).Address.Line2; address.Line3 = ((CustomerShippingInfo_V01)custOrder.Shipping).Address.Line3; address.PostalCode = ((CustomerShippingInfo_V01)custOrder.Shipping).Address.PostalCode; address.StateProvinceTerritory = ((CustomerShippingInfo_V01)custOrder.Shipping).Address.StateProvinceTerritory; custAddress.Address = address; custAddress.FirstName = ((CustomerShippingInfo_V01)custOrder.Shipping).Recipient.First; custAddress.LastName = ((CustomerShippingInfo_V01)custOrder.Shipping).Recipient.Last; custAddress.MiddleName = ((CustomerShippingInfo_V01)custOrder.Shipping).Recipient.Middle; custAddress.Recipient = custAddress.FirstName + " " + custAddress.MiddleName + " " + custAddress.LastName; if (useAddressValidation) { if (!ShippingProvider.GetShippingProvider(custOrder.ProcessingCountry).CustomerAddressIsValid(custOrder.ProcessingCountry, ref custAddress)) { return(null); } } return(custAddress); }
public override ShippingInfo GetShippingInfoFromID(string distributorID, string locale, DeliveryOptionType type, int deliveryOptionID, int shippingAddressID) { if (locale.Equals("en-MX")) { return(base.GetShippingInfoFromID(distributorID, locale, type, deliveryOptionID, shippingAddressID)); } var proxy = ServiceClientProvider.GetMexicoShippingServiceProxy(); DeliveryOptionForIDRequest_V01 request = new DeliveryOptionForIDRequest_V01(); request.ID = deliveryOptionID; DeliveryOption deliveryOption = null; if (type == DeliveryOptionType.Pickup) { string countryCode = locale.Substring(3, 2); List <PickupLocationPreference_V01> pickupLocationPreference = GetPickupLocationsPreferences(distributorID, countryCode); if (pickupLocationPreference != null && pickupLocationPreference.Count > 0) { var vPickupLocation = pickupLocationPreference.Find(p => p.PickupLocationID == deliveryOptionID); if (vPickupLocation != null) { int PickupLocationID = vPickupLocation.PickupLocationID; request.ID = PickupLocationID; PickupAlternativesResponse_V01 pickupAlternativesResponse = proxy.GetPickupAlternativeForDeliveryOptionID(new GetPickupAlternativeForDeliveryOptionIDRequest(request)).GetPickupAlternativeForDeliveryOptionIDResult as PickupAlternativesResponse_V01; if (pickupAlternativesResponse != null && pickupAlternativesResponse.PickupAlternatives != null && pickupAlternativesResponse.PickupAlternatives.Count > 0) { deliveryOption = new DeliveryOption(ObjectMappingHelper.Instance.GetToShipping(pickupAlternativesResponse.PickupAlternatives[0])); deliveryOption.Id = deliveryOption.ID = PickupLocationID; return(new ShippingInfo(deliveryOption)); } } } } else { ShippingAddress_V02 shippingAddress = null; if (shippingAddressID != 0) { List <DeliveryOption> shippingAddresses = GetShippingAddresses(distributorID, locale); if (shippingAddresses != null) { if ((shippingAddress = shippingAddresses.Find(s => s.ID == shippingAddressID)) == null) { shippingAddress = shippingAddresses.Find(s => s.IsPrimary == true); } } } else { List <DeliveryOption> addresses = base.GetShippingAddresses(distributorID, locale); if (addresses != null && addresses.Count > 0) { if ((shippingAddress = addresses.Find(s => s.IsPrimary == true)) == null) { shippingAddress = addresses.First(); } } } if (shippingAddress != null) { List <DeliveryOption> deliveryOptions = GetDeliveryOptions(type, shippingAddress); if (deliveryOptions != null && deliveryOptions.Count > 0) { deliveryOption = deliveryOptions.First(); return(new ShippingInfo(deliveryOption, shippingAddress)); } } } return(null); }
private void PopulatePickupInfoDataList() { lblErrors.Text = string.Empty; var provider = ProductsBase.GetShippingProvider(); if (provider != null) { var shippingAddress = new ShippingAddress_V02 { Address = new Address_V01 { Country = this.ProductsBase.CountryCode, } }; if (divZipLookup.Visible) { shippingAddress.Address.PostalCode = txtPostalCode.Text; } else { shippingAddress.Address.StateProvinceTerritory = dnlState.SelectedValue; shippingAddress.Address.City = txtCity.Text; } PickupLocations = provider.GetDeliveryOptions(DeliveryOptionType.PickupFromCourier, shippingAddress); if (PickupLocations != null) { decimal radio = (CountryCode == "CA") ? 8M : 5M; var distanceUnit = GetLocalResourceObject("Unit") as string ?? "miles"; var distance = rblDistanceRadio.SelectedItem.Text.Substring(0, rblDistanceRadio.SelectedItem.Text.IndexOf(distanceUnit)).Trim(); if (!decimal.TryParse(distance, out radio)) { radio = (CountryCode == "CA") ? 8M : 5M; } var source = ( from o in PickupLocations orderby o.displayIndex ascending where o.Distance <= radio select new { ID = o.Id, Name = o.Name, DisplayName = o.DisplayName, CourierStoreId = o.CourierStoreId, BranchName = o.CourierType, o.Address, AdditionalInformation = o.Information, Phone = o.Phone, HasDistance = !string.IsNullOrEmpty(o.DistanceUnit), Distance = o.Distance, Unit = o.DistanceUnit } ).ToList(); if (source.Count > 0) { grdPickupInfo.DataSource = source; grdPickupInfo.DataBind(); DisplayMapLocations(PickupLocations); divLocations.Visible = true; lblLocations.Text = string.Format( GetLocalResourceObject("lblLocationsResource.Text") as string, source.Count()); lblLocations.Visible = true; } else { grdPickupInfo.DataSource = null; grdPickupInfo.DataBind(); divLocations.Visible = true; lblErrors.Text = GetLocalResourceObject("NoLocations") as string; lblLocations.Visible = false; } } else { divLocations.Visible = false; lblErrors.Text = GetLocalResourceObject("LocationNotFound") as string; } } }
private void PopulatePickupInfoDataList() { var provider = ProductsBase.GetShippingProvider(); if (provider != null) { ShippingAddress_V02 shippingAddress = null; if (divNeighbourhood.Visible) { shippingAddress = new ShippingAddress_V02 { Address = new Address_V01 { Country = this.ProductsBase.CountryCode, StateProvinceTerritory = dnlRegion.Text, City = dnlSubRegion.Text, Line3 = dnlNeighbourhood.Text } }; } else if (divSubRegion.Visible) { shippingAddress = new ShippingAddress_V02 { Address = new Address_V01 { Country = ProductsBase.CountryCode, StateProvinceTerritory = dnlRegion.Text, City = dnlSubRegion.Text } }; } else { shippingAddress = new ShippingAddress_V02 { Address = new Address_V01 { Country = ProductsBase.CountryCode, StateProvinceTerritory = dnlRegion.Text } }; } List <DeliveryOption> pickupOptions = provider.GetDeliveryOptions(DeliveryOptionType.PickupFromCourier, shippingAddress); if (pickupOptions != null) { divLocations.Visible = true; if ( !string.IsNullOrEmpty( HLConfigManager.Configurations.PickupOrDeliveryConfiguration.CourierInfoUrl)) { hlCourierInfo.NavigateUrl = HLConfigManager.Configurations.PickupOrDeliveryConfiguration.CourierInfoUrl; divCourierInfo.Visible = true; } else { divCourierInfo.Visible = false; } if (ProductsBase.CountryCode.Equals("IN") || ProductsBase.CountryCode.Equals("KZ")) { dlPickupInfo.DataSource = ( from o in pickupOptions where o.State == dnlRegion.Text select new { ID = o.Id, IsPickup = true, IsWaldos = false, BranchName = o.Description, o.FreightCode, Warehouse = o.WarehouseCode, o.Address, Information = string.Format("{0} {1}", o.Id, o.Name), AditionalInformation = string.Empty } ); } else if (ProductsBase.CountryCode.Equals("RU")) { var datasource = (from o in pickupOptions where o.State == dnlRegion.Text && o.Address.City == dnlSubRegion.Text select new { ID = o.Id, IsPickup = true, IsWaldos = false, BranchName = o.Description, o.FreightCode, Warehouse = o.WarehouseCode, o.Address, Information = string.Empty, AditionalInformation = o.Information }); if (dnlNeighbourhood.SelectedIndex != 0) { datasource = (from o in pickupOptions where o.State == dnlRegion.Text && o.Address.City == dnlSubRegion.Text && o.Address.CountyDistrict == dnlNeighbourhood.Text select new { ID = o.Id, IsPickup = true, IsWaldos = false, BranchName = o.Description, o.FreightCode, Warehouse = o.WarehouseCode, o.Address, Information = string.Empty, AditionalInformation = o.Information }); } dlPickupInfo.DataSource = datasource; } else if (ProductsBase.CountryCode.Equals("PH")) { var datasource = (from o in pickupOptions where o.State == dnlRegion.Text && o.Address.City == dnlSubRegion.Text select new { ID = o.Id, IsPickup = true, IsWaldos = false, BranchName = o.Description, o.FreightCode, Warehouse = o.WarehouseCode, o.Address, Information = string.Empty, AditionalInformation = o.Information }); dlPickupInfo.DataSource = datasource; } else if (ProductsBase.CountryCode.Equals("UA")) { string branchNameDesc = GetLocalResourceObject("BranchNameDescription") as string; string additionalInfoDesc = GetLocalResourceObject("AdditionalInfoDescription") as string; dlPickupInfo.DataSource = ( from o in pickupOptions where o.State == dnlRegion.Text && o.Address.City == dnlSubRegion.Text orderby o.Id ascending select new { ID = o.Id, IsPickup = true, IsWaldos = false, BranchName = string.Format("{0} <font style='font-weight: normal;color: black;'>{1}</font>", o.Id, branchNameDesc), o.FreightCode, Warehouse = o.WarehouseCode, o.Address, Information = string.Empty, AditionalInformation = string.Format("<strong>{0}</strong><br>{1}", additionalInfoDesc, o.Information) } ); } else { dlPickupInfo.DataSource = ( from o in pickupOptions where o.State == dnlRegion.Text select new { ID = o.Id, IsPickup = true, IsWaldos = false, BranchName = o.Description, o.FreightCode, Warehouse = o.WarehouseCode, o.Address, o.Information, AditionalInformation = string.Empty } ); } dlPickupInfo.DataBind(); } if (pickupOptions.Count.Equals(0)) { divLocations.Visible = false; } } }
protected virtual void shippingAddressCreated(ShippingAddress_V02 shippingAddress) { updateShippingInfo(shippingAddress.ID, ProductsBase.DeliveryOptionID, DeliveryOptionType.Shipping); reload(); }
public override ShippingInfo GetShippingInfoFromID(string distributorID, string locale, DeliveryOptionType type, int deliveryOptionID, int shippingAddressID) { if (HLConfigManager.Configurations.PickupOrDeliveryConfiguration.UseXHLTables) { var proxy = ServiceClientProvider.GetMexicoShippingServiceProxy(); var request = new ServiceProvider.ShippingMexicoSvc.DeliveryOptionForIDRequest_V01(); request.ID = deliveryOptionID; request.Country = "AR"; DeliveryOption deliveryOption = null; if (type == DeliveryOptionType.Pickup) { string countryCode = locale.Substring(3, 2); List <PickupLocationPreference_V01> pickupLocationPreference = GetPickupLocationsPreferences(distributorID, countryCode); if (pickupLocationPreference != null && pickupLocationPreference.Count > 0) { var vPickupLocation = pickupLocationPreference.Find(p => p.PickupLocationID == deliveryOptionID); if (vPickupLocation != null) { int PickupLocationID = vPickupLocation.PickupLocationID; request.ID = PickupLocationID; var pickupAlternativesResponse = proxy.GetPickupAlternativeForDeliveryOptionID(new ServiceProvider.ShippingMexicoSvc.GetPickupAlternativeForDeliveryOptionIDRequest(request)).GetPickupAlternativeForDeliveryOptionIDResult as ServiceProvider.ShippingMexicoSvc.PickupAlternativesResponse_V01; if (pickupAlternativesResponse != null && pickupAlternativesResponse.PickupAlternatives != null && pickupAlternativesResponse.PickupAlternatives.Count > 0) { deliveryOption = new DeliveryOption(ObjectMappingHelper.Instance.GetToShipping(pickupAlternativesResponse.PickupAlternatives[0])); deliveryOption.Id = deliveryOption.ID = PickupLocationID; deliveryOption.Description = deliveryOption.Description; var shippingInfo = new ShippingInfo(deliveryOption); shippingInfo.Address.Address.Line1 = shippingInfo.Address.Address.Line2; shippingInfo.Address.Address.Line2 = string.Empty; return(shippingInfo); } } } } else { ShippingAddress_V02 shippingAddress = null; if (shippingAddressID != 0) { List <DeliveryOption> shippingAddresses = GetShippingAddresses(distributorID, locale); if (shippingAddresses != null) { if ((shippingAddress = shippingAddresses.Find(s => s.ID == shippingAddressID)) == null) { shippingAddress = shippingAddresses.Find(s => s.IsPrimary == true); } } } else { List <DeliveryOption> addresses = base.GetShippingAddresses(distributorID, locale); if (addresses != null && addresses.Count > 0) { if ((shippingAddress = addresses.Find(s => s.IsPrimary == true)) == null) { shippingAddress = addresses.First(); } } } if (shippingAddress != null) { List <DeliveryOption> deliveryOptions = GetDeliveryOptions(type, shippingAddress); if (deliveryOptions != null && deliveryOptions.Count > 0) { deliveryOption = deliveryOptions.First(); return(new ShippingInfo(deliveryOption, shippingAddress)); } } } return(null); } else { return(GetShippingInfoFromID(distributorID, locale, type, deliveryOptionID, shippingAddressID)); } }
public override bool ValidateAddress(ShippingAddress_V02 shippingAddress, out String errorCode, out ServiceProvider.AddressValidationSvc.Address avsAddress) { errorCode = string.Empty; var request = new ValidateAddressRequest(); var address = new ServiceProvider.AddressValidationSvc.Address(); address.City = shippingAddress.Address.City; address.CountryCode = shippingAddress.Address.Country; address.Line1 = shippingAddress.Address.Line1; address.PostalCode = shippingAddress.Address.PostalCode; address.StateProvinceTerritory = shippingAddress.Address.StateProvinceTerritory; request.Address = address; // Avoid validation where ValidatePostalCode is disabled if (!HLConfigManager.Configurations.AddressingConfiguration.ValidatePostalCode) { avsAddress = request.Address; return(true); } var proxy = ServiceClientProvider.GetAddressValidationServiceProxy(); try { var response = proxy.ValidateAddress(new ValidateAddressRequest1(request)).ValidateAddressResponse; if (response != null) { if (response.ValidationResult.Value.ToUpper() == "FOUND" || response.ValidationResult.ErrorCode.ToUpper() == "E421" || response.ValidationResult.ErrorCode.ToUpper() == "E422" || response.ValidationResult.ErrorCode.ToUpper() == "E427" || response.ValidationResult.ErrorCode.ToUpper() == "E412" || response.ValidationResult.ErrorCode.ToUpper() == "E413" || response.ValidationResult.ErrorCode.ToUpper() == "E423" || response.ValidationResult.ErrorCode.ToUpper() == "E425" || response.ValidationResult.ErrorCode.ToUpper() == "E420" || response.ValidationResult.ErrorCode.ToUpper() == "E430" || response.ValidationResult.ErrorCode.ToUpper() == "E600") { // address is valid errorCode = response.ValidationResult.ErrorCode; avsAddress = response.Address; return(true); } } // address is invalid errorCode = response.ValidationResult.ErrorCode; avsAddress = response.Address; return(false); } catch (Exception ex) { LoggerHelper.Error(string.Format("AVS Address Validation Failed:{0}", ex.Message)); errorCode = ex.Message; avsAddress = null; return(false); } }
internal static MyHLShoppingCart GetBasicShoppingCart(string distributorId, string locale, string freightCode, string wareHouseCode, ShippingAddress_V02 shiptoaddress) { if (string.IsNullOrEmpty(locale)) { locale = "en-US"; } var shoppingCart = new MyHLShoppingCart { Locale = locale, ShoppingCartItems = new List <DistributorShoppingCartItem> { ShoppingCartItemHelper.GetShoppingCartItem(1, 1, "1231"), ShoppingCartItemHelper.GetShoppingCartItem(2, 1, "0138"), ShoppingCartItemHelper.GetShoppingCartItem(3, 1, "0139") }, CartItems = new ShoppingCartItemList { ShoppingCartItemHelper.GetCartItem(1, 1, "1231"), ShoppingCartItemHelper.GetCartItem(2, 1, "0138"), ShoppingCartItemHelper.GetCartItem(3, 1, "0139") }, DistributorID = string.IsNullOrEmpty(distributorId) ? "webtest1" : distributorId, FreightCode = freightCode, DeliveryInfo = new ShippingInfo { FreightCode = freightCode, WarehouseCode = wareHouseCode, Option = ServiceProvider.ShippingSvc.DeliveryOptionType.Shipping, Address = shiptoaddress }, CountryCode = locale.Substring(3) }; shoppingCart.Totals = new OrderTotals_V01() { AmountDue = 1000M, BalanceAmount = 900M, DiscountPercentage = 50M, VolumePoints = 1000 }; return(shoppingCart); }
public override string GetAddressDisplayName(ShippingAddress_V02 address) { return(string.Format("...{0},{1},{2},{3}", address.Recipient, address.Address.Line1, address.Address.City, address.Address.StateProvinceTerritory)); }
/// <summary> /// The setup customer order data. /// </summary> /// <param name="customerOrderId"> /// The customer order id. /// </param> /// <param name="distributorId"></param> /// <param name="countryCode"></param> /// <param name="locale"></param> /// <param name="isAddressValid"></param> /// <param name="customerAddressId"></param> public static void SetupCustomerOrderData(string customerOrderId, string distributorId, string countryCode, string locale, out bool isAddressValid, out int customerAddressId) { isAddressValid = false; var customerOrderV01 = CustomerOrderingProvider.GetCustomerOrderByOrderID(customerOrderId); // Close all carts for provided Customer Order ID if (customerOrderV01.OrderStatus == CustomerOrderStatusType.Cancelled) { ShoppingCartProvider.DeleteOldShoppingCartForCustomerOrder( distributorId, customerOrderV01.OrderID); } var existingCart = ShoppingCartProvider.GetShoppingCart(distributorId, locale); bool useAddressValidation = ShippingProvider.GetShippingProvider(customerOrderV01.ProcessingCountry).AddressValidationRequired(); bool useDsAddressAsShippingAddress = ShippingProvider.GetShippingProvider(customerOrderV01.ProcessingCountry).DSAddressAsShippingAddress(); var DShippingAddressForCustomer = new List <DeliveryOption>(); if (HLConfigManager.Configurations.PickupOrDeliveryConfiguration.SetDSAddressforCashOnDelivery && customerOrderV01.PaymentMethodChoice == CustomerPaymentMethodChoice.CashOnDelivery) // Mappinf object error CustomerPaymentMethodChoice.CashOnDelivery) { var dsProfile = DistributorOrderingProfileProvider.GetProfile(distributorId, customerOrderV01.ProcessingCountry); var mailingAddress = DistributorOrderingProfileProvider.GetAddress(ServiceProvider.OrderSvc.AddressType.Mailing, distributorId, customerOrderV01.ProcessingCountry); if (string.IsNullOrWhiteSpace(mailingAddress.PostalCode) || string.IsNullOrWhiteSpace(mailingAddress.City) || string.IsNullOrWhiteSpace(mailingAddress.Line1) || string.IsNullOrWhiteSpace(mailingAddress.StateProvinceTerritory) || dsProfile.PhoneNumbers == null) { HttpContext.Current.Response.Redirect("~/dswebadmin/customerorders.aspx?error=2", false); } useDsAddressAsShippingAddress = true; DShippingAddressForCustomer.Add( new DeliveryOption { Address = ObjectMappingHelper.Instance.GetToShipping(mailingAddress), Id = -4, AddressId = new Guid(), AddressType = "Shipping", Alias = "", AltAreaCode = string.Empty, AltPhone = string.Empty, AreaCode = mailingAddress.PostalCode, Recipient = string.Empty, PostalCode = mailingAddress.PostalCode, Phone = dsProfile.PhoneNumbers != null ? dsProfile.PhoneNumbers.Find(x => x.IsPrimary) != null ? dsProfile.PhoneNumbers.FirstOrDefault(x => x.IsPrimary).CountryPrefix + dsProfile.PhoneNumbers.FirstOrDefault(x => x.IsPrimary).AreaCode + dsProfile.PhoneNumbers.FirstOrDefault(x => x.IsPrimary).Number : dsProfile.PhoneNumbers.FirstOrDefault().CountryPrefix + dsProfile.PhoneNumbers.FirstOrDefault().AreaCode + dsProfile.PhoneNumbers.FirstOrDefault().Number : string.Empty, State = mailingAddress.StateProvinceTerritory, FreightCode = "NOF", // DEFAULT FREIGHTCODE TO CALL retrieveFreightCode, Name = DistributorProfileModel.DistributorName(), } ); } int temporaryEnteredAddressId = 0; DeliveryOption option = null; var custOrderAddress = GetCustomerAddress(customerOrderV01, useAddressValidation); if ((custOrderAddress != null) && (!useDsAddressAsShippingAddress)) { ShippingProvider.GetShippingProvider(countryCode).GetShippingAddresses( distributorId, customerOrderV01.ProcessingLocale); temporaryEnteredAddressId = ShippingProvider.GetShippingProvider(countryCode).SaveShippingAddress( distributorId, customerOrderV01.ProcessingLocale, custOrderAddress, true, true, false); isAddressValid = true; // Add address To Temporary Address and Insert customer order cart custOrderAddress.ID = temporaryEnteredAddressId; option = new DeliveryOption(custOrderAddress); } else { ShippingAddress_V02 shippingAddress = null; if (useDsAddressAsShippingAddress) { List <DeliveryOption> shippingAddresses = DShippingAddressForCustomer.Count > 0 ? DShippingAddressForCustomer: ShippingProvider.GetShippingProvider(countryCode).GetShippingAddresses( distributorId, customerOrderV01.ProcessingLocale); if (shippingAddresses != null && shippingAddresses.Count > 0) { if ((shippingAddress = shippingAddresses.Find(s => s.IsPrimary)) == null) { shippingAddress = shippingAddresses.First(); } } } if (shippingAddress != null) { ShippingAddress_V02 shippingAddressV2 = null; if (DShippingAddressForCustomer.Count > 0) { shippingAddressV2 = DShippingAddressForCustomer[0]; shippingAddressV2.ID = -4; shippingAddressV2.Recipient = DistributorProfileModel.DistributorName(); } option = new DeliveryOption(shippingAddress); temporaryEnteredAddressId = DShippingAddressForCustomer.Count > 0 ? ShippingProvider.GetShippingProvider(countryCode).SaveShippingAddress( distributorId, customerOrderV01.ProcessingLocale, shippingAddressV2, true, true, false) : shippingAddress.ID; if (DShippingAddressForCustomer.Count > 0) { DShippingAddressForCustomer[0].ID = temporaryEnteredAddressId; } } else { option = new DeliveryOption(); } } customerAddressId = temporaryEnteredAddressId; if (existingCart != null) { if (existingCart.DeliveryInfo != null) { existingCart.DeliveryInfo.Address.ID = temporaryEnteredAddressId; } ShoppingCartProvider.UpdateShoppingCart(existingCart); } else { var shippingInfo = new Shipping.ShippingInfo(ServiceProvider.ShippingSvc.DeliveryOptionType.Shipping, option); MyHLShoppingCart customerCart = ShoppingCartProvider.InsertShoppingCart( distributorId, customerOrderV01.ProcessingLocale, ServiceProvider.CatalogSvc.OrderCategoryType.RSO, shippingInfo, getCustomerOrderDetails(customerOrderV01), false, string.Empty); if (customerCart != null) { foreach (ShoppingCartItem_V01 item in GetCustomerCartItems(customerCart.ShoppingCartID, customerOrderV01.OrderItems)) { ShoppingCartProvider.InsertShoppingCartItem( distributorId, item, customerCart.ShoppingCartID); } // Update Status of Order To In Progress In Azure CustomerOrderingProvider.UpdateCustomerOrderStatus( customerOrderV01.OrderID, customerOrderV01.OrderStatus, CustomerOrderStatusType.InProgress); } else { throw new Exception("Unable to Convert Customer Order To DO Order"); } } }
public override ShippingInfo GetShippingInfoFromID(string distributorID, string locale, DeliveryOptionType type, int deliveryOptionID, int shippingAddressID) { if (type == DeliveryOptionType.Shipping) { var shippingAddresses = GetDSShippingAddresses(distributorID, locale); ShippingAddress_V02 shippingAddress = shippingAddresses.Find(s => s.ID == shippingAddressID); DeliveryOption deliveryOption = null; var freightCodeAndWarehouse = GetFreightCodeAndWarehouseFromAddress(shippingAddress, null); if (freightCodeAndWarehouse != null) { deliveryOption = new DeliveryOption(freightCodeAndWarehouse[1], freightCodeAndWarehouse[0], DeliveryOptionType.Shipping, string.Empty); } if (deliveryOption == null || shippingAddress == null) { return(null); } ShippingInfo shippingInfo = new ShippingInfo(deliveryOption, shippingAddress); shippingInfo.AddressType = "EXP"; // this is address type for shipping if (Settings.GetRequiredAppSetting("LogShipping", "false").ToLower() == "true") { LogRequest(string.Format("GetShippingInfoFromID for shipping option: {0}", OrderCreationHelper.Serialize(shippingInfo))); } return(shippingInfo); } else if (type == DeliveryOptionType.Pickup) { ShippingInfo shippingInfo = base.GetShippingInfoFromID(distributorID, locale, type, deliveryOptionID, shippingAddressID); if (shippingInfo != null) { shippingInfo.FreightCode = "0"; shippingInfo.AddressType = "SD"; // this is address type for pickup } //Stores Pickup Location phone in session and sets shippingInfo phone to DS phone //var sessionInfo = SessionInfo.GetSessionInfo(distributorID, locale); //sessionInfo.SelectedPickupLocationPhone = shippingInfo.Address.Phone; //shippingInfo.Address.Phone = String.Empty; return(shippingInfo); } if (type == DeliveryOptionType.PickupFromCourier) { string countryCode = locale.Substring(3, 2); var pickupLocationPreference = GetPickupLocationsPreferences(distributorID, countryCode); if (pickupLocationPreference != null && pickupLocationPreference.Count > 0) { var vPickupLocation = pickupLocationPreference.Find(p => p.ID == deliveryOptionID); if (vPickupLocation != null) { int pickupLocationID = vPickupLocation.PickupLocationID; var doList = GetDeliveryOptions(type, new ShippingAddress_V01 { Address = new Address_V01 { Country = "CN" } }); if (doList != null) { var deliveryOption = doList.Find(d => d.Id == pickupLocationID); if (deliveryOption != null) { var shippingInfo = new ShippingInfo(deliveryOption); shippingInfo.Id = deliveryOptionID; // this is ID field from PickUpStore shippingInfo.AddressType = "PUC" + deliveryOption.AddressType; return(shippingInfo); } } } } } return(null); }
private void PopulatePickupInfoDataList() { var provider = ProductsBase.GetShippingProvider(); if (provider != null) { ShippingAddress_V02 shippingAddress = null; shippingAddress = new ShippingAddress_V02 { Address = new Address_V01 { Country = this.ProductsBase.CountryCode, StateProvinceTerritory = dnlProvince.Text, City = dnlCity.Text, CountyDistrict = dnlDistrict.Text } }; List <DeliveryOption> pickupOptions = provider.GetDeliveryOptions(DeliveryOptionType.PickupFromCourier, shippingAddress); if (pickupOptions != null) { divLocations.Visible = true; if ( !string.IsNullOrEmpty( HLConfigManager.Configurations.PickupOrDeliveryConfiguration.CourierInfoUrl)) { hlCourierInfo.NavigateUrl = HLConfigManager.Configurations.PickupOrDeliveryConfiguration.CourierInfoUrl; divCourierInfo.Visible = true; } else { divCourierInfo.Visible = false; } dlPickupInfo.DataSource = ( from o in pickupOptions where o.State.Trim() == dnlProvince.Text.Trim() && o.Address.City == dnlCity.Text.Trim() && o.Address.CountyDistrict == dnlDistrict.Text.Trim() select new { ID = o.Id, IsPickup = true, IsWaldos = false, BranchName = o.Description, o.FreightCode, Warehouse = o.WarehouseCode, o.Address, o.Information } ); dlPickupInfo.DataBind(); List <Address_V01> lstaddress = new List <Address_V01>(); lstaddress = (from o in pickupOptions where o.State.Trim() == dnlProvince.Text.Trim() && o.Address.City == dnlCity.Text.Trim() && o.Address.CountyDistrict == dnlDistrict.Text.Trim() select o.Address).ToList(); if (HLConfigManager.Configurations.PickupOrDeliveryConfiguration.HasBaiduMap) { objHLGoogleMapper = (HLGoogleMapper)LoadControl("../HLGoogleMapper.ascx"); PlaceHolder1.Controls.Add(objHLGoogleMapper); if (lstaddress.Count > 0) { objHLGoogleMapper.DispalyAddressOnMap(lstaddress); } else { HideSelected(); } } } if (pickupOptions.Count.Equals(0)) { HideSelected(); } lblErrors.Text = string.Empty; } }