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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 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));
     }
 }
Esempio n. 5
0
            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);
            }
Esempio n. 6
0
 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;
                }
            }
        }
Esempio n. 9
0
 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);
 }
Esempio n. 10
0
        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);
 }
Esempio n. 12
0
        /// <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);
        }
Esempio n. 14
0
 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;
 }
Esempio n. 16
0
            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());
        }
Esempio n. 18
0
 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;
                }
            }
        }
Esempio n. 22
0
        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;
                }
            }
        }
Esempio n. 23
0
 protected virtual void shippingAddressCreated(ShippingAddress_V02 shippingAddress)
 {
     updateShippingInfo(shippingAddress.ID, ProductsBase.DeliveryOptionID, DeliveryOptionType.Shipping);
     reload();
 }
Esempio n. 24
0
        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);
            }
        }
Esempio n. 26
0
        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);
        }
Esempio n. 30
0
        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;
            }
        }