Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }