/// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// </param>
 /// <param name='update'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <Subscription> UpdateSubscriptionAsync(this ISubscriptions operations, System.Guid id, SubscriptionUpdate update = default(SubscriptionUpdate), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.UpdateSubscriptionWithHttpMessagesAsync(id, update, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Beispiel #2
0
 public WebSocketMiddleware(ILogger <WebSocketMiddleware> logger, ISubscriptions subscriptions, INotifications notifications, IWebsocketConnections connections)
 {
     this.subscriptions = subscriptions;
     this.notifications = notifications;
     this.logger        = logger;
     this.connections   = connections;
 }
Beispiel #3
0
 /// <summary>
 /// Deletes Notification for the Subscription with the Id provided.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// Id of the Subscription to act on.  Requires double URL encoding.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <object> DeleteNotificationsAsync(this ISubscriptions operations, string id, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.DeleteNotificationsWithHttpMessagesAsync(id, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Beispiel #4
0
        public List <AzureMgmtCommon.Models.AzureMgmtSubscription> GetSubscriptions()
        {
            var result = new List <AzureMgmtCommon.Models.AzureMgmtSubscription>();

            if (credentials != null)
            {
                try
                {
                    ISubscriptions subscriptions = Azure
                                                   .Configure()
                                                   .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
                                                   .Authenticate(credentials).Subscriptions;
                    foreach (var subscription in subscriptions.List())
                    {
                        result.Add(new AzureMgmtCommon.Models.AzureMgmtSubscription(subscription.SubscriptionId,
                                                                                    subscription.DisplayName, subscription.State));
                    }
                    return(result);
                }
                catch (Exception ex)
                {
                    Utilities.Log(ex);
                    return(null);
                }
            }
            return(null);
        }
Beispiel #5
0
 /// <summary>
 /// Initializes client properties.
 /// </summary>
 private void Initialize()
 {
     Devices               = new Devices(this);
     Feeds                 = new Feeds(this);
     Subscriptions         = new Subscriptions(this);
     BaseUri               = new System.Uri("http://localhost:24365");
     SerializationSettings = new JsonSerializerSettings
     {
         Formatting            = Newtonsoft.Json.Formatting.Indented,
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new  List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     DeserializationSettings = new JsonSerializerSettings
     {
         DateFormatHandling    = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
         DateTimeZoneHandling  = Newtonsoft.Json.DateTimeZoneHandling.Utc,
         NullValueHandling     = Newtonsoft.Json.NullValueHandling.Ignore,
         ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
         ContractResolver      = new ReadOnlyJsonContractResolver(),
         Converters            = new List <JsonConverter>
         {
             new Iso8601TimeSpanConverter()
         }
     };
     CustomInitialize();
 }
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='subscription'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <Subscription> CreateAsync(this ISubscriptions operations, SubscriptionData subscription = default(SubscriptionData), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateWithHttpMessagesAsync(subscription, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Beispiel #7
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IList <string> > GetAsync(this ISubscriptions operations, string id, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetWithHttpMessagesAsync(id, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Beispiel #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ConsumerClient"/> class.
 /// </summary>
 /// <param name="clientManager">The <see cref="IClientManager" />.</param>
 /// <param name="subscriptions">The <see cref="ISubscriptions" />.</param>
 /// <param name="microservicesConfiguration">The <see cref="MicroservicesConfiguration" />.</param>
 /// <param name="streamProcessorStates">The <see cref="IStreamProcessorStateRepository" />.</param>
 /// <param name="eventHorizonEventsWriter">The <see cref="IWriteEventHorizonEvents" />.</param>
 /// <param name="policy">The <see cref="IAsyncPolicyFor{T}" /> <see cref="ConsumerClient" />.</param>
 /// <param name="eventProcessorPolicy">The <see cref="IAsyncPolicyFor{T}" /> <see cref="EventProcessor" />.</param>
 /// <param name="executionContextManager"><see cref="IExecutionContextManager" />.</param>
 /// <param name="reverseCallClients"><see cref="IReverseCallClients"/>.</param>
 /// <param name="logger">The <see cref="ILogger" />.</param>
 public ConsumerClient(
     IClientManager clientManager,
     ISubscriptions subscriptions,
     MicroservicesConfiguration microservicesConfiguration,
     IStreamProcessorStateRepository streamProcessorStates,
     IWriteEventHorizonEvents eventHorizonEventsWriter,
     IAsyncPolicyFor <ConsumerClient> policy,
     IAsyncPolicyFor <EventProcessor> eventProcessorPolicy,
     IExecutionContextManager executionContextManager,
     IReverseCallClients reverseCallClients,
     ILogger logger)
 {
     _clientManager = clientManager;
     _subscriptions = subscriptions;
     _microservicesConfiguration = microservicesConfiguration;
     _streamProcessorStates      = streamProcessorStates;
     _eventHorizonEventsWriter   = eventHorizonEventsWriter;
     _policy = policy;
     _eventProcessorPolicy    = eventProcessorPolicy;
     _executionContextManager = executionContextManager;
     _logger = logger;
     _cancellationTokenSource = new CancellationTokenSource();
     _cancellationToken       = _cancellationTokenSource.Token;
     _reverseCallClients      = reverseCallClients;
 }
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='sourceRepository'>
 /// </param>
 /// <param name='targetRepository'>
 /// </param>
 /// <param name='channelId'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IList <Subscription> > GetAsync(this ISubscriptions operations, string sourceRepository = default(string), string targetRepository = default(string), int?channelId = default(int?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetWithHttpMessagesAsync(sourceRepository, targetRepository, channelId, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Beispiel #10
0
 /// <summary>
 /// Renews the Subscription with the Id provided by the requested number of
 /// minutes.
 /// Returns the renewed Subscription.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// Id of the Subscription to be renewed.  Must be double URL encoded.
 /// </param>
 /// <param name='minutes'>
 /// Value in minutes to extend the Subscription.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <SubscriptionModel> RenewAsync(this ISubscriptions operations, string id, int minutes, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.RenewWithHttpMessagesAsync(id, minutes, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Beispiel #11
0
 /// <summary>
 /// Creates a new Subscription and returns it.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='newItem'>
 /// Definition of how the Subscription will be created.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <SubscriptionModel> CreateAsync(this ISubscriptions operations, NewSubscriptionModel newItem, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateWithHttpMessagesAsync(newItem, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Beispiel #12
0
 /// <summary>
 /// Returns the IsActive property for the Subscription with the Id provided.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// Id of the Subscription whose IsActive property is to be returned.  Must be
 /// double URL encoded.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <bool?> RetrieveIsActiveAsync(this ISubscriptions operations, string id, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.RetrieveIsActiveWithHttpMessagesAsync(id, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Beispiel #13
0
 /// <summary>
 /// Returns all Subscription which fit the filter criteria supplied. All
 /// filter parameters are optional. Subscription will be ordered and paged as
 /// requested.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='type'>
 /// Return only Subscription with this Type value. Possible values include:
 /// 'ValueItemChanged', 'AlarmEventChanged', 'SystemEventChanged',
 /// 'HierarchyChanged'
 /// </param>
 /// <param name='orderBy'>
 /// Subscription will be returned in this order.  ExpiresAscending by default.
 /// Possible values include: 'ExpiresAscending', 'ExpiresDescending'
 /// </param>
 /// <param name='take'>
 /// Number of Subscription that should be returned.  200 by default.
 /// </param>
 /// <param name='skip'>
 /// Number of Subscription that should be skipped before items are returned.
 /// 0 by default.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IList <SubscriptionModel> > RetrieveAsync(this ISubscriptions operations, string type = default(string), string orderBy = default(string), int?take = default(int?), int?skip = default(int?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.RetrieveWithHttpMessagesAsync(type, orderBy, take, skip, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Beispiel #14
0
 /// <param name='operations'>
 /// Reference to the UserClient.ISubscriptions.
 /// </param>
 /// <param name='subscription'>
 /// Required.
 /// </param>
 public static Subscription PostSubscriptionBySubscription(this ISubscriptions operations, Subscription subscription)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((ISubscriptions)s).PostSubscriptionBySubscriptionAsync(subscription);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
Beispiel #15
0
 public HubController(ILogger <HubController> logger, IBackgroundJobClient backgroundJobClient, ISubscriptions subscriptions, INotifications <HttpResponseMessage> notifications, IContexts contexts)
 {
     this.backgroundJobClient = backgroundJobClient ?? throw new ArgumentNullException(nameof(backgroundJobClient));
     this.logger        = logger ?? throw new ArgumentNullException(nameof(logger));
     this.subscriptions = subscriptions ?? throw new ArgumentNullException(nameof(subscriptions));
     this.notifications = notifications ?? throw new ArgumentNullException(nameof(notifications));
     this.contexts      = contexts ?? throw new ArgumentNullException(nameof(contexts));
 }
Beispiel #16
0
 /// <param name='operations'>
 /// Reference to the UserClient.ISubscriptions.
 /// </param>
 /// <param name='id'>
 /// Required.
 /// </param>
 public static Subscription GetSubscriptionByIdById(this ISubscriptions operations, string id)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((ISubscriptions)s).GetSubscriptionByIdByIdAsync(id);
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
Beispiel #17
0
 /// <param name='operations'>
 /// Reference to the UserClient.ISubscriptions.
 /// </param>
 public static IList <Subscription> GetSubscriptions(this ISubscriptions operations)
 {
     return(Task.Factory.StartNew((object s) =>
     {
         return ((ISubscriptions)s).GetSubscriptionsAsync();
     }
                                  , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult());
 }
 /// <summary>
 /// Initializes a new instance of the RestaurantWaitTime class.
 /// </summary>
 /// <param name='handlers'>
 /// Optional. The set of delegating handlers to insert in the http
 /// client pipeline.
 /// </param>
 public RestaurantWaitTime(params DelegatingHandler[] handlers)
     : base(handlers)
 {
     this._restaurants     = new Restaurants(this);
     this._restaurantUsers = new RestaurantUsers(this);
     this._subscriptions   = new Subscriptions(this);
     this._users           = new Users(this);
     this._waitTimes       = new WaitTimes(this);
     this._baseUri         = new Uri("https://restaurantwaittime.azurewebsites.net");
 }
 /// <summary>
 /// Initializes a new instance of the RestaurantWaitTime class.
 /// </summary>
 public RestaurantWaitTime()
     : base()
 {
     this._restaurants     = new Restaurants(this);
     this._restaurantUsers = new RestaurantUsers(this);
     this._subscriptions   = new Subscriptions(this);
     this._users           = new Users(this);
     this._waitTimes       = new WaitTimes(this);
     this._baseUri         = new Uri("https://restaurantwaittime.azurewebsites.net");
 }
Beispiel #20
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SubscriptionBootProcedure"/> class.
 /// </summary>
 /// <param name="configuration">The <see cref="EventHorizonsConfiguration"/> that contains all <see cref="Subscription"/>.</param>
 /// <param name="subscriptions">The <see cref="ISubscriptions"/> to use to subscribe.</param>
 /// <param name="policy">The <see cref="IAsyncPolicyFor{T}"/> that defines reconnect policies for the event horizon subscriptions.</param>
 /// <param name="logger">The <see cref="ILogger"/> used for logging.</param>
 public SubscriptionBootProcedure(
     EventHorizonsConfiguration configuration,
     ISubscriptions subscriptions,
     IAsyncPolicyFor <SubscriptionBootProcedure> policy,
     ILogger logger)
 {
     _configuration = configuration;
     _subscriptions = subscriptions;
     _policy        = policy;
     _logger        = logger;
 }
Beispiel #21
0
        public HubController(ILogger <HubController> logger, IBackgroundJobClient backgroundJobClient, ISubscriptions subscriptions, INotifications notifications, IConfiguration config)
        {
            this.backgroundJobClient = backgroundJobClient;
            this.logger        = logger;
            this.subscriptions = subscriptions;
            this.notifications = notifications;
            this.settings      = config;
#if DEBUG
            this.connectionString = settings.GetConnectionString("Development");
#else
            this.connectionString = settings.GetConnectionString("Default");
#endif
            this.logger.LogInformation($"Using database connection string: {this.connectionString}");
        }
Beispiel #22
0
 public MaestroApi(Uri baseUri, ServiceClientCredentials credentials, params DelegatingHandler[] handlers)
     : base(handlers)
 {
     HttpClientHandler.SslProtocols = SslProtocols.Tls12;
     BaseUri            = baseUri ?? new Uri("https://localhost:4430/");
     Credentials        = credentials;
     Assets             = new Assets(this);
     Builds             = new Builds(this);
     Channels           = new Channels(this);
     DefaultChannels    = new DefaultChannels(this);
     Pipelines          = new Pipelines(this);
     Repository         = new Repository(this);
     Subscriptions      = new Subscriptions(this);
     SerializerSettings = new JsonSerializerSettings
     {
         Converters =
         {
             new StringEnumConverter()
         },
         NullValueHandling = NullValueHandling.Ignore,
     };
 }
Beispiel #23
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// </param>
 public static IList <string> Get(this ISubscriptions operations, string id)
 {
     return(operations.GetAsync(id).GetAwaiter().GetResult());
 }
Beispiel #24
0
        /// <param name='operations'>
        /// Reference to the UserClient.ISubscriptions.
        /// </param>
        /// <param name='cancellationToken'>
        /// Cancellation token.
        /// </param>
        public static async Task <IList <Subscription> > GetSubscriptionsAsync(this ISubscriptions operations, CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Microsoft.Rest.HttpOperationResponse <System.Collections.Generic.IList <UserClient.Models.Subscription> > result = await operations.GetSubscriptionsWithOperationResponseAsync(cancellationToken).ConfigureAwait(false);

            return(result.Body);
        }
Beispiel #25
0
        /// <param name='operations'>
        /// Reference to the UserClient.ISubscriptions.
        /// </param>
        /// <param name='id'>
        /// Required.
        /// </param>
        /// <param name='cancellationToken'>
        /// Cancellation token.
        /// </param>
        public static async Task <Subscription> GetSubscriptionByIdByIdAsync(this ISubscriptions operations, string id, CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Microsoft.Rest.HttpOperationResponse <UserClient.Models.Subscription> result = await operations.GetSubscriptionByIdByIdWithOperationResponseAsync(id, cancellationToken).ConfigureAwait(false);

            return(result.Body);
        }
Beispiel #26
0
        /// <param name='operations'>
        /// Reference to the UserClient.ISubscriptions.
        /// </param>
        /// <param name='id'>
        /// Required.
        /// </param>
        /// <param name='patch'>
        /// Required.
        /// </param>
        /// <param name='cancellationToken'>
        /// Cancellation token.
        /// </param>
        public static async Task <object> PutSubscriptionByIdAndPatchAsync(this ISubscriptions operations, string id, string patch, CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Microsoft.Rest.HttpOperationResponse <object> result = await operations.PutSubscriptionByIdAndPatchWithOperationResponseAsync(id, patch, cancellationToken).ConfigureAwait(false);

            return(result.Body);
        }
Beispiel #27
0
        /// <param name='operations'>
        /// Reference to the RestaurantClient.ISubscriptions.
        /// </param>
        /// <param name='subscription'>
        /// Required.
        /// </param>
        /// <param name='cancellationToken'>
        /// Cancellation token.
        /// </param>
        public static async Task <Subscription> PostSubscriptionBySubscriptionAsync(this ISubscriptions operations, Subscription subscription, CancellationToken cancellationToken = default(System.Threading.CancellationToken))
        {
            Microsoft.Rest.HttpOperationResponse <RestaurantClient.Models.Subscription> result = await operations.PostSubscriptionBySubscriptionWithOperationResponseAsync(subscription, cancellationToken).ConfigureAwait(false);

            return(result.Body);
        }
Beispiel #28
0
 public EventPublisher(ISubscriptions <T> subscriptions)
 {
     this.subscriptions = subscriptions;
 }
Beispiel #29
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// </param>
 /// <param name='values'>
 /// </param>
 public static void Put(this ISubscriptions operations, string id, IList <string> values)
 {
     operations.PutAsync(id, values).GetAwaiter().GetResult();
 }
Beispiel #30
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// </param>
 /// <param name='values'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task PutAsync(this ISubscriptions operations, string id, IList <string> values, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.PutWithHttpMessagesAsync(id, values, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }