private void btFinalizar_Click(object sender, EventArgs e)
        {
            DialogResult resultado = MessageBox.Show("DESEJA FINALIZAR A ORDEM DE SERVICO?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (resultado == DialogResult.Yes)
            {
                txtDataFinal.Text = System.DateTime.Now.ToShortDateString() + " - " + System.DateTime.Now.ToShortTimeString();
                txtSituacao.Text  = "FINALIZADO";

                DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao);
                cx.Conectar();
                cx.IniciarTransacao();

                try
                {
                    //Inserindo Dados da Tabela OS
                    ModelOrdemServico modeloOS = new ModelOrdemServico();
                    modeloOS.DataInicial = txtDataInicial.Text;
                    modeloOS.DataFinal   = txtDataFinal.Text;
                    modeloOS.Situacao    = txtSituacao.Text;
                    modeloOS.Observacao  = txtObservacao.Text;
                    modeloOS.IdCliente   = Convert.ToInt32(txtCodCliente.Text);
                    BLLOrdemServico bllOS = new BLLOrdemServico(cx);

                    //Inserindo dados da Tabela OSItens
                    ModelOrdemServicoItens modeloOSItens = new ModelOrdemServicoItens();
                    BLLOrdemServicoItens   bllOSItens    = new BLLOrdemServicoItens(cx);


                    if (txtCodigo.Text != "")
                    {
                        //Alterar
                        modeloOS.IdOS = Int32.Parse(txtCodigo.Text);
                        bllOS.Alterar(modeloOS);
                        bllOSItens.ExcluirTodosOsItens(modeloOS.IdOS);

                        //cadastrar itens da OS
                        for (int i = 0; i < dgvItens.RowCount; i++)
                        {
                            modeloOSItens.IdOSItens = i + 1;
                            modeloOSItens.IdOS      = modeloOS.IdOS;
                            modeloOSItens.IdServico = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value);
                            modeloOSItens.Detalhes  = dgvItens.Rows[i].Cells[2].Value.ToString();
                            bllOSItens.Incluir(modeloOSItens);
                        }
                        MessageBox.Show("Ordem de serviço finalizado com sucesso!!!");
                    }
                    else
                    {
                        MessageBox.Show("Campo código da OS esta vazia por favor verifique!!!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    this.LimpaTela();
                    cx.TerminarTransacao();
                    cx.Desconectar();
                    this.Close();
                }
                catch (Exception erro)
                {
                    MessageBox.Show(erro.Message);
                    cx.CancelaTransacao();
                    cx.Desconectar();
                }
            }
            else
            {
                return;
            }
        }
        private void BtnGravar_Click(object sender, EventArgs e)
        {
            DALConexao    cx = new DALConexao(DadosDaConexao.StringDeConexao);
            frmConsultaOS f  = new frmConsultaOS();

            cx.Conectar();
            cx.IniciarTransacao();

            try
            {
                //Inserindo Dados da Tabela OS
                ModelOrdemServico modeloOS = new ModelOrdemServico();
                modeloOS.DataInicial = txtDataInicial.Text;
                modeloOS.DataFinal   = txtDataFinal.Text;
                modeloOS.Situacao    = txtSituacao.Text;
                modeloOS.Observacao  = txtObservacao.Text;
                modeloOS.IdCliente   = Convert.ToInt32(txtCodCliente.Text);
                BLLOrdemServico bllOS = new BLLOrdemServico(cx);

                //Inserindo dados da Tabela OSItens
                ModelOrdemServicoItens modeloOSItens = new ModelOrdemServicoItens();
                BLLOrdemServicoItens   bllOSItens    = new BLLOrdemServicoItens(cx);

                //Inserir ou alterar
                if (txtCodigo.Text == "")
                {
                    //inclui dados da tabela OS
                    bllOS.Incluir(modeloOS);

                    //Percorre o grid com itens e insere na tabela OSItens
                    for (int i = 0; i < dgvItens.RowCount; i++)
                    {
                        modeloOSItens.IdOSItens = i + 1;
                        modeloOSItens.IdOS      = modeloOS.IdOS;
                        modeloOSItens.IdServico = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value);
                        modeloOSItens.Detalhes  = dgvItens.Rows[i].Cells[2].Value.ToString();
                        bllOSItens.Incluir(modeloOSItens);
                    }
                    MessageBox.Show("Ordem de serviço salva com sucesso: Código " + modeloOS.IdOS.ToString());
                }
                else
                {
                    //Alterar
                    modeloOS.IdOS = Int32.Parse(txtCodigo.Text);
                    bllOS.Alterar(modeloOS);
                    bllOSItens.ExcluirTodosOsItens(modeloOS.IdOS);

                    //cadastrar itens da OS
                    for (int i = 0; i < dgvItens.RowCount; i++)
                    {
                        modeloOSItens.IdOSItens = i + 1;
                        modeloOSItens.IdOS      = modeloOS.IdOS;
                        modeloOSItens.IdServico = Convert.ToInt32(dgvItens.Rows[i].Cells[0].Value);
                        modeloOSItens.Detalhes  = dgvItens.Rows[i].Cells[2].Value.ToString();
                        bllOSItens.Incluir(modeloOSItens);
                    }
                    MessageBox.Show("Cadastro Alterado com sucesso!!!");
                    this.Close();
                }
                this.LimpaTela();
                cx.TerminarTransacao();
                cx.Desconectar();
            }
            catch (Exception erro)
            {
                MessageBox.Show(erro.Message);
                cx.CancelaTransacao();
                cx.Desconectar();
            }
        }