public NotificationChannelSelectionViewModel(AuditNotificationChannels model, INotificationSubscriptionProvider subscriptionProvider, IEventAggregator eventAggregator, INotifiableEventPublisher eventPublisher) { this.Model = model; this.SuccessSubscriptions = subscriptionProvider.GetSubscriptions(this.Model.OnSuccess); this.FailureSubscriptions = subscriptionProvider.GetSubscriptions(this.Model.OnFailure); this.AvailableSuccessSubscriptions = new BindableCollection <SubscriptionViewModel>(subscriptionProvider.Subscriptions.Except(this.SuccessSubscriptions)); this.AvailableFailureSubscriptions = new BindableCollection <SubscriptionViewModel>(subscriptionProvider.Subscriptions.Except(this.FailureSubscriptions)); eventAggregator.Subscribe(this); eventPublisher.Register(this); }
private IList <string> GetNotificationRecipients(AuditNotificationChannels t, bool success) { List <string> list = new List <string>(); if (success) { t?.OnSuccess?.ForEach(u => list.Add(u)); } else { t?.OnFailure?.ForEach(u => list.Add(u)); } return(list); }
public void SerializeAuditNotificationChannels() { AuditNotificationChannels channels = new AuditNotificationChannels(); channels.OnFailure = new List <string>() { "1" }; channels.OnSuccess = new List <string>() { "2" }; AuditNotificationChannels newChannels = JsonConvert.DeserializeObject <AuditNotificationChannels>(JsonConvert.SerializeObject(channels)); CollectionAssert.AreEqual(channels.OnFailure, newChannels.OnFailure); }
public NotificationChannelSelectionViewModel CreateViewModel(AuditNotificationChannels notificationChannels) { return(new NotificationChannelSelectionViewModel(notificationChannels, this.subscriptionProvider, this.eventAggregator.Invoke(), this.eventPublisher.Invoke())); }