public LogoutInteractor( IAnalyticsService analyticsService, INotificationService notificationService, IApplicationShortcutCreator shortcutCreator, ISyncManager syncManager, ITogglDatabase database, IUserPreferences userPreferences, IPrivateSharedStorageService privateSharedStorageService, IUserAccessManager userAccessManager, LogoutSource source) { Ensure.Argument.IsNotNull(analyticsService, nameof(analyticsService)); Ensure.Argument.IsNotNull(notificationService, nameof(notificationService)); Ensure.Argument.IsNotNull(shortcutCreator, nameof(shortcutCreator)); Ensure.Argument.IsNotNull(syncManager, nameof(syncManager)); Ensure.Argument.IsNotNull(database, nameof(database)); Ensure.Argument.IsNotNull(userPreferences, nameof(userPreferences)); Ensure.Argument.IsNotNull(privateSharedStorageService, nameof(privateSharedStorageService)); Ensure.Argument.IsNotNull(userAccessManager, nameof(userAccessManager)); Ensure.Argument.IsADefinedEnumValue(source, nameof(source)); this.analyticsService = analyticsService; this.shortcutCreator = shortcutCreator; this.notificationService = notificationService; this.syncManager = syncManager; this.database = database; this.userPreferences = userPreferences; this.privateSharedStorageService = privateSharedStorageService; this.userAccessManager = userAccessManager; this.source = source; }
public IInteractor <IObservable <Unit> > Logout(LogoutSource source) => new LogoutInteractor( analyticsService, notificationService, shortcutCreator, syncManager, database, userPreferences, privateSharedStorageService, userAccessManager, source);
public void TrackLogoutEvent(LogoutSource source) { track(loginEventName, logoutSourceParameter, source.ToString()); }