Ejemplo n.º 1
0
 protected override void showHideAddressLink()
 {
     lnAddAddress.Visible = ProductsBase.GetShippingProvider().NeedEnterAddress(DistributorID, Locale) &&
                            ShoppingCart.DeliveryInfo == null;
     if ((_shippingAddresses.Count == 0 &&
          getDeliveryOptionTypeFromDropdown(DeliveryType) == DeliveryOptionType.Shipping) ||
         (_pickupRrefList.Count == 0 &&
          getDeliveryOptionTypeFromDropdown(DeliveryType) == DeliveryOptionType.Pickup))
     {
         lnAddAddress.Visible = true;
     }
     if (lnAddAddress.Visible == false)
     {
         if (IsStatic == false)
         {
             pnlDeliveryOptionSelection.Visible = !lnAddAddress.Visible;
             divNicknameInfoAndLink.Visible     = true;
         }
     }
     else
     {
         pnlReadonlyDeliveryOptionSelection.Visible = false;
         divNicknameInfoAndLink.Visible             = false;
         lnAddAddress.Text = getDeliveryOptionTypeFromDropdown(DeliveryType) == DeliveryOptionType.Shipping
                                 ? (string)GetLocalResourceObject("AddShippingAddress")
                                 : (string)GetLocalResourceObject("SelectPickup");
     }
 }
Ejemplo n.º 2
0
        private void PopulateStateDropDown()
        {
            dnlMunicipal.Enabled = false;
            dnlTown.Enabled      = false;
            Providers.Interfaces.IShippingProvider provider = null;

            if (Locale == "es-AR")
            {
                provider = ProductsBase.GetShippingProvider() as ShippingProvider_AR;
            }
            if (provider != null)
            {
                var states = provider.GetStatesForCountry(this.CountryCode);
                if (Locale == "es-AR")
                {
                    var arStates = new List <string>();
                    if (states != null && states.Count > 0)
                    {
                        foreach (var province in states)
                        {
                            string[] state = province.Split('-');
                            arStates.Add(state[0]);
                        }
                        states = arStates;
                    }
                }

                dnlState.DataSource = states;
                dnlState.DataBind();
                dnlState.Items.Insert(0, new ListItem(GetLocalResourceObject("Select.Text") as string, "0"));
                dnlState.SelectedIndex = 0;
            }
        }
        protected override bool setAddressByNickName(ShippingAddress_V01 address, HtmlGenericControl pAddress,
                                                     DropDownList deliveryType)
        {
            pAddress.Visible = address != null;
            if (address != null)
            {
                DeliveryOptionType option = getDeliveryOptionTypeFromDropdown(deliveryType);
                if ((option == DeliveryOptionType.Unknown && CheckNoDeliveryType(deliveryType)) ||
                    option == DeliveryOptionType.ShipToCourier)
                {
                    option = DeliveryOptionType.Shipping;
                }

                pAddress.InnerHtml =
                    ProductsBase.GetShippingProvider()
                    .FormatShippingAddress(new DeliveryOption(address), option,
                                           ShoppingCart != null && ShoppingCart.DeliveryInfo != null
                                                           ? ShoppingCart.DeliveryInfo.Description
                                                           : string.Empty, true);
                if (CheckNoDeliveryType(deliveryType) && !string.IsNullOrEmpty(pAddress.InnerHtml))
                {
                    return(true);
                }
            }
            else
            {
                pAddress.InnerHtml = "";
            }
            return(false);
        }
Ejemplo n.º 4
0
        private void loadAddressEditMode()
        {
            int id = 0;

            if (DropdownNickName.SelectedIndex >= 0)
            {
                if (int.TryParse(DropdownNickName.SelectedValue, out id))
                {
                    DeliveryOption deliveryOption = getSelectedAddress(id,
                                                                       (DeliveryOptionType)
                                                                       Enum.Parse(typeof(DeliveryOptionType),
                                                                                  DeliveryType.SelectedValue));
                    if (deliveryOption != null)
                    {
                        pAddress.InnerHtml = ProductsBase.GetShippingProvider()
                                             .FormatShippingAddress(deliveryOption,
                                                                    getDeliveryOptionTypeFromDropdown(
                                                                        DeliveryType),
                                                                    ShoppingCart != null &&
                                                                    ShoppingCart.DeliveryInfo != null
                                                                                    ? ShoppingCart.DeliveryInfo
                                                                    .Description
                                                                                    : string.Empty, true);
                    }
                }
            }
        }
        private void PopulateStateDropDown()
        {
            dnlState.Items.Clear();
            var states = new List <string>();

            var provider = ProductsBase.GetShippingProvider();

            if (provider != null)
            {
                if (ProductsBase.CountryCode == "US")
                {
                    var providerUS = ProductsBase.GetShippingProvider() as ShippingProvider_US;
                    if (providerUS != null)
                    {
                        states = providerUS.GetStatesForCountryToDisplay(ProductsBase.CountryCode);
                    }
                }
                else
                {
                    states = provider.GetStatesForCountry(ProductsBase.CountryCode);
                }
                if (states.Count > 0)
                {
                    var items = (from state in states
                                 select new ListItem {
                        Text = state, Value = state.Substring(0, 2)
                    }).ToArray();
                    dnlState.Items.AddRange(items);
                    dnlState.Items.Insert(0, new ListItem(GetLocalResourceObject("Select.Text") as string, "0"));
                    dnlState.SelectedIndex = 0;
                }
            }
        }
        private void RenderDeletePickupView()
        {
            lblHeader.Visible       = false;
            divAddPickUp.Visible    = false;
            divDeletePickUp.Visible = true;
            HideSelected();
            btnContinue.Text = GetLocalResourceObject("btnDeleteResource.Text") as string;

            var shipAddr = new ShippingAddress_V01();

            shipAddr.Address         = new Address_V01();
            shipAddr.Address.Country = CountryCode;

            var deliveryType = HLConfigManager.Configurations.PickupOrDeliveryConfiguration.AllowPickUpFromCourier
                                   ? DeliveryOptionType.PickupFromCourier
                                   : DeliveryOptionType.ShipToCourier;
            List <PickupLocationPreference_V01> pickUpLocationPreferences =
                ProductsBase.GetShippingProvider()
                .GetPickupLocationsPreferences(DistributorID, CountryCode, Locale, deliveryType);
            PickupLocationPreference_V01 selectedPickupPreference = pickUpLocationPreferences.Find
                                                                        (p => p.PickupLocationID == WorkedUponDeliveryOptionId);

            lblName.Text = PickupLocationDescription;
            lblDeleteIsPrimaryText.Text = selectedPickupPreference.IsPrimary
                                              ? GetLocalResourceObject("PrimaryYes.Text") as string
                                              : GetLocalResourceObject("PrimaryNo.Text") as string;
            lblDeleteNicknameText.Text = selectedPickupPreference.PickupLocationNickname;
            divLocation.Visible        = false;
            divPrimary.Visible         = false;
            btnContinue.Enabled        = true;
            if (pickUpLocationPreferences.Count == 1)
            {
                lblErrors.Text = GetLocalResourceObject("LastPickupAddress.Text") as string;
            }
        }
        /// <summary>
        ///     ProcessAddShippingSubmit - click on continue on new shipping address
        /// </summary>
        /// <param name="button"></param>
        protected void ProcessAddShippingSubmit()
        {
            bool isNicknameEntered = false;

            string distributorID = DistributorID;
            string locale        = Locale;
            bool   toSession     = cbSaveThis.Checked ? false : true;

            WorkedUponAddress.ID = -1;
            IShippingProvider shippingProvider = (this.Page as ProductsBase).GetShippingProvider();

            var addressList = GetShippingAddressesFromDeliveryOptions(
                shippingProvider.GetShippingAddresses(distributorID, locale));

            // EMPTY IS ALLOWED OTHERWISE YOU COULD GET BUG 24224 for duplicates
            //  if (!this.txtNickname.Text.Equals(String.Empty))
            {
                WorkedUponAddress.Alias = txtNickname.Text.Trim();
                isNicknameEntered       = true;
            }

            try
            {
                //1) Submit validated chnages to Shippping Provider
                WorkedUponAddress.ID = ProductsBase.GetShippingProvider().SaveShippingAddress
                                           (distributorID, locale, WorkedUponAddress
                                           , toSession
                                           , true
                                           , isNicknameEntered);
            }
            finally
            {
            }

            if (WorkedUponAddress.ID == -2) //duplicateShippingAddress
            {
                trError.Visible = true;
                blErrors.Items.Add(
                    new ListItem(PlatformResources.GetGlobalResourceString("ErrorMessage", "AddressExists")));
                return;
            }
            if (WorkedUponAddress.ID == -3) //duplicateNickName
            {
                trError.Visible = true;
                blErrors.Items.Add(
                    new ListItem(PlatformResources.GetGlobalResourceString("ErrorMessage", "DuplicateAddressNickname")));
                return;
            }
            else
            {
                WorkedUponAddress.DisplayName = WorkedUponAddress.Alias == string.Empty
                                                    ? shippingProvider.GetAddressDisplayName(WorkedUponAddress)
                                                    : WorkedUponAddress.Alias;
                ShoppingCart.CopyInvoiceStatus = ServiceProvider.CatalogSvc.CopyInvoiceStatus.success;
                Session["IsCopingFromInvoice"] = null;
                OnShippingAddressCreated(this,
                                         new ShippingAddressEventArgs(distributorID, WorkedUponAddress, false, false));
                //popup_AddEditShippingControl.Hide();
            }
        }
Ejemplo n.º 8
0
        private void PopulateTownDropDown(DropDownList dnlTown)
        {
            Providers.Interfaces.IShippingProvider provider = null;
            if (Locale == "es-AR")
            {
                provider = ProductsBase.GetShippingProvider() as ShippingProvider_AR;
            }
            if (provider != null)
            {
                string stateSelected = dnlState.SelectedValue;
                var    towns         = (Thread.CurrentThread.CurrentCulture.Name == "es-MX") ?
                                       provider.GetStreetsForCity(CountryCode, stateSelected, dnlMunicipal.SelectedValue) :
                                       provider.GetCountiesForCity(CountryCode, stateSelected, dnlMunicipal.SelectedValue);
                dnlTown.DataSource = towns;
                dnlTown.DataBind();
                dnlTown.Items.Insert(0, new ListItem(GetLocalResourceObject("Select.Text") as string, "0"));
                dnlTown.Enabled       = true;
                dnlTown.SelectedIndex = 0;
            }

            if (Locale == "es-AR")
            {
                // If AR disable the neightborhood dropdown when no data
                dnlTown.Enabled = dnlTown.Items.Count > 1;
            }
        }
        private void UpdateViewChanges(int selected)
        {
            var pickupLocationId = GetSelected(selected);

            if (pickupLocationId < 0)
            {
                lblErrors.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "NoPickUpLocation");
                return;
            }

            bool   isPrimary  = cbMakePrimary.Checked;
            bool   isSession  = !HLConfigManager.Configurations.CheckoutConfiguration.SavePickupFromCourierPreferences;
            string nickName   = ViewState["DisplayName"] as string ?? string.Empty;
            string branchName = ViewState["BranchName"] as string ?? string.Empty;

            int returnId = ProductsBase.GetShippingProvider()
                           .SavePickupLocationsPreferences(DistributorID, isSession, pickupLocationId,
                                                           nickName, nickName, CountryCode, isPrimary, branchName);

            if (returnId == -2) //duplicate nickname
            {
                lblErrors.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "DuplicateAddressNickname");
                return;
            }

            if (returnId == -3) //duplicate pickuplocation
            {
                lblErrors.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "DuplicatePickupLocation");
                return;
            }

            OnPickupPreferenceCreated(this, new DeliveryOptionEventArgs(returnId, branchName));
        }
Ejemplo n.º 10
0
        protected virtual bool hasNoPreference()
        {
            IShippingProvider     ShippingProvider  = ProductsBase.GetShippingProvider();
            List <DeliveryOption> shippingAddresses =
                ShippingProvider.GetShippingAddresses(DistributorID, Locale);

            return(shippingAddresses == null || shippingAddresses.Count == 0);
        }
        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;
                }
            }
        }
Ejemplo n.º 12
0
        protected override void LoadData()
        {
            _shippingAddresses = ShippingProvider.GetShippingAddresses(DistributorID, Locale);
            _pickupLocations   = ShippingProvider.GetDeliveryOptions(DeliveryOptionType.Pickup,
                                                                     ShippingProvider.GetDefaultAddress());

            if (HLConfigManager.Configurations.PickupOrDeliveryConfiguration.AllowPickUpFromCourier)
            {
                _pickupRrefList = ProductsBase.GetShippingProvider()
                                  .GetPickupLocationsPreferences(DistributorID, CountryCode);
            }
        }
        protected override void loadData()
        {
            _shippingAddresses = ShippingProvider.GetShippingAddresses(DistributorID, Locale);

            // Retrieve the pickupoption from the cache, not hardcoded to pickup, unless nothing is loaded, so use default
            _pickupLocations = ShippingProvider.GetDeliveryOptions(DeliveryOptionType.Pickup,
                                                                   ShippingProvider.GetDefaultAddress());
            _pickupRrefList = ProductsBase.GetShippingProvider()
                              .GetPickupLocationsPreferences(DistributorID, CountryCode);
            // Showing the right options according xml configurations.
            if (!HLConfigManager.Configurations.PickupOrDeliveryConfiguration.AllowPickUpFromCourier &&
                DeliveryType.Items.FindByValue("PickupFromCourier") != null)
            {
                DeliveryType.Items.Remove(DeliveryType.Items.FindByValue("PickupFromCourier"));
            }
        }
Ejemplo n.º 14
0
 private void PopulateMunicipalDropDown(DropDownList dnlMunicipal)
 {
     Providers.Interfaces.IShippingProvider provider = null;
     if (Locale == "es-AR")
     {
         provider = ProductsBase.GetShippingProvider() as ShippingProvider_AR;
     }
     if (provider != null)
     {
         dnlMunicipal.DataSource = provider.GetCitiesForState(CountryCode, dnlState.SelectedValue);
         dnlMunicipal.DataBind();
         dnlMunicipal.Items.Insert(0, new ListItem(GetLocalResourceObject("Select.Text") as string, "0"));
         dnlMunicipal.Enabled       = true;
         dnlMunicipal.SelectedIndex = 0;
     }
 }
        private void RenderDeletePickupView()
        {
            lblHeader.Visible               = false;
            divAddPickupLocation.Visible    = false;
            divDeletePickupLocation.Visible = true;

            List <PickupLocationPreference_V01> pickUpLocationPreferences =
                ProductsBase.GetShippingProvider().GetPickupLocationsPreferences(DistributorID, CountryCode, Locale, DeliveryOptionType.PickupFromCourier);

            PickupLocationPreference_V01 selectedPickupPreference = pickUpLocationPreferences.Find(p => p.PickupLocationID == WorkedUponDeliveryOptionId);

            //lblDeleteNicknameText.Text = selectedPickupPreference.PickupLocationNickname;

            if (pickUpLocationPreferences.Count == 1 && ShoppingCart.CartItems.Count > 0)
            {
                lblErrors.Text = GetLocalResourceObject("LastPickupAddress.Text") as string;
            }
        }
Ejemplo n.º 16
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;
                }
            }
        }
Ejemplo n.º 17
0
        //[Publishes(MyHLEventTypes.QuoteRetrieved)]
        //public event EventHandler MXQuoteRetrieved;

        //[Publishes(MyHLEventTypes.WarehouseChanged)]
        //public event EventHandler MXOnWarehouseChanged;

        #region page load

        protected void Page_Load(object sender, EventArgs e)
        {
            _shippingAddresses =
                Providers.Shipping.ShippingProvider.GetShippingProvider(CountryCode)
                .GetShippingAddresses(DistributorID, Locale);
            _pickupRrefList = ProductsBase.GetShippingProvider()
                              .GetPickupLocationsPreferences(DistributorID, CountryCode);
            SetPredefinedPickUpOption();

            //User Story 176424 Message to inform "some addresses are updated, please add again your addresses"
            var showMessage = HttpContext.Current.Session["showMessageOnPage"];

            if (showMessage != null && (string)showMessage == "True" && HLConfigManager.Configurations.DOConfiguration.ShowDeletedAddressesMessage)
            {
                (Master as OrderingMaster).ShowMessage((string)GetLocalResourceObject("Title"),
                                                       (string)GetLocalResourceObject("Message"));
                HttpContext.Current.Session["showMessageOnPage"] = null;
            }

            if (IsStatic)
            {
                showStatic();
            }
            else
            {
                showEdit();
            }
            setInventoryView();

            showHideAddressLink();
            showTitle();
            showShiptoOrPickup(IsStatic);
            setLinksVisiblity();
            if (pAddress != null && string.IsNullOrEmpty(pAddress.InnerHtml))
            {
                if (ShoppingCart.DeliveryInfo != null && ShoppingCart.DeliveryInfo.Address != null)
                {
                    setAddressByNickName(ShoppingCart.DeliveryInfo.Address);
                }
            }
        }
Ejemplo n.º 18
0
        private void DisplayLocations()
        {
            var zip = string.Empty;

            Providers.Interfaces.IShippingProvider provider = null;
            if (Locale == "es-AR")
            {
                provider = ProductsBase.GetShippingProvider() as ShippingProvider_AR;
                if (dnlMunicipal.SelectedIndex > 0 && dnlState.SelectedIndex > 0)
                {
                    if (!dnlTown.Enabled)
                    {
                        var lookupResults = provider.GetAddressField(new AddressFieldForCountryRequest_V01()
                        {
                            AddressField = AddressPart.ZIPCODE,
                            Country      = ProductsBase.CountryCode,
                            State        = dnlState.Text,
                            City         = dnlMunicipal.Text
                        });
                        zip = lookupResults != null?lookupResults.FirstOrDefault() : null;
                    }
                    else if (dnlTown.SelectedIndex > 0)
                    {
                        var lookupResults = provider.GetZipsForCounty(ProductsBase.CountryCode, dnlState.Text, dnlMunicipal.Text, dnlTown.Text);
                        zip = lookupResults != null?lookupResults.FirstOrDefault() : null;
                    }
                }
            }
            if (!string.IsNullOrEmpty(zip))
            {
                ViewState["PostalCode"] = zip;
                PopulatePickupInfoDataList();
                ShowSelected();
                //If the popup is called from “Order Preference” section, then 'Save' button is invisible.
                if (hfDiableSavedCheckbox.Value.ToLower().Equals("true"))
                {
                    cbSaveThis.Visible = false;
                }
            }
        }
Ejemplo n.º 19
0
        private void UpdateViewChanges()
        {
            String pickupLocationId = GetSelected();

            if (pickupLocationId.Equals(""))
            {
                lblErrors.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "NoPickUpLocation");
                return;
            }

            DataListItem chosenPickupItem = dlPickupInfo.SelectedItem;
            bool         isPrimary        = cbMakePrimary.Checked;
            bool         isSession        = cbSaveThis.Checked ? false : true;
            string       branchName       = ViewState["BranchName"] as string ?? string.Empty;
            string       nickName         = txtNickname.Text;

            int returnId = ProductsBase.GetShippingProvider().SavePickupLocationsPreferences
                               (DistributorID,
                               isSession,
                               int.Parse(pickupLocationId),
                               nickName,
                               branchName,
                               CountryCode,
                               isPrimary);

            if (returnId == -2) //duplicate nickname
            {
                lblErrors.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "DuplicateAddressNickname");
                return;
            }

            if (returnId == -3) //duplicate pickuplocation
            {
                lblErrors.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "DuplicatePickupLocation");
                return;
            }

            OnPickupPreferenceCreated(this, new DeliveryOptionEventArgs(returnId, branchName));
        }
Ejemplo n.º 20
0
        private void SetPredefinedPickUpOption()
        {
            var predefinedValue =
                HLConfigManager.Configurations.PickupOrDeliveryConfiguration.PredefinedPickUpLocationName;

            if (HLConfigManager.Configurations.DOConfiguration.IsEventInProgress &&
                HLConfigManager.Configurations.PickupOrDeliveryConfiguration.HasPredefinedPickUp &&
                !_pickupRrefList.Any(p => p.PickupLocationNickname.Equals(predefinedValue)))
            {
                if (DistributorOrderingProfileProvider.IsEventQualified(Honors2016EventId, Locale))
                {
                    //Get the Id searching by zip code
                    var devileryOptionsForEvent = ProductsBase.GetShippingProvider()
                                                  .GetDeliveryOptions(DeliveryOptionType.Pickup, new ShippingAddress_V01()
                    {
                        Address = new Address_V01()
                        {
                            PostalCode = HLConfigManager.Configurations.PickupOrDeliveryConfiguration.PredefinedPickUpLocationZipCode.ToString()
                        }
                    });

                    var pickUpLocationId = devileryOptionsForEvent.SingleOrDefault(p => p.WarehouseCode == HLConfigManager.Configurations.PickupOrDeliveryConfiguration.SpecialEventWareHouse);
                    if (pickUpLocationId != null && pickUpLocationId.Id > 0)
                    {
                        ProductsBase.GetShippingProvider()
                        .SavePickupLocationsPreferences
                        (
                            DistributorID,
                            true,
                            pickUpLocationId.Id,
                            predefinedValue,
                            predefinedValue,
                            "MX",
                            false);
                        reload();
                    }
                }
            }
        }
Ejemplo n.º 21
0
        public void OnShippingAddressDeleted(object sender, EventArgs e)
        {
            if (getDeliveryOptionTypeFromDropdown(DeliveryType) == DeliveryOptionType.Shipping)
            {
                var args = e as ShippingAddressEventArgs;
                if (args != null)
                {
                    shippingAddressDeleted(args.ShippingAddress);
                }
            }
            int id = 0;

            if (DropdownNickName.SelectedIndex >= 0)
            {
                if (int.TryParse(DropdownNickName.SelectedValue, out id))
                {
                    DeliveryOption deliveryOption = getSelectedAddress(id,
                                                                       (DeliveryOptionType)
                                                                       Enum.Parse(typeof(DeliveryOptionType),
                                                                                  DeliveryType.SelectedValue));
                    if (deliveryOption != null)
                    {
                        updateShippingInfo(deliveryOption.ID, ProductsBase.DeliveryOptionID, DeliveryOptionType.Shipping);
                        pAddress.InnerHtml = ProductsBase.GetShippingProvider()
                                             .FormatShippingAddress(deliveryOption,
                                                                    getDeliveryOptionTypeFromDropdown(
                                                                        DeliveryType),
                                                                    ShoppingCart != null &&
                                                                    ShoppingCart.DeliveryInfo != null
                                                                                    ? ShoppingCart.DeliveryInfo
                                                                    .Description
                                                                                    : string.Empty, true);
                    }
                }
            }
            //ucShippingInfoControl.Hide();
        }
        protected new void OnNickName_Databind(object sender, EventArgs e)
        {
            var ddl = sender as DropDownList;

            if (ShoppingCart != null)
            {
                // there is deliveryInfo
                ShippingInfo       deliveryInfo = ShoppingCart.DeliveryInfo;
                var                textSelect   = (string)GetLocalResourceObject("TextSelect");
                DeliveryOptionType deliveryOptionTypeFromDowndown = getDeliveryOptionTypeFromDropdown(DeliveryType);

                if (deliveryInfo != null)
                {
                    if (CheckNoDeliveryType(DeliveryType) &&
                        deliveryOptionTypeFromDowndown == DeliveryOptionType.Unknown)
                    {
                        deliveryOptionTypeFromDowndown = DeliveryOptionType.Shipping;
                    }

                    if (deliveryInfo.Option == DeliveryOptionType.Shipping)
                    {
                        if (deliveryOptionTypeFromDowndown == DeliveryOptionType.Shipping)
                        {
                            DeliveryOption deliveryOption = getSelectedAddress(deliveryInfo.Address.ID,
                                                                               DeliveryOptionType.Shipping);
                            ListItem selected =
                                ddl.Items.FindByValue(deliveryOption == null
                                                          ? string.Empty
                                                          : deliveryInfo.Address.ID.ToString());
                            if (selected != null)
                            {
                                selected.Selected = true;
                                //disableDeleteLink(deliveryOption.IsPrimary);
                            }
                            else
                            {
                                if (CheckNoDeliveryType(DeliveryType))
                                {
                                    if (null != ddl.Items && ddl.Items.Count > 0 && ddl.Items.Count == 1)
                                    {
                                        ddl.Items[0].Selected = true;
                                    }
                                }
                            }
                        }
                        else
                        {
                            ddl.Items.Insert(0, new ListItem(textSelect, "0"));
                            ddl.Items[0].Selected = true;
                        }
                    }

                    else if (deliveryInfo.Option == DeliveryOptionType.Pickup)
                    {
                        if (deliveryOptionTypeFromDowndown == DeliveryOptionType.Pickup)
                        {
                            var varPref = _pickupLocations.Where(f => f.Id == deliveryInfo.Id);
                            if (varPref.Count() > 0)
                            {
                                ListItem selected = ddl.Items.FindByValue(deliveryInfo.Id.ToString());
                                if (selected != null)
                                {
                                    selected.Selected = true;
                                    disableDeleteLink(varPref.First().IsPrimary);
                                }
                            }
                        }
                        else
                        {
                            ddl.Items.Insert(0, new ListItem(textSelect, "0"));
                            ddl.Items[0].Selected = true;
                        }
                    }
                    else if (deliveryInfo.Option == DeliveryOptionType.PickupFromCourier)
                    {
                        if (deliveryOptionTypeFromDowndown == DeliveryOptionType.PickupFromCourier)
                        {
                            var varPref = _pickupRrefList.Where(f => f.ID == deliveryInfo.Id);
                            if (varPref.Count() > 0)
                            {
                                ListItem selected = ddl.Items.FindByValue(varPref.First().ID.ToString());
                                if (selected != null)
                                {
                                    selected.Selected = true;
                                }
                            }
                        }
                        else
                        {
                            ddl.Items.Insert(0, new ListItem(textSelect, "0"));
                            ddl.Items[0].Selected = true;
                        }
                    }
                    else if (deliveryInfo.Option == DeliveryOptionType.ShipToCourier)
                    {
                        if (deliveryOptionTypeFromDowndown == DeliveryOptionType.ShipToCourier)
                        {
                            DeliveryOption deliveryOption = getSelectedAddress(deliveryInfo.Address.ID,
                                                                               DeliveryOptionType.Shipping);
                            ListItem selected =
                                ddl.Items.FindByValue(deliveryOption == null
                                                          ? string.Empty
                                                          : deliveryInfo.Address.ID.ToString());
                            if (selected != null)
                            {
                                selected.Selected = true;
                                //DropdownNickName.Attributes.Add("style", "display:none");
                                //disableDeleteLink(deliveryOption.IsPrimary);
                            }
                            else
                            {
                                if (CheckNoDeliveryType(DeliveryType))
                                {
                                    if (null != ddl.Items && ddl.Items.Count > 0 && ddl.Items.Count == 1)
                                    {
                                        ddl.Items[0].Selected = true;
                                    }
                                }
                            }
                        }
                        else
                        {
                            ddl.Items.Insert(0, new ListItem(textSelect, "0"));
                            ddl.Items[0].Selected = true;
                        }
                    }
                }
                else // no delivery option
                {
                    if (deliveryOptionTypeFromDowndown == DeliveryOptionType.Shipping)
                    {
                        int id = 0;
                        if (int.TryParse(DropdownNickName.SelectedValue, out id))
                        {
                            DeliveryOption deliveryOption = getSelectedAddress(id,
                                                                               (DeliveryOptionType)
                                                                               Enum.Parse(typeof(DeliveryOptionType),
                                                                                          DeliveryType.SelectedValue));
                            if (deliveryOption != null)
                            {
                                ListItem selected = ddl.Items.FindByValue(deliveryOption.Id.ToString());
                                if (selected != null)
                                {
                                    selected.Selected = true;
                                    updateShippingInfo(deliveryOption.ID, ProductsBase.DeliveryOptionID,
                                                       DeliveryOptionType.Shipping);
                                }
                                pAddress.InnerHtml =
                                    ProductsBase.GetShippingProvider()
                                    .FormatShippingAddress(deliveryOption, deliveryOptionTypeFromDowndown,
                                                           ShoppingCart != null &&
                                                           ShoppingCart.DeliveryInfo != null
                                                                           ? ShoppingCart.DeliveryInfo.Description
                                                                           : string.Empty, true);
                            }
                            else
                            {
                                ddl.Items.Insert(0, new ListItem(textSelect, "0"));
                                ddl.Items[0].Selected = true;
                            }
                        }
                    }

                    else
                    {
                        ddl.Items.Insert(0, new ListItem(textSelect, "0"));
                        ddl.Items[0].Selected = true;
                    }
                }
            }
        }
        /// <summary>
        ///     ProcessEditShippingSubmit - click on continue on edit shipping address
        /// </summary>
        /// <param name="button"></param>
        protected void ProcessEditShippingSubmit()
        {
            string distributorID = DistributorID;
            string countryCode   = CountryCode;
            string locale        = Locale;
            bool   toSession     = cbSaveThis.Checked ? false : true;
            int    existingId;

            IShippingProvider shippingProvider = (Page as ProductsBase).GetShippingProvider();

            bool isNicknameEntered = false;
            var  addressList       = GetShippingAddressesFromDeliveryOptions(
                shippingProvider.GetShippingAddresses(distributorID, locale));

            //check for empty nickname in the addressList.
            //if (this.txtNickname.Text.Equals(String.Empty))
            //{
            //   bool isExists = addressList.Exists(l => l.Alias.Equals(this.txtNickname.Text.Trim()));

            //   if (isExists)
            //   {
            //       existingId = addressList.Find(l => l.Alias.Equals(this.txtNickname.Text.Trim())) == null ? 0 :
            //           addressList.Find(l => l.Alias.Equals(this.txtNickname.Text.Trim())).ID;
            //       if (!this.WorkedUponAddress.ID.Equals(existingId))
            //       {
            //           //check for duplicate address.
            //           if (ProductsBase.GetShippingProvider().duplicateShippingAddress(addressList, this.WorkedUponAddress))
            //           {
            //               this.trError.Visible = true;
            //               this.blErrors.Items.Add(new ListItem(PlatformResources.GetGlobalResourceString("ErrorMessage", "AddressExists")));
            //               return;
            //           }
            //       }
            //   }
            //}

            int saveWorkingID = WorkedUponAddress.ID;

            var existentAdd =
                addressList.Where(l => l.Alias != null && l.Alias.Equals(txtNickname.Text.Trim())).FirstOrDefault();

            existingId = (existentAdd != null) ? existentAdd.ID : 0;

            if (!WorkedUponAddress.ID.Equals(existingId))
            {
                isNicknameEntered = true;
            }

            WorkedUponAddress.Alias = txtNickname.Text.Trim();

            //1) Submit validated chnages to Shippping Provider
            WorkedUponAddress.ID = ProductsBase.GetShippingProvider().SaveShippingAddress
                                       (distributorID, locale, WorkedUponAddress
                                       , toSession
                                       , true
                                       , isNicknameEntered);

            if (WorkedUponAddress.ID == -2) //duplicateShippingAddress
            {
                trError.Visible = true;
                blErrors.Items.Add(
                    new ListItem(PlatformResources.GetGlobalResourceString("ErrorMessage", "AddressExists")));
                return;
            }
            if (WorkedUponAddress.ID == -3) //duplicateNickName
            {
                trError.Visible = true;
                blErrors.Items.Add(
                    new ListItem(PlatformResources.GetGlobalResourceString("ErrorMessage", "DuplicateAddressNickname")));

                // don't loose the ID , otherwise it will become an insert
                if (isNicknameEntered)
                {
                    WorkedUponAddress.ID    = saveWorkingID;
                    WorkedUponAddress.Alias = txtNickname.Text.Trim();
                }

                return;
            }
            else
            {
                WorkedUponAddress.DisplayName = WorkedUponAddress.Alias == string.Empty
                                                    ? shippingProvider.GetAddressDisplayName(WorkedUponAddress)
                                                    : WorkedUponAddress.Alias;

                ShoppingCart.CopyInvoiceStatus = ServiceProvider.CatalogSvc.CopyInvoiceStatus.success;
                Session["IsCopingFromInvoice"] = null;
                OnShippingAddressChanged(this,
                                         new ShippingAddressEventArgs(distributorID, WorkedUponAddress, false, false));
            }
        }
Ejemplo n.º 24
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;
            }
        }
        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;
                }
            }
        }
Ejemplo n.º 26
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;
                }
            }
        }
Ejemplo n.º 27
0
 protected void Page_Load(object sender, EventArgs e)
 {
     _shippingProvider = ProductsBase.GetShippingProvider() as ShippingProvider_JP;
 }
        protected void ContinueChanges_Click(object sender, EventArgs e)
        {
            lblErrors.Text = "";
            if (SourceCommand.Mode == PickupCommandType.DELETE)
            {
                try
                {
                    if (WorkedUponDeliveryOptionId == 0)
                    {
                        int value = 0;
                        int.TryParse(Session["IDToDelete"].ToString(), out value);
                        WorkedUponDeliveryOptionId = value;
                    }
                }
                catch
                {
                    WorkedUponDeliveryOptionId = int.Parse(Session["IDToDelete"].ToString());
                }

                int returnId = (Page as ProductsBase).GetShippingProvider().DeletePickupLocationsPreferences((Page as ProductsBase).DistributorID, WorkedUponDeliveryOptionId, (Page as ProductsBase).CountryCode);

                OnPickupPreferenceDeleted(this, new DeliveryOptionEventArgs(WorkedUponDeliveryOptionId, string.Empty));
            }
            else
            {
                var jsonResponse = JObject.Parse(hdnMapResponse.Value);

                // Validate if could retrieve the address from the 7Eleven map
                if (jsonResponse == null)
                {
                    lblErrors.Text = "Error retrieving map response.";
                    return;
                }

                if (jsonResponse != null && jsonResponse["error"] != null)
                {
                    lblErrors.Text = jsonResponse["error"].ToString();
                    return;
                }

                // Save Address with jsonResponse
                var pickupLocationId = jsonResponse["storeCode"] != null ? (int)jsonResponse["storeCode"] : -1;
                if (pickupLocationId < 0)
                {
                    lblErrors.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "NoPickUpLocation");
                    return;
                }

                bool     isSession      = !HLConfigManager.Configurations.CheckoutConfiguration.SavePickupFromCourierPreferences;
                string   branchName     = jsonResponse["storeName"] != null ? jsonResponse["storeName"].ToString() : string.Empty;
                string   addressDetails = jsonResponse["address"] != null ? jsonResponse["address"].ToString() : string.Empty;
                string[] parts          = addressDetails.Split(' ');
                string   postalCode     = string.Empty;
                string   province       = string.Empty;
                string   subdistrict    = string.Empty;
                string   district       = string.Empty;
                string   address        = string.Empty;
                if (parts.Length > 4)
                {
                    postalCode  = parts[parts.Length - 1].ToString();
                    province    = parts[parts.Length - 2].ToString();
                    subdistrict = parts[parts.Length - 3].ToString();
                    district    = parts[parts.Length - 4].ToString();
                    StringBuilder builder      = new StringBuilder();
                    var           addressValue = parts.Take(parts.Length - 4);
                    foreach (string add in addressValue)
                    {
                        builder.Append(add);
                        builder.Append(" ");
                    }
                    address = builder.ToString();
                }
                else if (parts.Length == 4)
                {
                    postalCode  = parts[parts.Length - 1].ToString();
                    province    = parts[parts.Length - 2].ToString();
                    subdistrict = parts[parts.Length - 3].ToString();
                    district    = parts[parts.Length - 4].ToString();
                    address     = subdistrict;
                }

                var freightCodeAndWarehouse = ProductsBase.GetShippingProvider().GetFreightCodeAndWarehouse(new ShippingAddress_V01()
                {
                    Address = new Address_V01()
                    {
                        StateProvinceTerritory = "*"
                    }
                });

                // Create
                var courierLocation = new InsertCourierLookupRequest_V01()
                {
                    Locale             = this.Locale,
                    CountryCode        = this.CountryCode,
                    FreightCode        = freightCodeAndWarehouse[0],
                    WarehouseCode      = freightCodeAndWarehouse[1],
                    CourierStoreNumber = pickupLocationId,
                    State            = province,
                    CourierStoreName = branchName,
                    Zip                   = postalCode,
                    City                  = district,
                    Street1               = address,
                    Street2               = subdistrict,
                    CourierType           = DEFAULT_COURIERTYPE,
                    CourierStoreId        = pickupLocationId.ToString(),
                    AdditionalInformation = GetLocalResourceObject("DefaultAdditionalInfo") as string
                };

                int retValue = ProductsBase.GetShippingProvider().SavePickupLocation(courierLocation);

                if (retValue == pickupLocationId)
                {
                    // Save PickupLocationPreference
                    int returnId = ProductsBase.GetShippingProvider().
                                   SavePickupLocationsPreferences(DistributorID, isSession, pickupLocationId, string.Format("{0} #{1}", GetLocalResourceObject("DefaultNickname") as string, pickupLocationId), branchName, CountryCode, false, DEFAULT_COURIERTYPE);

                    if (returnId == -2) //duplicate nickname
                    {
                        lblErrors.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "DuplicateAddressNickname");
                        return;
                    }

                    if (returnId == -3) //duplicate pickuplocation
                    {
                        lblErrors.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "DuplicatePickupLocation");
                        return;
                    }

                    // Add PickupLocation to cache and select
                    OnPickupPreferenceCreated(this, new DeliveryOptionEventArgs(returnId, DEFAULT_COURIERTYPE));
                }
                else
                {
                    lblErrors.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "CannotSavePickupLocation");
                    return;
                }
            }

            ClosePopup();
        }
        protected override void loadAddressEditMode()
        {
            int id = 0;

            if (DropdownNickName.SelectedIndex >= 0)
            {
                if (int.TryParse(DropdownNickName.SelectedValue, out id))
                {
                    DeliveryOptionType option = getDeliveryOptionTypeFromDropdown(DeliveryType);
                    //DeliveryOption deliveryOption = getSelectedAddress(id, (DeliveryOptionType)Enum.Parse(typeof(DeliveryOptionType), DeliveryType.SelectedValue));
                    DeliveryOption deliveryOption = null;
                    if (option == DeliveryOptionType.Shipping || option == DeliveryOptionType.ShipToCourier)
                    {
                        var addresses = _shippingAddresses.Where(s => s.Id == id);
                        if (addresses.Count() == 0)
                        {
                            addresses = _shippingAddresses.Where(s => s.IsPrimary);
                        }
                        deliveryOption = addresses.Count() == 0 ? null : addresses.First();
                    }
                    else if (option == DeliveryOptionType.PickupFromCourier)
                    {
                        var varPref = _pickupRrefList.Where(f => f.ID == id);
                        if (varPref.Count() > 0)
                        {
                            int PickupLocationID = varPref.First().PickupLocationID;

                            List <DeliveryOption> doList = ShippingProvider.GetDeliveryOptions(option,
                                                                                               new ShippingAddress_V01
                            {
                                Address =
                                    new Address_V01
                                {
                                    Country = "PT"
                                }
                            });
                            if (doList != null)
                            {
                                deliveryOption = doList.Find(d => d.Id == PickupLocationID);
                            }
                        }
                    }
                    else
                    {
                        if (_pickupLocations != null && _pickupLocations.Count > 0)
                        {
                            var varPickupLocation = _pickupLocations.Where(p => p.Id == id);
                            if (varPickupLocation.Count() > 0)
                            {
                                deliveryOption = varPickupLocation.First();
                            }
                        }
                    }
                    if (deliveryOption != null)
                    {
                        if (option == DeliveryOptionType.Unknown && CheckNoDeliveryType(DeliveryType))
                        {
                            option = DeliveryOptionType.Shipping;
                        }
                        if (option == DeliveryOptionType.ShipToCourier)
                        {
                            option = DeliveryOptionType.Shipping;
                        }
                        pAddress.InnerHtml = ProductsBase.GetShippingProvider()
                                             .FormatShippingAddress(deliveryOption, option,
                                                                    ShoppingCart != null &&
                                                                    ShoppingCart.DeliveryInfo != null
                                                                                    ? ShoppingCart.DeliveryInfo
                                                                    .Description
                                                                                    : string.Empty, true);
                    }
                }
            }
        }
 private void FetchShippingModel()
 {
     ShippingAddresses =
         ProductsBase.GetShippingProvider().GetShippingAddresses(
             DistributorID, Locale);
 }