public SmsEventConsumer(SMSNotificationsSettings smsSettings,
                         IPluginFinder pluginFinder,
                         IOrderService orderService,
                         IStoreContext storeContext)
 {
     this._smsSettings  = smsSettings;
     this._pluginFinder = pluginFinder;
     this._orderService = orderService;
     this._storeContext = storeContext;
 }
 public SMSNotificationsProvider(SMSNotificationsSettings smsSettings,
                                 ILogger logger,
                                 ISettingService settingService,
                                 IStoreContext storeContext
                                 )
 {
     this._smsSettings    = smsSettings;
     this._logger         = logger;
     this._settingService = settingService;
     this._storeContext   = storeContext;
 }
        public override void Install()
        {
            //settings
            var settings = new SMSNotificationsSettings
            {
                Enabled                 = false,
                EnableOrderCanceled     = false,
                EnableOrderPayed        = false,
                EnableOrderPlaced       = false,
                EnableShippingShipped   = false,
                SMSServiceURL           = "http://smsco.ge/api/sendsms.php?username=test&password=test&recipient={0}&message={1}",
                TemplateOrderCanceled   = "Your order #{0} canceled", // {0} web shop name
                TemplateOrderPayed      = "Your order #{0} is payed",
                TemplateOrderPlaced     = "Your order #{0}, amount {1}  is received",
                TemplateShippingShipped = "Your order #{0} is shipped"
            };

            _settingService.SaveSetting(settings);

            //locales
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.Enabled", "Enabled");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.Enabled.Hint", "Check to enable SMS provider");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.EnableOrderCanceled", "Order Cancelaion enabled");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.EnableOrderCanceled.Hint", "Order Cancelaion message enabled");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.EnableOrderPayed", "Order payed enabled");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.EnableOrderPayed.Hint", "Order payed message enabled");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.EnableOrderPlaced", "Order placed enabled");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.EnableOrderPlaced.Hint", "Order placed message enabled");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.EnableShippingShipped", "Order shipped enabled");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.EnableShippingShipped.Hint", "Order shipped message enabled");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.SMSServiceURL", "SMS Provider url");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.SMSServiceURL.Hint", "SMS Provider URL 'username=user&password=pass&recipient={0}&message={1}'");

            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.TemplateOrderCanceled", "Canceled template");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.TemplateOrderCanceled.Hint", "Order canceled message tempalte {0} order id, {1} Amount");

            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.TemplateOrderPayed", "Payed tmplate");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.TemplateOrderPayed.Hint", "Order payed message tempalte {0} order id, {1} Amount");

            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.TemplateOrderPlaced", "Placed tmplate");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.TemplateOrderPlaced.Hint", "Order Placed message tempalte {0} order id, {1} Amount");

            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.TemplateShippingShipped", "Shipped tmplate");
            this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Fields.TemplateShippingShipped.Hint", "Sipped Placed message tempalte {0} order id, {1} Amount");


            base.Install();
        }