/// <summary> /// Install plugin /// </summary> public override async Task Install() { //settings var settings = new ByWeightShippingSettings { LimitMethodsToCreated = false, }; await _settingService.SaveSetting(settings); //locales await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Shipping.ByWeight.FriendlyName", "Shipping by Weight"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.Store", "Store"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.Warehouse", "Warehouse"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.Country", "Country"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.StateProvince", "State / province"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.Zip", "Zip"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.ShippingMethod", "Shipping method"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.From", "Order weight from"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.To", "Order weight to"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.AdditionalFixedCost", "Additional fixed cost"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.LowerWeightLimit", "Lower weight limit"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.PercentageRateOfSubtotal", "Charge percentage (of subtotal)"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.RatePerWeightUnit", "Rate per weight unit"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.LimitMethodsToCreated", "Limit shipping methods to configured ones"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.DataHtml", "Data"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Fields.DisplayOrder", "DisplayOrder"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.AddRecord", "Add record"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Formula", "Formula to calculate rates"); await this.AddOrUpdatePluginTranslateResource(_translationService, _languageService, "Plugins.Shipping.ByWeight.Formula.Value", "[additional fixed cost] + ([order total weight] - [lower weight limit]) * [rate per weight unit] + [order subtotal] * [charge percentage]"); await base.Install(); }
public ByWeightShippingCalcPlugin( IShippingMethodService shippingMethodService, IWorkContext workContext, ITranslationService translationService, IProductService productService, IServiceProvider serviceProvider, IProductAttributeParser productAttributeParser, ICheckoutAttributeParser checkoutAttributeParser, ICurrencyService currencyService, ByWeightShippingSettings byWeightShippingSettings) { _shippingMethodService = shippingMethodService; _workContext = workContext; _translationService = translationService; _productService = productService; _serviceProvider = serviceProvider; _productAttributeParser = productAttributeParser; _checkoutAttributeParser = checkoutAttributeParser; _currencyService = currencyService; _byWeightShippingSettings = byWeightShippingSettings; }