/// <summary> /// Sends a deletion request for the subscriber /// </summary> /// <param name="s">subscriber to be removed</param> public void DeleteSubscriber(Subscriber s) { if (ContainsSubscriber(s)) { client.DeleteSubscriber(AuthKey, s.Id); } if (SubscriberDeleted != null) { SubscriberDeleted(this, new SubscriberChangedEventArgs(s)); } }
/// <summary> /// Checks whether the current subscriber list contains a subscriber /// </summary> /// <param name="s"></param> /// <returns></returns> public bool ContainsSubscriber(Subscriber s) { return GetSubscribers().Contains(s); }
/// <summary> /// Adds a subscriber to the collection and sends and add request to the service /// </summary> /// <param name="s">subscriber to be added</param> public void SaveSubscriber(Subscriber s) { if (!ContainsSubscriber(s)) { // Add to collection _subscribers.Add(s); // Send to service var dto = new NewsletterServer.DataTransferObject.SubscriberDto(); dto.Contact = s.Email; dto.Name = s.Name; dto.IsSubscribed = true; // Add user and fetch new Id s.Id = client.AddSubscriber(AuthKey, dto); // Raise added event if (SubscriberAdded != null) { SubscriberAdded(this, new SubscriberChangedEventArgs(s)); } } else { var dto = new NewsletterServer.DataTransferObject.SubscriberDto(); dto.Contact = s.Email; dto.Name = s.Name; } }