private void btnAceitar_Click(object sender, EventArgs e)
        {
            rCompra regraCompra = new rCompra();
            mCompra modelCompra = null;
            rOrdemCompra regraOrdemCompra = new rOrdemCompra();
            rCompraOrdemCompra regraCompraOrdemCompra = new rCompraOrdemCompra();
            mCompraOrdemCompra modelCompraOrdemCompra = null;
            try
            {
                this.ValidaDadosNulos();
                //Insere compra
                //-------------
                modelCompra = this.PegaDadosTelaCompra();
                regraCompra.ValidarInsere(modelCompra);

                //Insere ordem Compra
                //-------------------
                foreach (mOrdemCompra modelOrdemCompra in this._listaOrdemCompra)
                {
                    this.PegaIdMaximoOrdemCompra(modelOrdemCompra);
                    regraOrdemCompra.ValidarInsere(modelOrdemCompra);
                    modelCompraOrdemCompra = this.PegaDadosTelaCompraOrdemCompra(Convert.ToInt32(modelCompra.IdCompra), Convert.ToInt32(modelOrdemCompra.Id_ordem_compra));
                    regraCompraOrdemCompra.ValidarInsere(modelCompraOrdemCompra);
                }
                this.btnLimpar_Click(null, null);
            }
            catch (BUSINESS.Exceptions.Compra.OrdemCompraSemDadosException)
            {
                MessageBox.Show("É necessário adicionar itens para a compra", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
            }
            catch (BUSINESS.Exceptions.Compra.CompraValorVazioException)
            {
                MessageBox.Show("É Necessário ter um valor de compra", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                this.txtValor.Focus();
            }
            catch (BUSINESS.Exceptions.Compra.DataCompraVaziaException)
            {
                MessageBox.Show("É Necessário ter a data de Compra", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                this.txtDataCompra.Focus();
            }
            catch (BUSINESS.Exceptions.Validacoes.DataInvalidaException ex)
            {
                MessageBox.Show("Erro no " + ex.TipoErro.ToString() + " da Data: " + ex.DataErrada, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                this.txtDataCompra.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
            }
            finally
            {
                regraCompra = null;
                modelCompra = null;
                regraOrdemCompra = null;
                regraCompraOrdemCompra = null;
                modelCompraOrdemCompra = null;
            }
        }
        /// <summary>
        /// Popula o model de compra com os dados que estam na tela
        /// </summary>
        /// <returns>model com dados que estam na tela</returns>
        private mCompra PegaDadosTelaCompra()
        {
            mCompra model = new mCompra();
            rCompra regra = new rCompra();
            try
            {
                model.Dat = Convert.ToDateTime(this.txtDataCompra.Text);
                model.IdCompra = regra.BuscaIdMaximo();
                model.Obs = this.txtObs.Text;
                model.Valor = Convert.ToDouble(this.txtValor.Text);
                MessageBox.Show("Registro salvo com sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);

                return model;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                model = null;
            }
        }
 private void PopulaGrid()
 {
     rCompra regra = new rCompra();
     DataTable dt = new DataTable();
     try
     {
         dt = regra.BuscaCompra(this.txtFiltro.Text);
         dgCompra.DataSource = dt;
         dgCompra.Columns[0].Visible = false;
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regra = null;
         dt = null;
     }
 }