public MobileAPIPlugin(IPriceCalculationService priceCalculationService,
                        ITaxService taxService,
                        IProductService productService,
                        ICategoryService categoryService,
                        IManufacturerService manufacturerService,
                        IPictureService pictureService,
                        ICurrencyService currencyService,
                        ILanguageService languageService,
                        ISettingService settingService,
                        IWorkContext workContext,
                        IMeasureService measureService,
                        MeasureSettings measureSettings,
                        MobileAPISettings mobileAPISettings,
                        CurrencySettings currencySettings)
 {
     this._priceCalculationService = priceCalculationService;
     this._taxService          = taxService;
     this._productService      = productService;
     this._categoryService     = categoryService;
     this._manufacturerService = manufacturerService;
     this._pictureService      = pictureService;
     this._currencyService     = currencyService;
     this._languageService     = languageService;
     this._settingService      = settingService;
     this._workContext         = workContext;
     this._measureService      = measureService;
     this._measureSettings     = measureSettings;
     this._mobileAPISettings   = mobileAPISettings;
     this._currencySettings    = currencySettings;
 }
        /// <summary>
        /// Install plugin
        /// </summary>
        public override void Install()
        {
            //settings
            var settings = new MobileAPISettings
            {
                EncryptionKey      = "lesswallet@@2017",
                ProductPictureSize = 125,
                QRCodeEncodeMode   = 0,
                QRCodeScale        = 4,
                QRCodeVersion      = 8,
                QRCodeErrorCorrect = 1
            };

            _settingService.SaveSetting(settings);

            //安装数据data
            //_objectContext.Install();

            //locales
            this.AddOrUpdatePluginLocaleResource("Plugin.Misc.MobileAPI.EncryptionKey", "Encryption Key");
            this.AddOrUpdatePluginLocaleResource("Plugin.Misc.MobileAPI.EncryptionKey.Hint", "The encryption private key that will be used to generate the access token.");
            this.AddOrUpdatePluginLocaleResource("Plugin.Misc.MobileAPI.ProductPictureSize", "QR Code thumbnail image size");
            this.AddOrUpdatePluginLocaleResource("Plugin.Misc.MobileAPI.ProductPictureSize.Hint", "The default size (pixels) for the QR Code thumbnail images.");
            this.AddOrUpdatePluginLocaleResource("Plugin.Misc.MobileAPI.QRCodeEncodeMode", "QR Code Encode Mode");
            this.AddOrUpdatePluginLocaleResource("Plugin.Misc.MobileAPI.QRCodeEncodeMode.Hint", "The default encode mode that will be used to generate the QR Code.");
            this.AddOrUpdatePluginLocaleResource("Plugin.Misc.MobileAPI.QRCodeScale", "QR Code scale");
            this.AddOrUpdatePluginLocaleResource("Plugin.Misc.MobileAPI.QRCodeScale.Hint", "The default pixel size for the data block in the QR Code picture.");
            this.AddOrUpdatePluginLocaleResource("Plugin.Misc.MobileAPI.QRCodeVersion", "QR Code Version");
            this.AddOrUpdatePluginLocaleResource("Plugin.Misc.MobileAPI.QRCodeVersion.Hint", "The default version that will be used to generate the QR Code.");
            this.AddOrUpdatePluginLocaleResource("Plugin.Misc.MobileAPI.QRCodeErrorCorrect", "Error Correct Level");
            this.AddOrUpdatePluginLocaleResource("Plugin.Misc.MobileAPI.QRCodeErrorCorrect.Hint", "The default error correct level that will be used to generate the QR Code.");

            base.Install();
        }