public ConfigurationFactory(IStoreRepository storeRepository)
        {
            var config = ConfigurationManager.GetSection("commerceEngine") as CommerceEngineConfigurationSection;

            if (config == null)
            {
                return;
            }

            this._paymentProvider = Activator.CreateInstance(Type.GetType(config.PaymentProvider.Type)) as IPaymentProvider;
            if (this._paymentProvider != null)
            {
                this._paymentProvider.Login    = config.PaymentProvider.Login;
                this._paymentProvider.Password = config.PaymentProvider.Password;
            }

            this._mailingProvider = Activator.CreateInstance(Type.GetType(config.MailingProvider.Type)) as IMailingProvider;
            if (this._mailingProvider != null)
            {
                this._mailingProvider.FromAddress = config.MailingProvider.FromAddress;
                this._mailingProvider.SmtpServer  = config.MailingProvider.SmtpServer;
            }

            this._shippingProvider = Activator.CreateInstance(Type.GetType(config.ShippingProvider.Type)) as IShippingProvider;

            this._commerceEvents = new CommerceEvents();
            foreach (ProviderSettings element in config.Modules)
            {
                var module = Activator.CreateInstance(Type.GetType(element.Type)) as ICommerceModule;
                module?.Initialize(this._commerceEvents, element.Parameters);
            }
        }
        /// <summary>
        ///     Get the states from provider.
        /// </summary>
        /// <returns>Success flag.</returns>
        private bool LookupStates()
        {
            bool lookedUp = false;

            dnlState.Items.Clear();
            IShippingProvider provider =
                ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);

            if (provider != null)
            {
                var lookupResults = provider.GetStatesForCountry(ProductsBase.CountryCode);
                if (lookupResults != null && lookupResults.Count > 0)
                {
                    var items = (from s in lookupResults select new ListItem {
                        Text = s, Value = s
                    }).ToArray();
                    dnlState.Items.AddRange(items);
                    dnlState.Items.Insert(
                        0, new ListItem(GetLocalResourceObject("Select") as string, string.Empty));
                    dnlState.SelectedIndex = 0;
                    lookedUp = true;
                }
            }
            return(lookedUp);
        }
        private bool LookupCity(string state, string county)
        {
            IShippingProvider provider = ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);

            if (provider == null)
            {
                return(false);
            }

            string city = provider.GetAddressField(new AddressFieldForCountryRequest_V01()
            {
                AddressField = AddressPart.CITY,
                Country      = ProductsBase.CountryCode,
                State        = state,
                County       = county
            }).FirstOrDefault();

            if (city != null)
            {
                txtCity.Text = city;
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 4
0
        private bool LookupCities()
        {
            bool lookedUp = false;

            dnlCity.Items.Clear();
            IShippingProvider provider = ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);

            if (provider != null)
            {
                var lookupResults = provider.GetCitiesForState(
                    ProductsBase.CountryCode, ProductsBase.CountryCode);
                if (lookupResults != null && lookupResults.Count > 0)
                {
                    foreach (var city in lookupResults)
                    {
                        dnlCity.Items.Add(new ListItem(city));
                    }
                    dnlCity.Items.Insert(
                        0, new ListItem(GetLocalResourceObject("Select") as string, string.Empty));
                    dnlCity.SelectedIndex = 0;
                    lookedUp = true;
                }
            }
            return(lookedUp);
        }
        private bool LookupCities(string state)
        {
            bool lookedUp = false;

            ddlCity.Items.Clear();
            IShippingProvider provider = ShippingProvider.
                                         GetShippingProvider(_countryCode);

            if (provider != null)
            {
                if (!state.Equals(string.Empty))
                {
                    List <string> lookupResults = provider.GetCitiesForState(_countryCode, state);
                    if (null != lookupResults && lookupResults.Count > 0)
                    {
                        for (int i = 0; i < lookupResults.Count; i++)
                        {
                            ddlCity.Items.Insert(i, new ListItem(lookupResults[i]));
                        }
                        ddlCity.Items.Insert(0,
                                             new ListItem(base.GetLocalResourceObject("Select") as string, string.Empty));
                        ddlCity.SelectedIndex = 0;
                        lookedUp = true;
                    }
                }
            }

            return(lookedUp);
        }
Esempio n. 6
0
        private bool AVSAddressValidationCheck(out string errorCode,
                                               out ServiceProvider.AddressValidationSvc.Address avsAddress)
        {
            errorCode  = string.Empty;
            avsAddress = null;

            if (ProductsBase.CountryCode.Equals("US"))
            {
                IShippingProvider provider = ShippingProvider.GetShippingProvider("US");
                if (provider != null)
                {
                    return(provider.ValidateAddress(_shippingAddr, out errorCode,
                                                    out avsAddress));
                }
            }
            else if (ProductsBase.CountryCode.Equals("PR"))
            {
                IShippingProvider provider = ShippingProvider.GetShippingProvider("PR");
                if (provider != null)
                {
                    return(provider.ValidateAddress(_shippingAddr, out errorCode,
                                                    out avsAddress));
                }
            }



            return(true);
        }
/*
 *      private bool LookupProvince(string zipCode)
 *      {
 *          bool lookedUp = false;
 *          dnlState.Items.Clear();
 *          if (!string.IsNullOrEmpty(zipCode))
 *          {
 *              IShippingProvider provider = ShippingProvider.GetShippingProvider(
 *                      ProductsBase.CountryCode);
 *              if (provider != null)
 *              {
 *                  var lookupResults = provider.LookupCitiesByZip(ProductsBase.CountryCode, zipCode);
 *                  if (lookupResults != null && lookupResults.Count > 0)
 *                  {
 *                      foreach (var province in lookupResults)
 *                      {
 *                          string[] state = province.State.Split('-');
 *                          dnlState.Items.Add(new ListItem(state[0], state[1]));
 *                      }
 *
 *                      if (lookupResults.Count > 1)
 *                      {
 *                          dnlState.Items.Insert(0, new ListItem(base.GetLocalResourceObject("Select") as string, "0"));
 *                      }
 *                      dnlState.SelectedIndex = 0;
 *                      lookedUp = true;
 *                  }
 *              }
 *          }
 *          return lookedUp;
 *      }
 */
        /*     protected void txtPostCode_TextChanged(object sender, EventArgs e)
         *   {
         *       dnlState.Items.Clear();
         *       if (!string.IsNullOrEmpty(dnlPostCode.SelectedItem.Text))
         *       {
         *           LookupProvince(txtPostCode.Text);
         *       }
         *   }*/

        private bool LookupStates()
        {
            bool lookedUp = false;

            dnlState.Items.Clear();
            IShippingProvider provider = ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);

            if (provider != null)
            {
                var lookupResults = provider.GetStatesForCountry(ProductsBase.CountryCode);
                if (lookupResults != null && lookupResults.Count > 0)
                {
                    foreach (var province in lookupResults)
                    {
                        string[] state = province.Split('-');
                        dnlState.Items.Add(new ListItem(state[0], state[1]));

                        //dnlState.Items.Add(new ListItem(province));
                    }
                    dnlState.Items.Insert(0, new ListItem(base.GetLocalResourceObject("Select") as string, string.Empty));
                    dnlState.SelectedIndex = 0;
                    lookedUp = true;
                }
            }
            return(lookedUp);
        }
        private bool LookupCounties(string state, string city)
        {
            bool lookedUp = false;

            dnlDistrict.Items.Clear();
            IShippingProvider provider =
                ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);

            if (provider != null)
            {
                var lookupResults = provider.GetStreetsForCity(ProductsBase.CountryCode, state, city);
                if (lookupResults != null && lookupResults.Count > 0)
                {
                    foreach (var district in lookupResults)
                    {
                        string[] item = district.Split('-');
                        dnlDistrict.Items.Add(new ListItem(item[1], item[0]));
                    }
                    dnlDistrict.Items.Insert(0, new ListItem(GetLocalResourceObject("Select") as string, string.Empty));
                    dnlDistrict.SelectedIndex = 0;
                    lookedUp = true;
                }
                else
                {
                    dnlCity.Focus();
                }
            }
            return(lookedUp);
        }
Esempio n. 9
0
        private bool LookupZones(string state, string county)
        {
            bool lookedUp = false;

            dnlZone.Items.Clear();

            IShippingProvider provider =
                ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);

            if (provider == null)
            {
                return(lookedUp);
            }

            var lookupResults = provider.GetCountiesForCity(ProductsBase.CountryCode, state, county);

            if (lookupResults != null && lookupResults.Count > 0)
            {
                foreach (var zone in lookupResults)
                {
                    if (!String.IsNullOrEmpty(zone))
                    {
                        dnlZone.Items.Add(new ListItem(zone, zone));
                    }
                }
                lookedUp = true;
            }

            dnlZone.Items.Insert(0, new ListItem(GetLocalResourceObject("Select") as string, string.Empty));
            dnlZone.SelectedIndex = 0;

            return(lookedUp);
        }
Esempio n. 10
0
 private bool LookupAddress(string Zipcode)
 {
     if (!string.IsNullOrEmpty(Zipcode))
     {
         IShippingProvider provider = ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);
         if (provider != null)
         {
             var Address = ShippingProvider_JP.GetAddressByPostalCode(ProductsBase.CountryCode, Zipcode);
             if (Address != null && Address.AddressDetails != null && Address.AddressDetails.Count > 0)
             {
                 string        CityTown = Address.AddressDetails[0].City.ToString();
                 List <string> words    = Regex.Split(CityTown, @"\W+").ToList();
                 txtCity.Text = words[0].ToString();
                 if (words.Count > 1)
                 {
                     txtTown.Text   = words[1].ToString();
                     txtStreet.Text = Address.AddressDetails[0].Street.ToString();
                 }
                 else
                 {
                     txtTown.Text = Address.AddressDetails[0].Street.ToString();
                 }
                 txtPrefecture.Text = Address.AddressDetails[0].State.ToString();
                 return(true);
             }
             else
             {
                 return(false);
             }
         }
     }
     return(false);
 }
        private bool LookupStates()
        {
            bool lookedUp = false;

            dnlCity.Items.Clear();
            dnlSuburb.Items.Clear();
            IShippingProvider provider =
                ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);

            if (provider != null)
            {
                var lookupResults = provider.GetStatesForCountry(ProductsBase.CountryCode);
                if (lookupResults != null && lookupResults.Count > 0)
                {
                    //TR compatibility with old and new version of data.
                    lookupResults.Remove("-");
                    foreach (var city in lookupResults)
                    {
                        dnlCity.Items.Add(new ListItem(city));
                    }
                    dnlCity.Items.Insert(0, new ListItem(base.GetLocalResourceObject("Select") as string, string.Empty));
                    dnlCity.SelectedIndex = 0;
                    lookedUp = true;
                }
            }
            return(lookedUp);
        }
        private bool LookupProvince()
        {
            bool lookedUp = false;

            dnlProvince.Items.Clear();
            dnlSuburb.Items.Clear();
            dnlSuburb.Text = string.Empty;
            dnlPostalCode.Items.Clear();

            IShippingProvider provider = ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);

            if (provider != null)
            {
                var lookupResults = provider.GetStatesForCountry(ProductsBase.CountryCode);
                if (lookupResults != null && lookupResults.Any())
                {
                    foreach (var province in lookupResults)
                    {
                        dnlProvince.Items.Add(new ListItem(province));
                    }
                    dnlProvince.Items.Insert(0, new ListItem(GetLocalResourceObject("Select") as string, string.Empty));
                    dnlProvince.SelectedIndex = 0;
                    lookedUp = true;
                }
            }
            return(lookedUp);
        }
 public PaymentAcceptedConsumer(IShippingAddressesRepository shippingAddressesRepository,
                                IShippingProvider shippingProvider, IShippingOrderRepository shippingOrderRepository)
 {
     _shippingAddressesRepository = shippingAddressesRepository;
     _shippingProvider            = shippingProvider;
     _shippingOrderRepository     = shippingOrderRepository;
 }
 private bool LookupState(string zipCode)
 {
     dnlState.Items.Clear();
     if (!string.IsNullOrEmpty(zipCode) && zipCode.Trim().Length > 3)
     {
         IShippingProvider provider = ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);
         if (provider != null)
         {
             var lookupResults = provider.LookupCitiesByZip(ProductsBase.CountryCode, zipCode.Substring(0, 3));
             if (lookupResults != null && lookupResults.Count > 0)
             {
                 var items = (from s in lookupResults select new ListItem {
                     Text = s.State, Value = s.State
                 }).ToArray();
                 this.dnlState.Items.AddRange(items);
                 if (lookupResults.Count > 1)
                 {
                     this.dnlState.Items.Insert(0, new ListItem(this.GetLocalResourceObject("Select") as string, string.Empty));
                     this.dnlState.SelectedIndex = 0;
                     dnlState.Focus();
                 }
                 else
                 {
                     txtArea.Focus();
                 }
                 this.dnlState.SelectedIndex = 0;
                 return(true);
             }
         }
     }
     return(false);
 }
        /// <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();
            }
        }
        /// <summary>
        ///     Gets the cities from service.
        /// </summary>
        /// <returns>Success flag.</returns>
        private bool LookupCities()
        {
            dnlCity.Items.Clear();
            IShippingProvider provider =
                ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);

            if (provider != null)
            {
                // For Serbia, state code is same as country code in db
                var lookupResults = provider.GetCitiesForState(ProductsBase.CountryCode, ProductsBase.CountryCode);
                if (lookupResults != null && lookupResults.Count > 0)
                {
                    foreach (var cityZip in lookupResults)
                    {
                        // value is postal code, text is city name
                        dnlCity.Items.Add(new RadComboBoxItem(cityZip.Split(',')[1],
                                                              cityZip.Split(',')[0]));
                    }
                    dnlCity.Items.Insert(0, new RadComboBoxItem(GetLocalResourceObject("Select") as string, string.Empty));
                    dnlCity.SelectedIndex = 0;
                    return(true);
                }
            }
            return(false);
        }
        private bool LookupPostal(string state, string city, string county)
        {
            bool lookedUp = false;

            dnlPostalCode.Items.Clear();
            IShippingProvider provider =
                ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);

            if (provider != null)
            {
                var lookupResults = provider.GetZipsForCounty(ProductsBase.CountryCode, state, city, county);

                if (lookupResults != null && lookupResults.Count > 0)
                {
                    foreach (var zip in lookupResults)
                    {
                        dnlPostalCode.Items.Add(new ListItem(zip));
                    }
                    if (dnlPostalCode.Items.Count != 1)
                    {
                        dnlPostalCode.Items.Insert(0, new ListItem(base.GetLocalResourceObject("Select") as string, string.Empty));
                        dnlPostalCode.SelectedIndex = 0;
                    }
                    lookedUp = true;
                }
                else
                {
                    dnlCounty.Focus();
                }
            }
            return(lookedUp);
        }
Esempio n. 18
0
        /// <scess flag.ummary>
        ///     Gets the localities for a city from service.
        ///     </summary>
        ///     <param name="city">City name.</param>
        ///     <returns>Succes flag.</returns>
        private bool LookupLocalities(string city)
        {
            bool lookedUp = false;

            dnlLocality.Items.Clear();
            dnlStreetType.Items.Clear();
            dnlStreet.Items.Clear();
            dnlStreet.Text = string.Empty;
            dnlPostCode.Items.Clear();
            IShippingProvider provider =
                ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);

            if (provider != null)
            {
                // We use the city field from service to store the locality info
                var lookupResults = provider.GetCitiesForState(ProductsBase.CountryCode, city);
                if (lookupResults != null && lookupResults.Count > 0)
                {
                    foreach (var locality in lookupResults)
                    {
                        dnlLocality.Items.Add(new ListItem(locality));
                    }
                    dnlLocality.Items.Insert(0,
                                             new ListItem(base.GetLocalResourceObject("Select") as string, string.Empty));
                    dnlLocality.SelectedIndex = 0;
                    lookedUp = true;
                }
                else
                {
                    dnlCity.Focus();
                }
            }
            return(lookedUp);
        }
Esempio n. 19
0
        protected virtual bool hasNoPreference()
        {
            IShippingProvider     ShippingProvider  = ProductsBase.GetShippingProvider();
            List <DeliveryOption> shippingAddresses =
                ShippingProvider.GetShippingAddresses(DistributorID, Locale);

            return(shippingAddresses == null || shippingAddresses.Count == 0);
        }
        public CommerceManager(IStoreRepository storeRepository, IConfigurationFactory configurationFactory)
        {
            this._storeRepository = storeRepository;

            this._mailingProvider  = configurationFactory.GetMailer();
            this._paymentProvider  = configurationFactory.GetPaymentProcessor();
            this._shippingProvider = configurationFactory.GetShippingProcessor();
            this._commerceEvents   = configurationFactory.GetCommerceEvents();
        }
Esempio n. 21
0
        protected string GetConfigReference(object dataItem)
        {
            IShippingProvider provider = ((ShipGateway)dataItem).GetProviderInstance();

            if (provider != null)
            {
                return(provider.Description);
            }
            return(string.Empty);
        }
Esempio n. 22
0
        public bool DeletePickUpLocation(string memberId, PickupViewModel model, string locale)
        {
            IShippingProvider shippingProvider = ShippingProvider.GetShippingProvider(locale.Substring(3));

            if (null != shippingProvider)
            {
                shippingProvider.DeletePickupLocationsPreferences(memberId, model.DeliveryOptionId,
                                                                  model.Address.Country);
            }
            return(true);
        }
Esempio n. 23
0
        protected string GetLogoUrl(object dataItem)
        {
            ShipGateway       gateway  = (ShipGateway)dataItem;
            IShippingProvider provider = gateway.GetProviderInstance();

            if (provider != null)
            {
                return(provider.GetLogoUrl(Page.ClientScript));
            }
            return(string.Empty);
        }
Esempio n. 24
0
        protected string GetConfigUrl(object dataItem)
        {
            ShipGateway       gateway  = (ShipGateway)dataItem;
            IShippingProvider provider = gateway.GetProviderInstance();

            if (provider != null)
            {
                return(provider.GetConfigUrl(Page.ClientScript) + "?ShipGatewayId=" + gateway.Id.ToString());
            }
            return(string.Empty);
        }
        private void RenderAddShippingView()
        {
            FetchShippingModel();
            ShowCheckboxes();

            ////Pull in the right AddressWindow definition (declarative controlset) from XML and load them
            ordering.AddressBase shippingAddressCtrl = getShippingControl(colNewShippingAddress);

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

            //set default data context & put it in session
            //ShippingAddress_V02 shipAddr = new ShippingAddress_V02();
            //shipAddr.Address = new Address_V01();
            //shipAddr.Address.Country = CountryCode;

            var shipAddr = shippingProvider.GetDefaultAddress() as ShippingAddress_V02;

            if (null != shippingAddressCtrl)
            {
                if (ShoppingCart.IsFromInvoice)
                {
                    shippingAddressCtrl.DataContext = WorkedUponAddress;
                }
                else
                {
                    shippingAddressCtrl.DataContext = shipAddr;
                }
            }
            shipAddr.Address.Country = CountryCode;

            if (null == ShippingAddresses || ShippingAddresses.Count == 0) //Eval UC:3.5.3.1 (no existing saved address)
            {
                //Both “Save this shipping address” and “Make this my primary shipping address” are checked.
                //      The actor cannot uncheck either checkboxes
                cbMakePrimary.Checked = true;
                cbMakePrimary.Enabled = false;
                cbSaveThis.Checked    = true;
                cbSaveThis.Enabled    = false;
            }
            else //Eval UC:3.5.3.2 (atleast 1 address exists)
            {
                cbMakePrimary.Checked = false;
                cbMakePrimary.Enabled = true;
                cbSaveThis.Checked    = true;
                cbSaveThis.Enabled    = Locale == "de-DE" ? false : true;
            }

            //If the popup is called from “Order Preference” section, then 'Save' button is invisible.
            if (hfDiableSavedCheckbox.Value.ToLower().Equals("true"))
            {
                cbSaveThis.Visible = false;
            }
        }
        private void ProcessDeleteShippingSubmit()
        {
            string distributorID = (Page as ProductsBase).DistributorID;
            string locale        = (Page as ProductsBase).Locale;

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

            shippingProvider.DeleteShippingAddress(distributorID, locale, WorkedUponAddress);

            OnShippingAddressDeleted(this, new ShippingAddressEventArgs(distributorID, WorkedUponAddress, false, false));
            //popup_AddEditShippingControl.Hide();
        }
Esempio n. 27
0
        public PickupViewModel SavePickUpPreference(string memberId, PickupViewModel model, string locale)
        {
            IShippingProvider shippingProvider = ShippingProvider.GetShippingProvider(locale.Substring(3));

            if (null != shippingProvider)
            {
                model.IDSaved = shippingProvider.SavePickupLocationsPreferences(memberId, false, model.DeliveryOptionId, model.Alias,
                                                                                model.Name, model.Address.Country, model.IsPrimary);
            }

            return(model);
        }
Esempio n. 28
0
        private void LoadShippingAdmin(string providerName)
        {
            plhShippingProvider.Controls.Clear();

            //Get an instance of the provider
            IShippingProvider shippingProvider = StoreController.GetShippingProvider(providerName);

            //Create an instance of the provider's admin control
            ProviderControlBase providerControl = shippingProvider.GetAdminControl(this, ControlPath);

            providerControl.ID = "ShippingProvider";

            plhShippingProvider.Controls.Add(providerControl);
        }
Esempio n. 29
0
        /// <summary>
        /// Loads the providers.
        /// </summary>
        private void LoadProviders()
        {
            DatabaseConfigurationProvider databaseConfigurationProvider = new DatabaseConfigurationProvider();
            ShippingServiceSettings       shippingServiceSettings       =
                databaseConfigurationProvider.FetchConfigurationByName(ShippingServiceSettings.SECTION_NAME) as ShippingServiceSettings;
            IShippingProvider shippingProvider = null;
            Type type = null;

            foreach (ProviderSettings providerSettings in shippingServiceSettings.ProviderSettingsCollection)
            {
                type             = Type.GetType(providerSettings.Type);
                shippingProvider = Activator.CreateInstance(type, providerSettings.Arguments) as IShippingProvider;
                Validator.ValidateObjectIsNotNull(shippingProvider, SHIPPING_PROVIDER);
                _shippingProviderCollection.Add(shippingProvider);
            }
        }
        private bool LookupPostal(string state, string city, string county)
        {
            bool lookedUp = false;

            dnlPostCode.Items.Clear();
            List <string>     lookupResults = new List <string>();
            IShippingProvider provider      =
                ShippingProvider.GetShippingProvider(ProductsBase.CountryCode);

            if (provider != null)
            {
                if (dnlCounty.Items.Count == 0)
                {
                    lookupResults = provider.GetAddressField(new AddressFieldForCountryRequest_V01()
                    {
                        AddressField = AddressPart.ZIPCODE,
                        Country      = ProductsBase.CountryCode,
                        State        = state,
                        City         = city
                    });
                }
                else
                {
                    lookupResults = provider.GetZipsForCounty(ProductsBase.CountryCode, state, city, county);
                }

                if (lookupResults != null && lookupResults.Count > 0)
                {
                    foreach (var zip in lookupResults)
                    {
                        dnlPostCode.Items.Add(new ListItem(zip));
                    }
                    if (dnlPostCode.Items.Count != 1)
                    {
                        dnlPostCode.Items.Insert(0, new ListItem(base.GetLocalResourceObject("Select") as string, string.Empty));
                        dnlPostCode.SelectedIndex = 0;
                    }
                    lookedUp = true;
                }
                else
                {
                    dnlCounty.Focus();
                }
            }
            return(lookedUp);
        }
Esempio n. 31
0
 /// <summary>
 ///     Adds the specified provider to be rated when <see cref="GetRates" /> is called.
 /// </summary>
 /// <param name="provider">A provider-specific implementation of <see cref="ShippingProviders.IShippingProvider" />.</param>
 public void AddProvider(IShippingProvider provider)
 {
     _providers.Add(provider);
 }