Exemplo n.º 1
0
        protected override void ActivateInternal()
        {
            var setting        = Resolver.GetInstance <DeconzToMqttSetting>();
            var logManager     = Resolver.GetInstance <ILogManager>();
            var metricRecorder = Resolver.GetInstance <IMetricRecorder>();

            var sensorRepository = new SensorRepository(setting.DeconzApiKey, new Uri($"ws://{setting.DeconzAddress}:{setting.DeconzApiPort}"));
            var lightRepository  = new LightRepository(setting.DeconzApiKey, new Uri($"ws://{setting.DeconzAddress}:{setting.DeconzApiPort}"));

            var healthCheckService = new HealthCheckService(logManager.GetLogger <HealthCheckService>());
            var websockerReceiver  = new WebsocketReceiver(logManager.GetLogger <WebsocketReceiver>(), new Uri($"ws://{setting.DeconzAddress}:{setting.DeconzWebsocketPort}"));
            var mqttClient         = new MqttClient(logManager.GetLogger <MqttClient>(), metricRecorder, logManager, setting.MqttAddress, setting.MqttUsername, setting.MqttPassword);
            var eventHandler       = new EventHandlingService(logManager.GetLogger <EventHandlingService>(), websockerReceiver, mqttClient, sensorRepository);
            var telemetryService   = new TelemetryService(logManager.GetLogger <TelemetryService>(), metricRecorder, new DeconzRepository[] {
                sensorRepository,
                lightRepository
            }, mqttClient);

            healthCheckService.AddHealthCheck(websockerReceiver);
            healthCheckService.AddHealthCheck(mqttClient);

            mqttClient.Start();
            eventHandler.Start();
            websockerReceiver.Start();
            telemetryService.Start();
            healthCheckService.Start();
        }
Exemplo n.º 2
0
 public LightsController(
     ILogger <LightsController> logger,
     LightRepository lightRepository)
 {
     _logger          = logger;
     _lightRepository = lightRepository;
 }
Exemplo n.º 3
0
        private async void OptimisedSqlButton_Click(object sender, RoutedEventArgs e)
        {
            LightRepository repository          = new LightRepository();
            int             repeatableDataCount = NumberOfRecords / 10;

            if (repeatableDataCount < 1)
            {
                repeatableDataCount = 1;
            }

            Fixture fixture = new Fixture();

            var lookups = Enumerable.Range(1, repeatableDataCount).Select(i => fixture.Create <LightLookup>()).ToList();

            fixture.Customizations.Add(new LookupIdBuilder(lookups.Select(l => l.Id).ToArray()));
            var items = Enumerable.Range(1, NumberOfRecords).Select(i => fixture.Create <LightTvp>()).ToList();

            Stopwatch watch = new Stopwatch();

            watch.Start();

            await repository.ExecuteCommit(items, lookups);

            watch.Stop();

            LastCommandOutput.Content = $"Executed light DataTable's command in {watch.Elapsed}";
        }
 public UnitOfWork(GrowingPlantsContext context)
 {
     UserRepository                = new UserRepository(context);
     TreeRepository                = new TreeRepository(context);
     MeasurementUnitRepository     = new MeasurementUnitRepository(context);
     LightRepository               = new LightRepository(context);
     HumidityRepository            = new HumidityRepository(context);
     TemperatureRepository         = new TemperatureRepository(context);
     FavoriteTreeRepository        = new FavoriteTreeRepository(context);
     CountryRepository             = new CountryRepository(context);
     PlantingProcessRepository     = new PlantingProcessRepository(context);
     PlantingEnvironmentRepository = new PlantingEnvironmentRepository(context);
     ProcessStepRepository         = new ProcessStepRepository(context);
     PlantingActionRepository      = new PlantingActionRepository(context);
     RecurrenceRepository          = new RecurrenceRepository(context);
     NotificationRepository        = new NotificationRepository(context);
     PlantingSpotRepository        = new PlantingSpotRepository(context);
     PlantTypeRepository           = new PlantTypeRepository(context);
     GalleryRepository             = new GalleryRepository(context);
     PictureRepository             = new PictureRepository(context);
 }