protected MiscSettingsPageViewModelBase(IWorkbook workbook, INavigationService navigationService, IMessageBoxService messageBoxService, INotificationService notificationService, IPlatformService platformService, ITrackingManager trackingManager, IPersistenceLayer persistenceLayer) : base(workbook, navigationService) { if (messageBoxService == null) { throw new ArgumentNullException(nameof(messageBoxService)); } if (notificationService == null) { throw new ArgumentNullException(nameof(notificationService)); } if (platformService == null) { throw new ArgumentNullException(nameof(platformService)); } if (trackingManager == null) { throw new ArgumentNullException(nameof(trackingManager)); } if (persistenceLayer == null) { throw new ArgumentNullException(nameof(persistenceLayer)); } this.messageBoxService = messageBoxService; this.notificationService = notificationService; this.platformService = platformService; this.trackingManager = trackingManager; this.persistenceLayer = persistenceLayer; this.languages = new List <string> { " " }; this.languages.AddRange(SupportedCultures.Languages); this.clearSearchHistoryCommand = new RelayCommand(this.ClearSearchHistoryExecute); this.openWelcomeScreenCommand = new RelayCommand(this.OpenWelcomeScreenExecute); this.deleteAllCommand = new RelayCommand(this.DeleteAllExecute); this.deleteTasksCommand = new RelayCommand(this.DeleteTasksExecute); this.deleteCompletedTasksCommand = new RelayCommand(this.DeleteCompletedTasksExecute); this.completeTasksCommand = new RelayCommand(this.CompleteTasksExecute); this.createBackupCommand = new RelayCommand(this.CreateBackupExecute); this.restoreBackupCommand = new RelayCommand(this.RestoreBackupExecute); this.sortFoldersCommand = new RelayCommand(() => this.SortElements(SortType.Folders)); this.sortSmartViewsCommands = new RelayCommand(() => this.SortElements(SortType.SmartViews)); this.sortContextsCommand = new RelayCommand(() => this.SortElements(SortType.Contexts)); this.sortTagsCommand = new RelayCommand(() => this.SortElements(SortType.Tags)); string language = this.Workbook.Settings.GetValue <string>(CoreSettings.OverrideLanguage); if (!string.IsNullOrEmpty(language)) { this.selectedLanguage = SupportedCultures.GetLanguageNameFromCode(language); this.previousLanguage = this.selectedLanguage; } this.sendAnalytics = this.Workbook.Settings.GetValue <bool>(CoreSettings.SendAnalytics); }