private void btnDeleteTags_Click(object sender, EventArgs e)
        {
            if (_edgeAgent == null)
            {
                return;
            }

            EdgeConfig config = new EdgeConfig();

            for (int i = 1; i <= numDeviceCount.Value; i++)
            {
                EdgeConfig.DeviceConfig device = new EdgeConfig.DeviceConfig()
                {
                    Id = "Device" + i
                };
                for (int j = 1; j <= numATagCount.Value; j++)
                {
                    EdgeConfig.AnalogTagConfig analogTag = new EdgeConfig.AnalogTagConfig()
                    {
                        Name = "ATag" + j
                    };
                    device.AnalogTagList.Add(analogTag);
                }
                for (int j = 1; j <= numDTagCount.Value; j++)
                {
                    EdgeConfig.DiscreteTagConfig discreteTag = new EdgeConfig.DiscreteTagConfig()
                    {
                        Name = "DTag" + j
                    };
                    device.DiscreteTagList.Add(discreteTag);
                }
                for (int j = 1; j <= numTTagCount.Value; j++)
                {
                    EdgeConfig.TextTagConfig textTag = new EdgeConfig.TextTagConfig()
                    {
                        Name = "TTag" + j
                    };
                    device.TextTagList.Add(textTag);
                }

                config.Node.DeviceList.Add(device);
            }

            bool result = _edgeAgent.UploadConfig(ActionType.Delete, config).Result;
        }
        private void btnDeleteDevices_Click(object sender, EventArgs e)
        {
            if (_edgeAgent == null)
            {
                return;
            }

            EdgeConfig config = new EdgeConfig();

            for (int i = 1; i <= numDeviceCount.Value; i++)
            {
                EdgeConfig.DeviceConfig device = new EdgeConfig.DeviceConfig()
                {
                    Id = "Device" + i
                };

                config.Node.DeviceList.Add(device);
            }

            bool result = _edgeAgent.UploadConfig(ActionType.Delete, config).Result;
        }
        private void btnUpdateConfig_Click(object sender, EventArgs e)
        {
            if (_edgeAgent == null)
            {
                return;
            }

            EdgeConfig config = new EdgeConfig();

            for (int i = 1; i <= numDeviceCount.Value; i++)
            {
                EdgeConfig.DeviceConfig device = new EdgeConfig.DeviceConfig()
                {
                    Id          = "Device" + i,
                    Description = "Device " + i,
                };

                for (int j = 1; j <= numATagCount.Value; j++)
                {
                    EdgeConfig.AnalogTagConfig analogTag = new EdgeConfig.AnalogTagConfig()
                    {
                        Name                  = "ATag" + j,
                        Description           = "ATag " + j,
                        ReadOnly              = false,
                        ArraySize             = 0,
                        SpanHigh              = 1000,
                        SpanLow               = 0,
                        EngineerUnit          = string.Empty,
                        IntegerDisplayFormat  = 4,
                        FractionDisplayFormat = 2
                    };
                    device.AnalogTagList.Add(analogTag);
                }
                for (int j = 1; j <= numDTagCount.Value; j++)
                {
                    EdgeConfig.DiscreteTagConfig discreteTag = new EdgeConfig.DiscreteTagConfig()
                    {
                        Name        = "DTag" + j,
                        Description = "DTag " + j,
                        ReadOnly    = false,
                        ArraySize   = 0,
                        State0      = "0",
                        State1      = "1",
                        State2      = string.Empty,
                        State3      = string.Empty,
                        State4      = string.Empty,
                        State5      = string.Empty,
                        State6      = string.Empty,
                        State7      = string.Empty
                    };
                    device.DiscreteTagList.Add(discreteTag);
                }
                for (int j = 1; j <= numTTagCount.Value; j++)
                {
                    EdgeConfig.TextTagConfig textTag = new EdgeConfig.TextTagConfig()
                    {
                        Name        = "TTag" + j,
                        Description = "TTag " + j,
                        ReadOnly    = false,
                        ArraySize   = 0
                    };
                    device.TextTagList.Add(textTag);
                }

                config.Node.DeviceList.Add(device);
            }

            bool result = _edgeAgent.UploadConfig(ActionType.Update, config).Result;
        }