Example #1
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            int storeId = StoreContext.CurrentStore.Id.Value;

            ShipmentPackagingStrategy shipmentPackagingStrategy = WA.Enum <ShipmentPackagingStrategy> .TryParseOrDefault(StoreContext.CurrentStore.GetSetting(StoreSettingNames.ShipmentPackagingStrategy), ShipmentPackagingStrategy.SingleBox);

            ddlShipmentPackaging.SelectedValue = shipmentPackagingStrategy.ToString();

            //---- Custom Shipping
            shippingTablesService = DataModel.ShippingService.FindOrCreateNew(storeId, ShippingProviderType.CustomShipping);
            if (shippingTablesService.ShippingServiceRateTypeCollectionByShippingServiceId.Count == 0)
            {
                var defaultRateType = shippingTablesService.ShippingServiceRateTypeCollectionByShippingServiceId.AddNew();
                defaultRateType.Name        = "FREE Shipping";
                defaultRateType.DisplayName = "FREE Shipping";
                defaultRateType.IsEnabled   = true;
                defaultRateType.SortOrder   = 1;

                var defaultRate = defaultRateType.ShippingServiceRateCollectionByRateTypeId.AddNew();
                defaultRate.WeightMin = 0;
                defaultRate.WeightMax = 999999;
                defaultRate.Cost      = 0;

                shippingTablesService.Save();
            }
            //shippingTablesProvider = ShippingProviderFactory.Get(storeId, ShippingProviderType.CustomShipping);

            //--- FedEx
            fedExService = DataModel.ShippingService.FindOrCreateNew(storeId, ShippingProviderType.FedEx);
            //fedExProvider = ShippingProviderFactory.Get(storeId, ShippingProviderType.FedEx);
            // FedEx - Add RateTypes for this service if they don't exist
            List <ShippingServiceRateType> rateTypes = fedExService.GetAllRateTypes();

            string[] allRateTypes = WA.Enum <WA.Shipping.FedExServiceType> .GetNames();

            foreach (string rateType in allRateTypes)
            {
                if (!rateTypes.Exists(x => x.Name == rateType))
                {
                    var newRateType = fedExService.ShippingServiceRateTypeCollectionByShippingServiceId.AddNew();
                    newRateType.Name        = rateType;
                    newRateType.DisplayName = rateType;
                    newRateType.IsEnabled   = true;
                    newRateType.SortOrder   = 99;
                }
            }
            fedExService.Save();

            //--- UPS
            upsService = DataModel.ShippingService.FindOrCreateNew(storeId, ShippingProviderType.UPS);
            upsService.Save();
        }
        private void Init(int storeId, ShippingProviderType providerType)
        {
            this.storeId      = storeId;
            this.providerType = providerType;

            dbShippingService = DataModel.ShippingService.Find(storeId, providerType);
            if (dbShippingService == null)
            {
                throw new ApplicationException(string.Format("Unable to find ShippingService for ProviderType '{0}'", providerType));
            }
            this.config = dbShippingService.GetSettingsDictionary();
        }