/// <summary>
        /// Initializes a new instance of the <see cref="UPSEPricingSet"/> class.
        /// </summary>
        /// <param name="configName">Name of the configuration.</param>
        /// <param name="scaleConfigName">Name of the scale configuration.</param>
        /// <param name="bundleConfigName">Name of the bundle configuration.</param>
        /// <param name="bundleScaleConfigName">Name of the bundle scale configuration.</param>
        /// <param name="pricing">The pricing.</param>
        /// <param name="theDelegate">The delegate.</param>
        public UPSEPricingSet(string configName, string scaleConfigName, string bundleConfigName, string bundleScaleConfigName,
                              UPSEPricing pricing, UPSEPricingSetDelegate theDelegate)
        {
            this.fastRequest = ServerSession.CurrentSession.IsEnterprise;
            IConfigurationUnitStore configStore = ConfigurationUnitStore.DefaultStore;

            this.ConfigSearchAndList = configStore.SearchAndListByName(configName);
            this.ConfigFieldControl  = this.ConfigSearchAndList != null?configStore.FieldControlByNameFromGroup("List", this.ConfigSearchAndList.FieldGroupName) : null;

            if (this.ConfigFieldControl == null)
            {
                throw new InvalidOperationException("ConfigFieldControl is null");
            }

            this.TheDelegate = theDelegate;
            this.Pricing     = pricing;
            if (!string.IsNullOrEmpty(scaleConfigName))
            {
                this.ScaleConfigSearchAndList = configStore.SearchAndListByName(scaleConfigName);
                this.ScaleConfigFieldControl  = this.ScaleConfigSearchAndList != null?configStore.FieldControlByNameFromGroup("List", this.ScaleConfigSearchAndList.FieldGroupName) : null;
            }

            if (!string.IsNullOrEmpty(bundleConfigName))
            {
                this.BundleConfigSearchAndList = configStore.SearchAndListByName(bundleConfigName);
                this.BundleConfigFieldControl  = this.BundleConfigSearchAndList != null?configStore.FieldControlByNameFromGroup("List", this.BundleConfigSearchAndList.FieldGroupName) : null;

                if (!string.IsNullOrEmpty(bundleScaleConfigName))
                {
                    this.BundleScaleConfigSearchAndList = configStore.SearchAndListByName(bundleScaleConfigName);
                    this.BundleScaleConfigFieldControl  = this.BundleScaleConfigSearchAndList != null?configStore.FieldControlByNameFromGroup("List", this.BundleScaleConfigSearchAndList.FieldGroupName) : null;
                }
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="UPSEPricingSet"/> class.
 /// </summary>
 /// <param name="configName">Name of the configuration.</param>
 /// <param name="scaleConfigName">Name of the scale configuration.</param>
 /// <param name="pricing">The pricing.</param>
 /// <param name="theDelegate">The delegate.</param>
 public UPSEPricingSet(string configName, string scaleConfigName, UPSEPricing pricing, UPSEPricingSetDelegate theDelegate)
     : this(configName, scaleConfigName, null, null, pricing, theDelegate)
 {
 }