using System; using System.Collections.Generic; using SitefinityWebApp; using Telerik.Sitefinity; using Telerik.Sitefinity.Abstractions; using Telerik.Sitefinity.Configuration; using Telerik.Sitefinity.ServiceHooks; using Telerik.Sitefinity.Services; [assembly: SitefinityModule(HubSpotConnectivityModule.ModuleName, typeof(HubSpotConnectivityModule), "HubSpot connectivity", "", StartupType.OnApplicationStart)] namespace SitefinityWebApp { public class HubSpotConnectivityModule : ModuleBase, IServiceHookTriggerProvider, IServiceHookActionProvider { public override Guid LandingPageId { get { return Guid.Empty; } } public override void Initialize(ModuleSettings settings) { base.Initialize(settings); App.WorkWith().Module(Name) .Initialize(); } public override void Install(SiteInitializer initializer) { } protected override ConfigSection GetModuleConfig() { return null; } public override Type[] Managers { get { return null; } } IDictionary<string, IServiceHookTriggerSettings> IServiceHookTriggerProvider.GetServiceHookTriggersSettings() { var triggerSettings = new Dictionary<string, IServiceHookTriggerSettings>(); var loginCompletedTriggerSettings = new HubSpotConnectivityTriggerSettings(); triggerSettings.Add(loginCompletedTriggerSettings.Key, loginCompletedTriggerSettings); return triggerSettings; } IDictionary<string, IServiceHookActionSettings> IServiceHookActionProvider.GetServiceHookActionsSettings() { var actionSettings = new Dictionary<string, IServiceHookActionSettings>(); actionSettings.Add("HubSpotContactCreation", new HubSpotContactCreationActionSettings()); return actionSettings; } internal const string ModuleName = "HubSpotConnectivity"; } }