public async Task <List <DeviceEntity> > GetDevices() { try { DeviceEntity deviceEntity; var devices = await registryManager.GetDevicesAsync(maxCountOfDevices); if (devices != null) { foreach (var device in devices) { deviceEntity = new DeviceEntity() { Id = device.Id, ConnectionState = device.ConnectionState.ToString(), ConnectionString = CreateDeviceConnectionString(device), LastActivityTime = device.LastActivityTime, LastConnectionStateUpdatedTime = device.ConnectionStateUpdatedTime, LastStateUpdatedTime = device.StatusUpdatedTime, MessageCount = device.CloudToDeviceMessageCount, State = device.Status.ToString(), SuspensionReason = device.StatusReason }; if (device.Authentication != null && device.Authentication.SymmetricKey != null) { deviceEntity.PrimaryKey = device.Authentication.SymmetricKey.PrimaryKey; deviceEntity.SecondaryKey = device.Authentication.SymmetricKey.SecondaryKey; } DeviceMasterInfo dmi = new DeviceMasterInfo(sqlConnectionString, deviceEntity); try { deviceEntity = dmi.FillDeviceMasterInfo(); } catch (Exception ex) { deviceEntity.DevM_DeviceType = "*****"; deviceEntity.DevM_Status = "*****"; deviceEntity.DevM_ResourceGroupId = "*****"; deviceEntity.DevM_Description = "*****"; } listOfDevices.Add(deviceEntity); } } } catch (Exception ex) { throw ex; } return(listOfDevices); }
private async void createButton_Click(object sender, EventArgs e) { if (comboBoxDevMDeviceType.Text == "" || comboBoxDevMStatus.Text == "") { MessageBox.Show("Both Device Type and Status are required !", "** Input Error **", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { var device = new Device(deviceIDTextBox.Text); await registryManager.AddDeviceAsync(device); device = await registryManager.GetDeviceAsync(device.Id); device.Authentication.SymmetricKey.PrimaryKey = primaryKeyTextBox.Text; device.Authentication.SymmetricKey.SecondaryKey = secondaryKeyTextBox.Text; device = await registryManager.UpdateDeviceAsync(device); // IoT Hub Device var deviceCreated = new DeviceCreatedForm(device.Id, device.Authentication.SymmetricKey.PrimaryKey, device.Authentication.SymmetricKey.SecondaryKey); deviceCreated.ShowDialog(); // RBFX Device Master var deviceEntity = new DeviceEntity(); deviceEntity.Id = device.Id; deviceEntity.DevM_DeviceType = comboBoxDevMDeviceType.Text; deviceEntity.DevM_Status = comboBoxDevMStatus.Text; deviceEntity.DevM_ResourceGroupId = textBoxDevMRescGrpId.Text; deviceEntity.DevM_Description = textBoxDevMDesc.Text; deviceEntity.DevM_Registered_DateTime = DateTime.Now; var dmi = new DeviceMasterInfo(sqlConnectionString, deviceEntity); dmi.CreateDevice(); // Create Storage Queue (Option) if (queueStorageConnString != string.Empty) { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(queueStorageConnString); CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient(); CloudQueue queue = queueClient.GetQueueReference(device.Id); // Create the queue if it doesn't already exist queue.CreateIfNotExists(); } this.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private async void updateButton_Click(object sender, EventArgs e) { try { var devices = await registryManager.GetDevicesAsync(devicesMaxCount); Device updatedDevice = null; foreach (var device in devices) { if (device.Id == selectedDeviceID) { updatedDevice = device; break; } } if (updatedDevice != null) { // IoT Hub Device updatedDevice.Authentication.SymmetricKey.PrimaryKey = primaryKeyTextBox.Text; updatedDevice.Authentication.SymmetricKey.SecondaryKey = secondaryKeyTextBox.Text; await registryManager.UpdateDeviceAsync(updatedDevice, true); MessageBox.Show("Device updated successfully", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); // RBFX Device Master var deviceEntity = new DeviceEntity(); deviceEntity.Id = updatedDevice.Id; deviceEntity.DevM_DeviceType = comboBoxDevMDeviceType.Text; deviceEntity.DevM_Status = comboBoxDevMStatus.Text; deviceEntity.DevM_ResourceGroupId = textBoxDevMRescGrpId.Text; deviceEntity.DevM_Description = textBoxDevMDesc.Text; deviceEntity.DevM_Registered_DateTime = DateTime.Now; var dmi = new DeviceMasterInfo(sqlConnectionString, deviceEntity); dmi.UpdateDevice(); this.Close(); } else { MessageBox.Show("Device not found!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void DeviceUpdateForm_Load(object sender, EventArgs e) { var deviceEntity = new DeviceEntity(); deviceEntity.Id = selectedDeviceID; var dmi = new DeviceMasterInfo(sqlConnectionString, deviceEntity); deviceEntity = dmi.FillDeviceMasterInfo(); comboBoxDevMDeviceType.DataSource = CRoboticsConst.DeviceTypeList; comboBoxDevMDeviceType.Text = deviceEntity.DevM_DeviceType; comboBoxDevMStatus.DataSource = CRoboticsConst.StatusList; comboBoxDevMStatus.Text = deviceEntity.DevM_Status; textBoxDevMRescGrpId.Text = deviceEntity.DevM_ResourceGroupId; textBoxDevMDesc.Text = deviceEntity.DevM_Description; }
private async void createButton_Click(object sender, EventArgs e) { if (comboBoxDevMDeviceType.Text == "" || comboBoxDevMStatus.Text == "") { MessageBox.Show("Both Device Type and Status are required !", "** Input Error **", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { var device = new Device(deviceIDTextBox.Text); await registryManager.AddDeviceAsync(device); device = await registryManager.GetDeviceAsync(device.Id); device.Authentication.SymmetricKey.PrimaryKey = primaryKeyTextBox.Text; device.Authentication.SymmetricKey.SecondaryKey = secondaryKeyTextBox.Text; device = await registryManager.UpdateDeviceAsync(device); // IoT Hub Device var deviceCreated = new DeviceCreatedForm(device.Id, device.Authentication.SymmetricKey.PrimaryKey, device.Authentication.SymmetricKey.SecondaryKey); deviceCreated.ShowDialog(); // RBFX Device Master var deviceEntity = new DeviceEntity(); deviceEntity.Id = device.Id; deviceEntity.DevM_DeviceType = comboBoxDevMDeviceType.Text; deviceEntity.DevM_Status = comboBoxDevMStatus.Text; deviceEntity.DevM_ResourceGroupId = textBoxDevMRescGrpId.Text; deviceEntity.DevM_Description = textBoxDevMDesc.Text; deviceEntity.DevM_Registered_DateTime = DateTime.Now; var dmi = new DeviceMasterInfo(sqlConnectionString, deviceEntity); dmi.CreateDevice(); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }