コード例 #1
0
        public virtual void UpdateUserSubscription(UserSubscription subscription)
        {
            var subscriptions        = Subscriptions[subscription.SubscriberUserId];
            var subscriptionToUpdate = subscriptions.First(x => x.Id == subscription.Id);
            var index = subscriptions.IndexOf(subscriptionToUpdate);

            subscriptions[index] = subscription;

            subscription.UpdateType = UpdateType.Update;
            var args = new UserSubscriptionUpdatedEventArgs {
                Subscription = subscription
            };

            UserSubscriptionUpdated?.Invoke(this, args);
        }
コード例 #2
0
        public virtual void RemoveUserSubscription(string subscriptionId)
        {
            var sub = this.GetUserSubscription(subscriptionId);

            var subscriptions        = Subscriptions[sub.SubscriberUserId];
            var subscriptionToRemove = subscriptions.First(x => x.Id == subscriptionId);

            subscriptions.Remove(subscriptionToRemove);

            subscriptionToRemove.UpdateType = UpdateType.Remove;
            var args = new UserSubscriptionUpdatedEventArgs {
                Subscription = subscriptionToRemove
            };

            UserSubscriptionUpdated?.Invoke(this, args);
        }
コード例 #3
0
        public virtual void AddUserSubscription(UserSubscription subscription)
        {
            subscription.Id = (++IndexCounter).ToString();

            if (!Subscriptions.TryGetValue(subscription.SubscriberUserId, out var subscriptions))
            {
                Subscriptions.Add(subscription.SubscriberUserId, subscriptions = new List <UserSubscription>());
            }
            subscriptions.Add(subscription);

            subscription.UpdateType = UpdateType.Add;
            var args = new UserSubscriptionUpdatedEventArgs {
                Subscription = subscription
            };

            UserSubscriptionUpdated?.Invoke(this, args);
        }