private static async Task <bool> RunAddAndReturnExitCode(AddOptions opts) { if (!configurationHelper.ReadConfig()) { return(false); } bool isSuccess = false; opts = iotDeviceHelper.CleanOptions(opts as object, true) as AddOptions; opts = iotDeviceHelper.CompleteMissingAddOptions(opts, configurationHelper); if (iotDeviceHelper.VerifyDevice(opts, null, null, null, configurationHelper, true)) { Twin twin = iotDeviceHelper.CreateDeviceTwin(opts); isSuccess = await iotDeviceHelper.WriteDeviceTwin(twin, opts.DevEui, configurationHelper, true); } else { StatusConsole.WriteLogLine(MessageType.Error, $"Can not add {opts.Type.ToUpper()} device."); } if (isSuccess) { var twin = await iotDeviceHelper.QueryDeviceTwin(opts.DevEui, configurationHelper); StatusConsole.WriteTwin(opts.DevEui, twin); } return(isSuccess); }
private static async Task <bool> RunBulkVerifyAndReturnExitCode(BulkVerifyOptions opts) { int page; if (!configurationHelper.ReadConfig()) { return(false); } if (!int.TryParse(opts.Page, out page)) { page = 0; } var isSuccess = await iotDeviceHelper.QueryDevicesAndVerify(configurationHelper, page); Console.WriteLine(); if (isSuccess) { StatusConsole.WriteLogLine(MessageType.Info, "No errors were encountered."); } else { StatusConsole.WriteLogLine(MessageType.Error, "Errors detected in devices."); } return(isSuccess); }
private static async Task <bool> RunUpdateAndReturnExitCode(UpdateOptions opts) { if (!configurationHelper.ReadConfig()) { return(false); } bool isSuccess = false; opts = iotDeviceHelper.CleanOptions(opts as object, false) as UpdateOptions; opts = iotDeviceHelper.CompleteMissingUpdateOptions(opts, configurationHelper); var twin = await iotDeviceHelper.QueryDeviceTwin(opts.DevEui, configurationHelper); if (twin != null) { twin = iotDeviceHelper.UpdateDeviceTwin(twin, opts); if (iotDeviceHelper.VerifyDeviceTwin(opts.DevEui, opts.NetId, twin, configurationHelper, true)) { isSuccess = await iotDeviceHelper.WriteDeviceTwin(twin, opts.DevEui, configurationHelper, false); if (isSuccess) { var newTwin = await iotDeviceHelper.QueryDeviceTwin(opts.DevEui, configurationHelper); StatusConsole.WriteTwin(opts.DevEui, twin); } else { Console.WriteLine(); StatusConsole.WriteLogLine(MessageType.Error, $"Can not update device {opts.DevEui}."); } } else { Console.WriteLine(); StatusConsole.WriteLogLine(MessageType.Error, $"Errors found in Twin data. Device {opts.DevEui} was not updated."); } } else { Console.WriteLine(); StatusConsole.WriteLogLine(MessageType.Error, $"Could not get data for device {opts.DevEui}. Failed to update."); isSuccess = false; } return(isSuccess); }
private static async Task <bool> RunQueryAndReturnExitCode(QueryOptions opts) { if (!configurationHelper.ReadConfig()) { return(false); } var twin = await iotDeviceHelper.QueryDeviceTwin(opts.DevEui, configurationHelper); if (twin != null) { StatusConsole.WriteTwin(opts.DevEui, twin); return(true); } else { StatusConsole.WriteLogLine(MessageType.Error, $"Could not get data for device {opts.DevEui}."); return(false); } }