public DHLComputationMethod(IMeasureService measureService,
                             IShippingService shippingService,
                             ISettingService settingService,
                             DHLSettings dhlSettings,
                             DHLObjectContext objectContext,
                             IDHLService dhlService,
                             IStoreContext storeContext,
                             IPriceCalculationService priceCalculationService,
                             ILogger logger,
                             ICurrencyService currencyService,
                             IOrderTotalCalculationService orderTotalCalculationService,
                             IWorkContext workContext
                             )
 {
     this._measureService          = measureService;
     this._shippingService         = shippingService;
     this._settingService          = settingService;
     this._dhlSettings             = dhlSettings;
     this._objectContext           = objectContext;
     this._storeContext            = storeContext;
     this._priceCalculationService = priceCalculationService;
     this._logger          = logger;
     this._dhlService      = dhlService;
     this._currencyService = currencyService;
     this._orderTotalCalculationService = orderTotalCalculationService;
     this._workContext = workContext;
 }
        /// <summary>
        /// Install plugin
        /// </summary>
        public override void Install()
        {
            var settings = new DHLSettings
            {
                LimitMethodsToCreated = false,
                CurrencyCode          = "EUR",
                VolumetricDivisor     = 5000
            };

            _settingService.SaveSetting(settings);
            _objectContext.Install();

            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.Store", "Mağaza");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.Store.Hint", "* seçilirse tüm mağazalar için geçerli olacaktır.");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.Warehouse", "Depo");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.Warehouse.Hint", "* seçilirse bu gönderim oranı tüm depolar için geçerli olacaktır");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.Country", "Ülke");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.Country.Hint", "* seçilirse tüm ülkelerin müşterileri için gönderim bedeli geçerli olacaktır.");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.StateProvince", "Şehir / Eyalet");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.StateProvince.Hint", "* seçilirse tüm şehirlerin ya da eyaletlerin tüm müşterileri için bu gönderim bedeli geçerli olacaktır.");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.Zip", "Posta Kodu");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.Zip.Hint", "Boş bırakılırsa posta kodu ne olursa olsun bu gönderim bedeli tüm müşteriler için geçerli olacaktır.");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.ShippingMethod", "Kargo Methodu");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.ShippingMethod.Hint", "The shipping method.");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.From", "Volumetrik Ağırlık Başlangıç");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.From.Hint", "Volumetrik Ağırlık: Uzunluk x Genişlik x Yükseklik(cm3) / [Volumetrik Böleni] = Volumetrik Ağırlık(kg)");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.To", "Volumetrik Ağırlık Bitiş");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.To.Hint", "Volumetrik Ağırlık: Uzunluk x Genişlik x Yükseklik(cm3) / [Volumetrik Böleni] = Volumetrik Ağırlık(kg)");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.LimitMethodsToCreated", "Limit shipping methods to configured ones");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.LimitMethodsToCreated.Hint", "If you check this option, then your customers will be limited to shipping options configured here. Otherwise, they'll be able to choose any existing shipping options even they've not configured here (zero shipping fee in this case).");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.DataHtml", "Data");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.AddRecord", "Kayıt ekle");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Formula", "Oran hesaplama formülü");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Formula.Value", " Uzunluk x Genişlik x Yükseklik (cm3) / [Volumetrik Böleni] = Volumetrik Ağırlık (kg) ");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.VolumetricDivisor", "Volumetrik Böleni");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.Factor", "Hesaplama Çarpanı");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.CurrencyCode", "Varsayılan Kur");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.IsFixedRate", "Sabit Ücret ?");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.Fixed", "Ücret");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.FreeShippingOverXEnabled", "'X' üzerinden ücretsiz gönderim");
            this.AddOrUpdatePluginLocaleResource("Plugins.Shipping.DHL.Fields.FreeShippingOverXValue", "Değer 'X'");

            base.Install();
        }