/// <summary> /// Install plugin /// </summary> public override void Install() { //settings var settings = new ClickatellSettings() { Enabled = false, }; _settingService.SaveSetting(settings); //locales this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.TestFailed", "Test message sending failed"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.TestSuccess", "Test message was sent"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.Fields.Enabled", "Enabled"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.Fields.Enabled.Hint", "Check to enable SMS provider"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.Fields.ApiId", "API ID"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.Fields.ApiId.Hint", "Clickatell API ID"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.Fields.Password", "Password"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.Fields.Password.Hint", "Clickatell password"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.Fields.PhoneNumber", "Phone number"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.Fields.PhoneNumber.Hint", "Your phone number"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.Fields.Username", "Username"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.Fields.Username.Hint", "Clickatell username"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.Fields.TestMessage", "Message text"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.Fields.TestMessage.Hint", "Text of the test message"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.SendTest", "Send"); this.AddOrUpdatePluginLocaleResource("Plugins.Sms.Clickatell.SendTest.Hint", "Send test message"); base.Install(); }
public ClickatellSmsProvider(ClickatellSettings clickatellSettings, ILogger logger, ISettingService settingService) { this._clickatellSettings = clickatellSettings; this._logger = logger; this._settingService = settingService; }
public SmsClickatellController(ClickatellSettings clickatellSettings, ISettingService settingService, ISmsService smsService, ILocalizationService localizationService) { this._clickatellSettings = clickatellSettings; this._settingService = settingService; this._smsService = smsService; this._localizationService = localizationService; }
public SmsClickatellController(ClickatellSettings clickatellSettings, ISettingService settingService, IPluginFinder pluginFinder, ILocalizationService localizationService) { this._clickatellSettings = clickatellSettings; this._settingService = settingService; this._pluginFinder = pluginFinder; this._localizationService = localizationService; }
public ClickatellSmsProvider(ClickatellSettings clickatellSettings, ILogger logger, IOrderService orderService, ISettingService settingService) { this._clickatellSettings = clickatellSettings; this._logger = logger; this._orderService = orderService; this._settingService = settingService; }
/// <summary> /// Send SMS /// </summary> /// <param name="text">Text</param> /// <param name="orderId">Order id</param> /// <param name="settings">Clickatell settings</param> /// <returns>True if SMS was successfully sent; otherwise false</returns> public bool SendSms(string text, int orderId, ClickatellSettings settings = null) { var clickatellSettings = settings ?? _clickatellSettings; if (!clickatellSettings.Enabled) { return(false); } //change text var order = _orderService.GetOrderById(orderId); if (order != null) { text = string.Format("New order #{0} was placed for the total amount {1:0.00}", order.Id, order.OrderTotal); } using (var smsClient = new ClickatellSmsClient(new BasicHttpBinding(), new EndpointAddress("http://api.clickatell.com/soap/document_literal/webservice"))) { //check credentials var authentication = smsClient.auth(int.Parse(clickatellSettings.ApiId), clickatellSettings.Username, clickatellSettings.Password); if (!authentication.ToUpperInvariant().StartsWith("OK")) { _logger.Error(string.Format("Clickatell SMS error: {0}", authentication)); return(false); } //send SMS var sessionId = authentication.Substring(4); var result = smsClient.sendmsg(sessionId, int.Parse(clickatellSettings.ApiId), clickatellSettings.Username, clickatellSettings.Password, text, new [] { clickatellSettings.PhoneNumber }, string.Empty, 0, 0, 0, 0, 0, 0, 0, 0, 0, string.Empty, 0, string.Empty, string.Empty, string.Empty, 0).FirstOrDefault(); if (result == null || !result.ToUpperInvariant().StartsWith("ID")) { _logger.Error(string.Format("Clickatell SMS error: {0}", result)); return(false); } } //order note if (order != null) { order.OrderNotes.Add(new OrderNote() { Note = "\"Order placed\" SMS alert (to store owner) has been sent", DisplayToCustomer = false, CreatedOnUtc = DateTime.UtcNow }); _orderService.UpdateOrder(order); } return(true); }
public ClickatellSmsProvider(ClickatellSettings clickatellSettings, ILogger logger, IOrderService orderService, ISettingService settingService, IWebHelper webHelper, ILocalizationService localizationService) { this._clickatellSettings = clickatellSettings; this._logger = logger; this._orderService = orderService; this._settingService = settingService; this._webHelper = webHelper; this._localizationService = localizationService; }
public ClickatellSmsProvider(ClickatellSettings clickatellSettings, ILogger logger) { this._clickatellSettings = clickatellSettings; this._logger = logger; }
public ClickatellSmsProvider(ClickatellSettings clickatellSettings, ILogger logger) { this._clickatellSettings = clickatellSettings; this._logger = logger; }