Beispiel #1
0
        public async Task <IActionResult> UpdateDevicesAsync([FromBody] DeviceTwinUpdateAsyncModel devicesUpdate)
        {
            try
            {
                logger.LogInformation("Async DeviceTwins Update called");
                DeviceUpdateResult result = await _deviceServiceDB.UpdateDevicesAsync(devicesUpdate.DeviceIds, devicesUpdate.JsonDesired, devicesUpdate.JsonTags);

                return(Ok(result));
            }
            catch (Exception e)
            {
                logger.LogError(e, "Async DeviceTwins Update - Exception {message}", e.Message);
                throw;
            }
        }
Beispiel #2
0
        public DeviceUpdateResult GetDeviceLibraryInfo()
        {
            var result           = new DeviceUpdateResult();
            var deviceCategories =
                ServerConfig.DeviceDb.Query <dynamic>("SELECT Id, CategoryName FROM `device_category` WHERE `MarkedDelete` = 0;");

            result.deviceCategories.AddRange(deviceCategories);

            var deviceModels =
                ServerConfig.DeviceDb.Query <dynamic>("SELECT Id, DeviceCategoryId, ModelName FROM `device_model` WHERE `MarkedDelete` = 0;");

            result.deviceModels.AddRange(deviceModels);

            var firmwareLibraries =
                ServerConfig.DeviceDb.Query <dynamic>("SELECT Id, FirmwareName FROM `firmware_library` WHERE `MarkedDelete` = 0;");

            result.firmwareLibraries.AddRange(firmwareLibraries);

            var hardwareLibraries =
                ServerConfig.DeviceDb.Query <dynamic>("SELECT Id, HardwareName FROM `hardware_library` WHERE `MarkedDelete` = 0;");

            result.hardwareLibraries.AddRange(hardwareLibraries);

            var applicationLibraries =
                ServerConfig.DeviceDb.Query <dynamic>("SELECT Id, ApplicationName FROM `application_library` WHERE `MarkedDelete` = 0;");

            result.applicationLibraries.AddRange(applicationLibraries);

            var sites =
                ServerConfig.DeviceDb.Query <dynamic>("SELECT Id, SiteName FROM `site` WHERE `MarkedDelete` = 0;");

            result.sites.AddRange(sites);

            var scriptVersions =
                ServerConfig.DeviceDb.Query <dynamic>("SELECT Id, DeviceModelId, ScriptName FROM `script_version` WHERE `MarkedDelete` = 0;");

            result.scriptVersions.AddRange(scriptVersions);
            return(result);
        }
Beispiel #3
0
        private void HandleUpdateResult(DeviceUpdateResult result)
        {
            switch (result)
            {
            case DeviceUpdateResult.Shutdown:
            {
                TurnOff();
                break;
            }

            case DeviceUpdateResult.Reboot:
            {
                Reboot();
                break;
            }

            case DeviceUpdateResult.Continue:
            default:
            {
                break;
            }
            }
        }