public string Alterar(Sala sala)
        {
            try
            {
                acessoDadosSqlServer.LimparParametros();
                acessoDadosSqlServer.AdicionarParametros("@SalaID", sala.SalaID);
                acessoDadosSqlServer.AdicionarParametros("@SalaNome", sala.SalaNome);
                acessoDadosSqlServer.AdicionarParametros("@SalaDescricao", sala.SalaDescricao);
                acessoDadosSqlServer.AdicionarParametros("@SalaSalaTipoID", Convert.ToInt32(sala.SalaSalaTipoID));
                acessoDadosSqlServer.AdicionarParametros("@SalaUnidadeID", Convert.ToInt32(sala.SalaUnidadeID));
                string SalaID = acessoDadosSqlServer.ExecutarManipulacao(CommandType.Text, "UPDATE tblSala SET SalaNome = @SalaNome, SalaDescricao = @SalaDescricao, SalaSalaTipoID = @SalaSalaTipoID, SalaUnidadeID = @SalaUnidadeID WHERE SalaID = @SalaID SELECT @SalaID AS RETORNO").ToString();

                return SalaID;
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }
        public FrmMenuAcaoSala(Sala sala, string acao)
        {
            InitializeComponent();
            SalaNegocios salaNegocios = new SalaNegocios();
            if (acao == "Inserir Sala")
            {
                this.Text = "Inserir Sala";
            }
            else if (acao == "Alterar Sala")
            {
                this.Text = "Alterar Sala";
                textBoxAcaoSalaID.Text = sala.SalaID.ToString();
                textBoxAcaoSalaNome.Text = sala.SalaNome;
                textBoxAcaoSalaDescricao.Text = sala.SalaDescricao;
                comboBoxAcaoSalaUnidade.Text = sala.SalaUnidadeNome;
                comboBoxAcaoSalaTipo.Text = sala.SalaSalaTipoNome;
                salaold = sala;
            }
            else if(acao == "Consultar Sala")
            {
                this.Text = "Consultar Sala";
                textBoxAcaoSalaID.Text = sala.SalaID.ToString();
                textBoxAcaoSalaNome.Text = sala.SalaNome;
                textBoxAcaoSalaDescricao.Text = sala.SalaDescricao;
                textBoxAcaoSalaUnidade.Text = sala.SalaUnidadeNome;
                textBoxAcaoSalaTipo.Text = sala.SalaSalaTipoNome;

                buttonAcaoSalaConfirmar.Hide();
                buttonAcaoSalaCancelar.Hide();
                textBoxAcaoSalaNome.ReadOnly = true;
                textBoxAcaoSalaDescricao.ReadOnly = true;
                comboBoxAcaoSalaUnidade.Visible = false;
                textBoxAcaoSalaUnidade.Visible = true;
                textBoxAcaoSalaUnidade.Location = new Point(68, 124);
                comboBoxAcaoSalaTipo.Visible = false;
                textBoxAcaoSalaTipo.Visible = true;
                textBoxAcaoSalaTipo.Location = new Point(224, 50);

                labelAcaoSalaCO.Hide();
            }
        }
        public SalaColecao ConsultarPorDescricao(string descricao, string unidade)
        {
            //Criar uma nova coleção de clientes (aqui ela está vazia)
            SalaColecao salaColecao = new SalaColecao();

            acessoDadosSqlServer.LimparParametros();
            DataTable dataTableSala;

            if (unidade == "")
            {
                acessoDadosSqlServer.AdicionarParametros("@SalaDescricao", descricao);
                dataTableSala = acessoDadosSqlServer.ExecutarConsulta(CommandType.Text, "SELECT SalaID AS ID, SalaNome AS Sala, SalaDescricao AS Descricao, SalaTipoTipo AS Tipo, UnidadeNome AS Unidade FROM tblSala INNER JOIN tblUnidade ON SalaUnidadeID = UnidadeID INNER JOIN tblSalaTipo ON SalaSalaTipoID = SalaTipoID WHERE (SalaDescricao LIKE '%' + @SalaDescricao + '%')");
            }
            else
            {
                acessoDadosSqlServer.AdicionarParametros("@SalaUnidadeID", RetornaUnidadeID(unidade));
                acessoDadosSqlServer.AdicionarParametros("@SalaDescricao", descricao);
                dataTableSala = acessoDadosSqlServer.ExecutarConsulta(CommandType.Text, "SELECT SalaID AS ID, SalaNome AS Sala, SalaDescricao AS Descricao, SalaTipoTipo AS Tipo, UnidadeNome AS Unidade FROM tblSala INNER JOIN tblUnidade ON SalaUnidadeID = UnidadeID INNER JOIN tblSalaTipo ON SalaSalaTipoID = SalaTipoID WHERE (SalaDescricao LIKE '%' + @SalaDescricao + '%') and (SalaUnidadeID = @SalaUnidadeID)");
            }

            //Percorrer o DataTable e transformar em coleção de cliente
            //Cada linha do DataTable é um cliente
            foreach (DataRow linha in dataTableSala.Rows)
            {
                //Criar um cliente vazio
                //Colocar os dados da linha dele
                //Adicionar ele na coleção
                Sala sala = new Sala();
                sala.SalaID = Convert.ToInt32(linha["ID"]);
                sala.SalaNome = Convert.ToString(linha["Sala"]);
                sala.SalaDescricao = Convert.ToString(linha["Descricao"]);
                sala.SalaSalaTipoNome = Convert.ToString(linha["Tipo"]);
                sala.SalaUnidadeNome = Convert.ToString(linha["Unidade"]);
                salaColecao.Add(sala);
            }
            return salaColecao;
        }
        private void buttonAcaoSalaConfirmar_Click(object sender, EventArgs e)
        {
            if (this.Text == "Inserir Sala")
            {
                Sala sala = new Sala();
                SalaNegocios salaNegocios = new SalaNegocios();

                sala.SalaNome = textBoxAcaoSalaNome.Text;
                sala.SalaDescricao = textBoxAcaoSalaDescricao.Text;
                sala.SalaSalaTipoNome = "";
                sala.SalaUnidadeNome = "";

                if (comboBoxAcaoSalaUnidade.Text != "")
                {
                    sala.SalaUnidadeNome = comboBoxAcaoSalaUnidade.Text.ToString();
                    sala.SalaUnidadeID = salaNegocios.RetornaUnidadeID(sala.SalaUnidadeNome);
                }

                if (comboBoxAcaoSalaTipo.Text != "")
                {
                    sala.SalaSalaTipoNome = comboBoxAcaoSalaTipo.Text.ToString();
                    sala.SalaSalaTipoID = salaNegocios.RetornaSalaTipoID(sala.SalaSalaTipoNome);
                }

                if (sala.SalaNome == "" || sala.SalaSalaTipoNome == "" || sala.SalaUnidadeNome == "")
                {
                    MessageBox.Show("Favor preencher todos os campos!");
                }
                else
                {

                    string retorno = salaNegocios.Inserir(sala);

                    try
                    {
                        int salaID = Convert.ToInt32(retorno);

                        MessageBox.Show("Registro inserido com sucesso! Código cadastrado: " + salaID.ToString());
                        this.DialogResult = DialogResult.Yes;
                    }
                    catch
                    {
                        MessageBox.Show("Não foi possível completar a operação! Detalhes: " + retorno, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        this.DialogResult = DialogResult.No;
                    }
                }
            }

            if (this.Text == "Alterar Sala")
            {
                Sala sala = new Sala();
                SalaNegocios salaNegocios = new SalaNegocios();

                sala.SalaID = Convert.ToInt32(textBoxAcaoSalaID.Text);
                sala.SalaNome = textBoxAcaoSalaNome.Text;
                sala.SalaDescricao = textBoxAcaoSalaDescricao.Text;

                if (comboBoxAcaoSalaUnidade.Text != "")
                {
                    sala.SalaUnidadeNome = comboBoxAcaoSalaUnidade.Text.ToString();
                    sala.SalaUnidadeID = salaNegocios.RetornaUnidadeID(sala.SalaUnidadeNome);
                }

                if (comboBoxAcaoSalaTipo.Text != "")
                {
                    sala.SalaSalaTipoNome = comboBoxAcaoSalaTipo.Text.ToString();
                    sala.SalaSalaTipoID = salaNegocios.RetornaSalaTipoID(sala.SalaSalaTipoNome);
                }

                if (sala.SalaNome == salaold.SalaNome && sala.SalaDescricao == salaold.SalaDescricao
                    && sala.SalaUnidadeNome == salaold.SalaUnidadeNome
                    && sala.SalaSalaTipoNome == salaold.SalaSalaTipoNome)
                {
                    MessageBox.Show("Os campos não foram alterados");
                }
                else
                {

                    if (sala.SalaNome == "" || sala.SalaSalaTipoNome == "" || sala.SalaUnidadeNome == "")
                    {
                        MessageBox.Show("Favor preencher todos os campos!");
                    }
                    else
                    {
                        string retorno = salaNegocios.Alterar(sala);

                        try
                        {
                            int salaID = Convert.ToInt32(retorno);

                            MessageBox.Show("Registro inserido com sucesso! Código: " + salaID.ToString());
                            this.DialogResult = DialogResult.Yes;
                        }
                        catch
                        {
                            MessageBox.Show("Não foi possível completar a operação! Detalhes: " + retorno, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            this.DialogResult = DialogResult.No;
                        }
                    }
                }
            }
        }
        public string Inserir(Sala sala)
        {
            try
            {
                acessoDadosSqlServer.LimparParametros();
                acessoDadosSqlServer.AdicionarParametros("@SalaNome", sala.SalaNome);
                acessoDadosSqlServer.AdicionarParametros("@SalaDescricao", sala.SalaDescricao);
                acessoDadosSqlServer.AdicionarParametros("@SalaSalaTipoID", Convert.ToInt32(sala.SalaSalaTipoID));
                acessoDadosSqlServer.AdicionarParametros("@SalaUnidadeID", Convert.ToInt32(sala.SalaUnidadeID));
                string SalaID = acessoDadosSqlServer.ExecutarManipulacao(CommandType.Text, "INSERT INTO tblSala (SalaNome,SalaDescricao,SalaUnidadeID,SalaSalaTipoID) VALUES (@SalaNome,@SalaDescricao,@SalaUnidadeID,@SalaSalaTipoID) SELECT @@IDENTITY AS RETORNO").ToString();

                return SalaID;
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }
        public string Excluir(Sala sala)
        {
            try
            {
                acessoDadosSqlServer.LimparParametros();
                acessoDadosSqlServer.AdicionarParametros("@SalaID", sala.SalaID);
                string SalaID = acessoDadosSqlServer.ExecutarManipulacao(CommandType.Text, "DELETE FROM tblSala WHERE SalaID = @SalaID SELECT @SalaID AS RETORNO").ToString();

                return SalaID;
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }