public IEnumerable <NotificationSubscription> ListSubscriptionsForGroup() { Guid groupId = Guid.Empty; // TODO fix VssConnection connection = Context.Connection; NotificationHttpClient notificationClient = connection.GetClient <NotificationHttpClient>(); // Return all subscriptions, includuing minimal details for subscriptions the caller doesn't have access to return(notificationClient.ListSubscriptionsAsync(targetId: groupId, queryFlags: SubscriptionQueryFlags.AlwaysReturnBasicInformation).Result); }
public IEnumerable <NotificationSubscription> ListCustomSubscriptions() { VssConnection connection = Context.Connection; NotificationHttpClient notificationClient = connection.GetClient <NotificationHttpClient>(); List <NotificationSubscription> subscriptions = notificationClient.ListSubscriptionsAsync().Result; foreach (var subscription in subscriptions) { LogSubscription(subscription); } return(subscriptions); }
public IEnumerable <NotificationSubscription> ListSubscriptionsForTeam() { WebApiTeamRef team = ClientSampleHelpers.FindAnyTeam(this.Context, null); VssConnection connection = Context.Connection; NotificationHttpClient notificationClient = connection.GetClient <NotificationHttpClient>(); IEnumerable <NotificationSubscription> subscriptions = notificationClient.ListSubscriptionsAsync(targetId: team.Id).Result; foreach (var subscription in subscriptions) { LogSubscription(subscription); } return(subscriptions); }
public IEnumerable <IGrouping <string, NotificationSubscription> > GetSubscriptionsGroupedByEventType() { VssConnection connection = Context.Connection; NotificationHttpClient notificationClient = connection.GetClient <NotificationHttpClient>(); // Get existing subscriptions IEnumerable <NotificationSubscription> subscriptions = notificationClient.ListSubscriptionsAsync().Result; // Group subscriptions by event type var groupedSubscriptions = subscriptions.GroupBy <NotificationSubscription, String>(subscription => { return(String.IsNullOrEmpty(subscription.Filter.EventType) ? subscription.Filter.EventType : ""); }); // Create map of avaialble event types Dictionary <string, NotificationEventType> eventTypes = notificationClient.ListEventTypesAsync().Result.ToDictionary( eventType => { return(eventType.Id); }); // Show the subscriptions grouped by event type Context.Log("Custom subscriptions by event type"); foreach (IGrouping <string, NotificationSubscription> group in groupedSubscriptions) { NotificationEventType eventType; if (eventTypes.TryGetValue(group.Key, out eventType)) { Context.Log("Event type {0}:", eventType.Name); foreach (NotificationSubscription subscription in group) { Context.Log(" {0}, last modified: {1} by {2}", subscription.Description, subscription.ModifiedDate, subscription.LastModifiedBy?.DisplayName); } } } return(groupedSubscriptions); }