Beispiel #1
0
        public static void Main(string[] args)
        {
            var isService = args.Contains(RunAsServiceArg);
            var builder   = CreateWebHostBuilder(args.Where(a => a != RunAsServiceArg).ToArray());

            if (isService)
            {
                var pathToExe         = Process.GetCurrentProcess().MainModule.FileName;
                var pathToContentRoot = Path.GetDirectoryName(pathToExe);
                builder.UseContentRoot(pathToContentRoot);
            }

            _context = new ApplicationContext();
            InitControllers();
            LightsService.Init();
            ModbusControllerAdapter.InvokePollingFinished();
            var host = builder.Build();

            if (isService)
            {
                host.RunAsService();
            }
            else
            {
                host.Run();
            }
        }
Beispiel #2
0
        public async void Run(IBackgroundTaskInstance taskInstance)
        {
            _Deferral = taskInstance.GetDeferral();

            var signalServer = new SignalRService();

            var lightService = new LightsService();
            //  var chartService = new ChartService(lightService);
            var schedulePlan = new SchedulePlanService();

            var mqttService = new MQTTServer();
            await signalServer.Connect(lightService, mqttService, schedulePlan);

            await mqttService.ServerRun(signalServer);

            //            var backgroundAccessStatus = await BackgroundExecutionManager.RequestAccessAsync();
            //            var taskName = "test";
            //            if (backgroundAccessStatus == AlwaysAllowed)
            //            {
            //                foreach (var task in BackgroundTaskRegistration.AllTasks)
            //                {
            //                    if (task.Value.Name == taskName)
            //                    {
            //                        return;
            //                    }
            //                }
            //            }
            //
            //            BackgroundTaskBuilder taskBuilder = new BackgroundTaskBuilder();
            //            taskBuilder.Name = taskName;
            //            taskBuilder.TaskEntryPoint =
//            var status = await BackgroundExecutionManager.RequestAccessAsync();
//            var taskName = "test";
//            if (BackgroundTaskRegistration.AllTasks.All(x => x.Value.Name != taskName))
//            {
//                BackgroundTaskBuilder builder = new BackgroundTaskBuilder();
//                builder.Name = taskName;
//                builder.TaskEntryPoint = typeof(LightHBackgroundIotHttpService.TileUpdateTask).FullName;
//                builder.SetTrigger(new TimeTrigger(16,false));
//
//                if (status != BackgroundAccessStatus.Denied)
//                {
//                    builder.Register();
//                }
//            }

            // chartService.SmartSwitchingLights(true, lightService);

            //            await ThreadPool.RunAsync(workItem =>
            //            {
            //                webserver.Start();
            //
            //            });
        }
Beispiel #3
0
 public void SetUp()
 {
     packet                                = new PacketInformation(new VendorInfo("00-11-22-33-44-55", "Amazon"), PhysicalAddress.Parse("00-11-22-33-44-55"));
     serviceConfig                         = new ServiceConfig();
     serviceConfig.Bridges                 = new Dictionary <string, BridgeConfig>();
     serviceConfig.Bridges["One"]          = new BridgeConfig();
     serviceConfig.Buttons                 = new Dictionary <string, ButtonConfig>();
     serviceConfig.Buttons["Main"]         = new ButtonConfig();
     serviceConfig.Buttons["Main"].Mac     = "00-11-22-33-44-55";
     serviceConfig.Buttons["Main"].Actions = new[] { new ButtonAction {
                                                         Groups = new[] { "TestMain" }, Type = ButtonActionType.Simple
                                                     } };
     mockMonitoringManager    = new Mock <IMonitoringManager>();
     mockLightsManagerFactory = new Mock <ILightsManagerFactory>();
     scheduler = new TestScheduler();
     instance  = CreateService();
 }
Beispiel #4
0
 public LightsController()
 {
     lightsService = new LightsService(new ApplicationContext());
 }