コード例 #1
0
        private void SetStateHomeDevice(object sender, EventArgs e)
        {
            if (this.listBoxHomeDevices.SelectedItem != null)
            {
                HomeDeviceDTO updateHomeDevice = (HomeDeviceDTO)this.listBoxHomeDevices.SelectedItem;

                // UPDATE STATUS
                this.flowLayoutPanelState.Controls.Clear();

                foreach (var stateVar in updateHomeDevice.State)
                {
                    this.flowLayoutPanelState.Controls.Add(new Label()
                    {
                        Text  = stateVar.ToString(),
                        Width = this.flowLayoutPanelState.Width
                    });
                }

                //GET OPERATIONS
                var previousOperationName = this.operationList.SelectedItem as string;

                this.operationList.Items.Clear();
                this.operationList.Items.AddRange(Services.OperationService.GetExecutableHomeDeviceNameOperations(updateHomeDevice.Id));

                if (!string.IsNullOrEmpty(previousOperationName))
                {
                    this.operationList.SelectedItem = this.operationList.Items.OfType <string>().FirstOrDefault(o => o == previousOperationName);
                }
            }
        }
コード例 #2
0
 void HomeDeviceService_StatusChanged(object sender, HomeDeviceDTO hd)
 {
     this.UIThread(() =>
     {
         this.RefreshDevices();
     });
 }
コード例 #3
0
        private void SelectHomeDevice(object sender, EventArgs e)
        {
            HomeDeviceDTO homeDev = (HomeDeviceDTO)listBoxHomeDevices.SelectedItem;

            textBoxNameHomeDevice.Text = homeDev.Name;
            textBoxTypeHomeDevice.Text = homeDev.Type;

            UpdateOperation();
        }
コード例 #4
0
        private void ChangeNameHomeDevice(object sender, EventArgs e)
        {
            if (listBoxHomeDevices.SelectedItem != null)
            {
                HomeDeviceDTO homeDevice = (HomeDeviceDTO)listBoxHomeDevices.SelectedItem;

                Services.HomeDeviceService.SetNameHomeDevice(homeDevice.Id, textBoxNameHomeDevice.Text);

                UpdateHomeDevices();
            }
        }
コード例 #5
0
        private void UnlinkHomeDevice(object sender, EventArgs e)
        {
            HomeDeviceDTO homeDev = (HomeDeviceDTO)listBoxHomeDevicesConnected.SelectedItem;

            if (homeDev != null)
            {
                Services.HomeDeviceService.UnlinkHomeDevice(homeDev.Id);

                UpdateForm();
            }
        }
コード例 #6
0
        private void ChangeHomeDeviceInformation(object sender, EventArgs e)
        {
            if (listBoxHomeDevices.SelectedItem != null)
            {
                HomeDeviceDTO homeDevice = (HomeDeviceDTO)listBoxHomeDevices.SelectedItem;
                textBoxNameHomeDevice.Text = homeDevice.Name;
                textBoxTypeHomeDevice.Text = homeDevice.Type;

                listBoxOperations.Items.Clear();
                listBoxOperations.Items.AddRange(Services.OperationService.GetHomeDeviceOperationProgram(homeDevice.Id).ToArray());
            }
        }
コード例 #7
0
        private void UpdateOperation()
        {
            HomeDeviceDTO homeDev = (HomeDeviceDTO)listBoxHomeDevices.SelectedItem;

            listBoxOperations.Items.Clear();
            listBoxOperations.Items.AddRange(Services.OperationService.GetExecutableHomeDeviceNameOperations(homeDev.Id)); //OJO

            //Clear add operation
            textBoxArgs.Text          = "";
            comboBoxOperation.Text    = "";
            comboBoxToHomeDevice.Text = "";
        }
コード例 #8
0
        private void LinkHomeDeviceToConnector(object sender, EventArgs e)
        {
            HomeDeviceDTO homeDev = (HomeDeviceDTO)listBoxFreeHomeDevices.SelectedItem;

            ConnectorDTO connector = (ConnectorDTO)listBoxCapableFreeConnector.SelectedItem;

            if (homeDev != null && connector != null)
            {
                Services.HomeDeviceService.LinkHomeDevice(connector.Id, homeDev.Id);

                UpdateForm();
            }
        }
コード例 #9
0
        private void RemoveHomeDevice(object sender, EventArgs e)
        {
            if (listBoxHomeDevices.SelectedItem != null)
            {
                HomeDeviceDTO homeDevice = (HomeDeviceDTO)listBoxHomeDevices.SelectedItem;

                if (homeDevice != null)
                {
                    Services.HomeDeviceService.RemoveHomeDevice(homeDevice.Id);

                    UpdateHomeDevices();
                }
            }
        }
コード例 #10
0
        private void UpdateCapableFreeConnector(object sender, EventArgs e)
        {
            if (listBoxFreeHomeDevices.SelectedItem != null && comboBoxNode.SelectedItem != null)
            {
                HomeDeviceDTO homeDev = (HomeDeviceDTO)listBoxFreeHomeDevices.SelectedItem;

                NodeDTO node = (NodeDTO)this.comboBoxNode.SelectedItem;

                listBoxCapableFreeConnector.Items.Clear();
                listBoxCapableFreeConnector.Items.AddRange(Services.NodeService.GetConnectorsCapable(homeDev.Id, node.Id).ToArray());

                buttonLinkHomeDevice.Enabled = true;
            }
        }
コード例 #11
0
        private void SetSenderOperationForm(object sender, EventArgs e)
        {
            if (this.operationList.SelectedItem != null && listBoxHomeDevices.SelectedItem != null)
            {
                HomeDeviceDTO homeDevice = (HomeDeviceDTO)listBoxHomeDevices.SelectedItem;

                string operationName = (string)this.operationList.SelectedItem;

                OperationDefinitionDTO operation = Services.OperationService.GetDefinitionOperation(homeDevice.Id, operationName);

                tableLayoutPanel3.Controls.Clear();
                for (int i = 0; i < operation.Args.Count(); i++)
                {
                    SetControl(operation.Args[i], i);
                }
            }
        }
コード例 #12
0
        private void SendOperation(object sender, EventArgs e)
        {
            if (this.operationList.SelectedItem != null && this.listBoxHomeDevices.SelectedItem != null)
            {
                HomeDeviceDTO homeDevice    = (HomeDeviceDTO)this.listBoxHomeDevices.SelectedItem;
                string        nameOperation = (string)operationList.SelectedItem;

                object[] args = new object[this.tableLayoutPanel3.Controls.Count];

                for (int i = 0; i < this.tableLayoutPanel3.Controls.Count; i++)
                {
                    args[i] = GetValue(this.tableLayoutPanel3.Controls[i]);
                }

                Services.OperationService.ExecuteOperation(homeDevice.Id, nameOperation, args);
            }
        }