public IEnumerable <NotificationTypeInfo> GetNotificationTypes() { var knownTypes = new NotificationTypeInfo[] { new NotificationTypeInfo { Type = NotificationType.ApplicationUpdateInstalled.ToString() }, new NotificationTypeInfo { Type = NotificationType.InstallationFailed.ToString() }, new NotificationTypeInfo { Type = NotificationType.PluginInstalled.ToString() }, new NotificationTypeInfo { Type = NotificationType.PluginError.ToString() }, new NotificationTypeInfo { Type = NotificationType.PluginUninstalled.ToString() }, new NotificationTypeInfo { Type = NotificationType.PluginUpdateInstalled.ToString() }, new NotificationTypeInfo { Type = NotificationType.ServerRestartRequired.ToString() }, new NotificationTypeInfo { Type = NotificationType.TaskFailed.ToString() }, new NotificationTypeInfo { Type = NotificationType.NewLibraryContent.ToString() }, new NotificationTypeInfo { Type = NotificationType.AudioPlayback.ToString() }, new NotificationTypeInfo { Type = NotificationType.VideoPlayback.ToString() }, new NotificationTypeInfo { Type = NotificationType.AudioPlaybackStopped.ToString() }, new NotificationTypeInfo { Type = NotificationType.VideoPlaybackStopped.ToString() }, new NotificationTypeInfo { Type = NotificationType.CameraImageUploaded.ToString() }, new NotificationTypeInfo { Type = NotificationType.UserLockedOut.ToString() }, new NotificationTypeInfo { Type = NotificationType.ApplicationUpdateAvailable.ToString() } }; foreach (var type in knownTypes) { Update(type); } var systemName = _localization.GetLocalizedString("System"); return(knownTypes.OrderByDescending(i => string.Equals(i.Category, systemName, StringComparison.OrdinalIgnoreCase)) .ThenBy(i => i.Category) .ThenBy(i => i.Name)); }