public void Update(IPluginConfiguration configuration) { _microDataProcessor = new MicroDataProcessor(MicroDataSerializer.Deserialize(configuration.GetCustom("markupConfiguration"))); Initialize(); }
public void Update(IPluginConfiguration configuration) { lock (_lockObj) { _fields.Clear(); string fieldList = configuration.GetCustom("fields") ?? string.Empty; //Convert the string to a list string[] fieldFilter = fieldList.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); _fields.AddRange(GetAllFields().Where(k => fieldFilter.Contains(k.Key) || fieldFilter.Length == 0).Select(f => f.Key)); } }
public void Update(IPluginConfiguration configuration) { lock (_lockObj) { _fields.Clear(); string fieldList = configuration.GetCustom("fields") ?? string.Empty; //Convert the string to a list string[] fieldFilter = fieldList.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); _fields.AddRange(GetAllFields().Where(k => fieldFilter.Contains(k.Key) || fieldFilter.Length==0).Select(f => f.Key)); } }
public void Initialize() { _push = new PushBroker(); _push.OnDeviceSubscriptionExpired += push_OnDeviceSubscriptionExpired; _push.OnChannelException += _push_OnChannelException; _push.OnNotificationFailed += _push_OnNotificationFailed; _push.OnServiceException += _push_OnServiceException; _enabledDevices = DeviceType.None; StringBuilder debug = new StringBuilder(); if (_configuration != null) { if (!string.IsNullOrEmpty(_configuration.GetCustom("apnsCertificate")) && !string.IsNullOrEmpty(_configuration.GetString("apnsPassword"))) { var certificate = Telligent.Evolution.Mobile.PushNotifications.PropertyControls.CertificatePropertyControl.Deserialize(_configuration.GetCustom("apnsCertificate")); if (certificate != null) { try { _push.RegisterAppleService(new ApplePushChannelSettings(_configuration.GetBool("apnsProduction"), certificate.Content, _configuration.GetString("apnsPassword"), false)); _enabledDevices |= DeviceType.IOS; debug.Append("iOS notifications are configured and enabled.\n"); } catch (Exception ex) { debug.Append("An exception occurred while attempting to configure iOS notifications:\n").Append(ex.ToString()); } } else { debug.Append("The certificate for iOS notifications is invalid. iOS notifications are not enabled.\n"); } } else { debug.Append("Configuration for iOS notifications is incomplete. iOS notifications are not enabled.\n"); } if (!string.IsNullOrEmpty(_configuration.GetString("gcmPackageName")) && !string.IsNullOrEmpty(_configuration.GetString("gcmSenderId")) && !string.IsNullOrEmpty(_configuration.GetString("gcmAuthorizationKey"))) { try { _push.RegisterGcmService(new GcmPushChannelSettings(_configuration.GetString("gcmSenderId"), _configuration.GetString("gcmAuthorizationKey"), _configuration.GetString("gcmPackageName"))); _enabledDevices |= DeviceType.Android; debug.Append("Android notifications are configured and enabled.\n"); } catch (Exception ex) { debug.Append("An exception occurred while attempting to enable Android notifications:\n").Append(ex.ToString()); } } else { debug.Append("Configuration for Android notifications is incomplete. Android notifications are not enabled.\n"); } if (_configuration.GetBool("enableLogging")) { Telligent.Evolution.Extensibility.Api.Version1.PublicApi.Eventlogs.Write(debug.ToString(), new EventLogEntryWriteOptions { Category = "Push Notifications", EventId = 1234, EventType = "Information" }); } } }