using System; using System.Collections.Generic; using NzbDrone.Core.Model.Notification; namespace NzbDrone.Core.Providers.Fakes { internal class FakeNotificationProvider { private readonly Dictionary _basicNotifications = new Dictionary(); private readonly Object _lock = new object(); private readonly Dictionary _progressNotification = new Dictionary(); private readonly ProgressNotification fakeNotification = new ProgressNotification("Updating Series"); private readonly ProgressNotification fakeNotification2 = new ProgressNotification("Updating Series2"); public List BasicNotifications { get { return new List(_basicNotifications.Values); } } public List GetProgressNotifications { get { fakeNotification.Status = ProgressNotificationStatus.InProgress; fakeNotification.Status = ProgressNotificationStatus.InProgress; fakeNotification2.CurrentMessage = DateTime.UtcNow.ToString(); fakeNotification.CurrentMessage = DateTime.Now.ToString(); return new List {fakeNotification}; } } public void Register(ProgressNotification notification) { _progressNotification.Add(notification.Id, notification); } public void Register(BasicNotification notification) { _basicNotifications.Add(notification.Id, notification); } public void Dismiss(Guid notificationId) { lock (_lock) { if (_basicNotifications.ContainsKey(notificationId)) { _basicNotifications.Remove(notificationId); } else if (_progressNotification.ContainsKey(notificationId)) { _progressNotification.Remove(notificationId); } } } } }