コード例 #1
0
        protected override void EnteredTree()
        {
            _eventManager.OnStationEventsReceived += OnStationEventsReceived;
            _eventManager.RequestEvents();

            EventsOptions.AddItem(Loc.GetString("station-events-window-not-loaded-text"));
        }
コード例 #2
0
    public async void RespectsLimit()
    {
        var sales = new[]
        {
            new ProductSale()
            {
                Amount = 25000.00M, Notes = "Hot van!"
            },
            new ProductSale()
            {
                Amount = 22000.00M, Notes = "Meh"
            },
            new ProductSale()
            {
                Amount = 15000.00M, Notes = "What a deal!"
            }
        };

        var options   = new EventsOptions(limit: 1);
        var eventType = Guid.NewGuid().ToString();

        foreach (var sale in sales)
        {
            await collection.AddEventAsync(minivanKey, eventType, sale);
        }

        var results = await collection.GetEventsAsync <ProductSale>(minivanKey, eventType, options);

        Assert.Collection(results,
                          r => Assert.Equal(sales[2].Amount, r.Amount)
                          );
    }
コード例 #3
0
        protected override void EnteredTree()
        {
            _data = IoCManager.Resolve <IStationEventManager>().StationEvents.ToList();
            _data.Add(_data.Any() ? Loc.GetString("Not loaded") : Loc.GetString("Random"));
            foreach (var stationEvent in _data)
            {
                EventsOptions.AddItem(stationEvent);
            }

            EventsOptions.OnItemSelected += eventArgs => EventsOptions.SelectId(eventArgs.Id);
            PauseButton.OnPressed        += PauseButtonOnOnPressed;
            ResumeButton.OnPressed       += ResumeButtonOnOnPressed;
            SubmitButton.OnPressed       += SubmitButtonOnOnPressed;
        }
コード例 #4
0
        /// <summary>
        /// Adds <c>EventHub</c> telemetry event transmission services to the service collection.
        /// </summary>
        /// <param name="services">A <see cref="IServiceCollection"/> instance.</param>
        /// <param name="configuration">A <see cref="IConfiguration"/> instance.</param>
        /// <returns>The provided <see cref="IServiceCollection"/> instance.</returns>
        public static IServiceCollection AddEventHubTelemetryEventTransmission(
            this IServiceCollection services,
            IConfiguration configuration)
        {
            if (services == null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            EventHubConfiguration eventHubConfiguration = configuration
                                                          .GetSection("Tracing")
                                                          .GetSection("EventHub")
                                                          .Get <EventHubConfiguration>();

            EventsOptions eventsOptions = configuration
                                          .GetSection("Tracing")
                                          .GetSection("Events")
                                          .Get <EventsOptions>() ?? new EventsOptions();

            return(services
                   .AddTracingCore(configuration)
                   .AddSingleton(eventHubConfiguration)
                   .AddSingleton(eventsOptions)
                   .AddSingleton(eventsOptions.Buffer)
                   .AddSingleton(p =>
            {
                var connection = new EventHubConnection(eventHubConfiguration.ConnectionString);
                EventHubProducerClientOptions clientOptions = CreateEventHubClientOptions(eventHubConfiguration);
                return new EventHubProducerClient(connection, clientOptions);
            })
                   .AddSingleton <IMemoryBuffer <EventData> >(sp => new MemoryBuffer <EventData>(eventsOptions.Buffer))
                   .AddSingleton <ITransmissionBuffer <EventData, EventDataBatch>, EventHubTransmissionBuffer>()
                   .AddSingleton <ITransmissionSender <EventDataBatch>, EventHubTransmissionSender>()
                   .AddSingleton <ITransmissionStorage <EventData> >(p =>
            {
                TracingConfiguration tracingConfiguration = p.GetRequiredService <TracingConfiguration>();
                return new EventHubTransmissionStorage(tracingConfiguration.GetEventsStoragePath());
            })
                   .AddSingleton <ITelemetryEventTransmitter, EventHubTransmitter>());
        }
コード例 #5
0
    public async void AllowsPagination()
    {
        var sales = new[]
        {
            new ProductSale()
            {
                Amount = 25000.00M, Notes = "Hot van!"
            },
            new ProductSale()
            {
                Amount = 22000.00M, Notes = "Meh"
            },
            new ProductSale()
            {
                Amount = 15000.00M, Notes = "What a deal!"
            }
        };

        var totalResults = new List <ProductSale>();
        var options      = new EventsOptions(limit: 1);
        var eventType    = Guid.NewGuid().ToString();

        foreach (var sale in sales)
        {
            await collection.AddEventAsync(minivanKey, eventType, sale);
        }

        var results = await collection.GetEventsAsync <ProductSale>(minivanKey, eventType, options);

        totalResults.AddRange(results);

        while (results.HasNext())
        {
            results = await results.GetNextAsync();

            totalResults.AddRange(results);
        }

        Assert.Collection(totalResults,
                          r => Assert.Equal(sales[2].Amount, r.Amount),
                          r => Assert.Equal(sales[1].Amount, r.Amount),
                          r => Assert.Equal(sales[0].Amount, r.Amount)
                          );
    }
コード例 #6
0
        private void OnStationEventsReceived()
        {
            // fill events dropdown
            _data = _eventManager.StationEvents.ToList();
            EventsOptions.Clear();
            foreach (var stationEvent in _data)
            {
                EventsOptions.AddItem(stationEvent);
            }
            EventsOptions.AddItem(Loc.GetString("station-events-window-random-text"));

            // Enable all UI elements
            EventsOptions.Disabled = false;
            PauseButton.Disabled   = false;
            ResumeButton.Disabled  = false;
            SubmitButton.Disabled  = false;

            // Subscribe to UI events
            EventsOptions.OnItemSelected += eventArgs => EventsOptions.SelectId(eventArgs.Id);
            PauseButton.OnPressed        += PauseButtonOnOnPressed;
            ResumeButton.OnPressed       += ResumeButtonOnOnPressed;
            SubmitButton.OnPressed       += SubmitButtonOnOnPressed;
        }