Example #1
0
        /// <summary>
        /// Carrega todos os Dispositivos do piso (exceto o selecionado) para serem exibidos junto ao dispositivo selecionado
        /// </summary>
        public void CarregaDispositivosPiso()
        {
            // Limpa dicionário de dispositivos do piso
            LimpaDispositivosExibicao();
            Dispositivo objDispositivoSelecionado = null;

            if (base.AtualizaTela != StatusTela.New)
            {
                // Pega o dispositivo selecionado atual, se estiver em modo edição
                objDispositivoSelecionado = (Dispositivo)grdDispositivos.CurrentRow.DataBoundItem;
            }

            foreach (DataGridViewRow grdRow in grdDispositivos.Rows)
            {
                Dispositivo disp = (Dispositivo)grdRow.DataBoundItem;

                // Se for o dispositivo selecionado (caso não seja um novo dispositivo), não inclui
                if (objDispositivoSelecionado != null)
                {
                    if (disp.Codigo == objDispositivoSelecionado.Codigo)
                    {
                        continue;
                    }
                }

                // Se o dispositivo não pertencer ao piso selecionado, não inclui
                if (disp.Piso != cmbPiso.SelectedValue.ToString())
                {
                    continue;
                }

                // Seta a posicao do dispositivo
                Point newPos = new Point();
                newPos.X = disp.PosicaoX;
                newPos.Y = disp.PosicaoY;

                // Inclui o dispositivo para visualização apenas
                ctlDispositivoBase ctlDisp = new ctlDispositivoBase();
                ctlDisp.PermiteArrastar(false);
                ctlDisp.setPosicaoDispositivoNaImagem(newPos.X, newPos.Y, imgPiso);
                ctlDisp.SetTransparenciaImagem((float)0.4);
                imgPiso.Controls.Add(ctlDisp);
                ctlDisp.BringToFront();
                ctlDisp.Visible = true;
                dicDisp.Add(ctlDisp, newPos);
            }
        }
Example #2
0
        private void CarregaImagemPisoSelecionado()
        {
            if (cmbPiso.SelectedValue != null && !string.IsNullOrEmpty(cmbPiso.SelectedValue.ToString()))
            {
                var auxPiso = from Piso objAux in _lstPisos
                              where objAux.Codigo == cmbPiso.SelectedValue.ToString()
                              select objAux;

                Piso objPisoSelecionado = auxPiso.First();

                if (objPisoSelecionado != null)
                {
                    // Carrega a imagem do Piso no PictureBox
                    imgPiso.Image = Biblioteca.Util.byteArrayToImage(objPisoSelecionado.Imagem);

                    using (GerenciadorDB mngBD = new GerenciadorDB(false))
                    {
                        // Carrega os Dispositivos associados ao Piso selecionado
                        _lstDispositivos = new controlBase <Dispositivo>().LoadFiltro(mngBD, p => p.Piso == cmbPiso.SelectedValue.ToString());

                        // Carrega os dispositivos no Piso
                        foreach (Dispositivo disp in _lstDispositivos)
                        {
                            ctlDispositivoBase ctlDisp = FactoryControlDispositivo.getControleDispositivo(disp);
                            ctlDisp.PermiteArrastar(false);
                            ctlDisp.setPosicaoDispositivoNaImagem(disp.PosicaoX, disp.PosicaoY, imgPiso);
                            ctlDisp.Visible = true;
                            ctlDisp.AtivaTimerExibicao(true, 1000);

                            // Exibe o dispositivo na tela
                            imgPiso.Controls.Add(ctlDisp);
                            ctlDisp.BringToFront();

                            // Adiciona em um dicionario que deverá conter sempre os Dispositivos do Piso selecionado
                            Point pDisp = new Point(disp.PosicaoX, disp.PosicaoY);
                            _dicDispositivos.Add(ctlDisp, pDisp);
                        }
                    }
                }
            }
        }