private void OnNotificationClosed(BaseNotification notification) { if (notification is null) { return; } notification.Closed -= OnNotificationClosed; // remove associated config if (_configs.TryGetValue(notification, out var config) && config != null) { config.Created -= OnNotificationCreated; _configs.Remove(notification); } NotificationChanged?.Invoke(this, new NotificationChanged(ChangeType.Remove, notification)); }
private void OnNotificationCreated(BaseNotification baseNotification) { if (baseNotification is null) { return; } baseNotification.Closed += OnNotificationClosed; switch (baseNotification) { case Notification notification: _notifications.Add(notification); break; case TaskNotification taskNotification: _tasks.Add(taskNotification); break; } NotificationChanged?.Invoke(this, new NotificationChanged(ChangeType.Add, baseNotification)); }