private void Insere()
 {
     mPeca model;
     rPeca regra = new rPeca();
     rPecaEstoque regraPecaEstoque = new rPecaEstoque();
     rPecaFornecedor regraPecaFornecedor = new rPecaFornecedor();
     try
     {
         this.ValidaDadosNulos();
         model = this.PegaDadosTela();
         regra.ValidarInsere(model);
         //Verifica se existe itens na lista de peça estoque
         //-------------------------------------------------
         if (this._listaPecaEstoque != null)
         {
             if (this._listaPecaEstoque.Count > 0)
             {
                 this.PopulaListaPecaEstoqueIdPeca(Convert.ToInt32(model.IdPeca));
                 foreach (mPecaEstoque modelPecaEstoque in this._listaPecaEstoque)
                 {
                     regraPecaEstoque.ValidarInsere(modelPecaEstoque);
                 }
             }
         }
         //Verifica se existe itens na lista de peça fornecedor
         //-------------------------------------------------
         if (this._listaPecaFornecedor != null)
         {
             if (this._listaPecaFornecedor.Count > 0)
             {
                 this.PopulaListaPecaFornecedorIdPeca(Convert.ToInt32(model.IdPeca));
                 foreach (mPecaFornecedor modePecaFornecedor in this._listaPecaFornecedor)
                 {
                     regraPecaFornecedor.ValidarInsere(modePecaFornecedor);
                 }
             }
         }
         base.LimpaDadosTela(this);
         this.btnConfirma.Enabled = false;
         MessageBox.Show("Registro Salvo com Sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
     }
     catch (TCC.Regra.Exceptions.Peca.CodigoPecaVazioException)
     {
         MessageBox.Show("O código da Peça não pode ser vazio", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtCodigoReal.Focus();
     }
     catch (TCC.Regra.Exceptions.CodigoTipoPecaVazioException)
     {
         MessageBox.Show("O Tipo da Peça não pode ser vazio", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.btnCdTipoPeca.Focus();
     }
     catch (TCC.Regra.Exceptions.Peca.NomePecaVazioException)
     {
         MessageBox.Show("É Necessário Preencher o nome da Peça", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtNmPeca.Focus();
     }
     catch (TCC.Regra.Exceptions.Peca.QtdMinimaNuloOuZeroException)
     {
         MessageBox.Show("A quantidade mínima da Peça deve ser maior que zero", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtQtdPeca.Focus();
     }
     catch (TCC.Regra.Exceptions.Peca.PecaJaExistenteException)
     {
         MessageBox.Show("Peça já existente! Favor Cadastrar outro Código Real", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtCodigoReal.Focus();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
     }
     finally
     {
         model = null;
         regra = null;
         regraPecaEstoque = null;
     }
 }
        /// <summary>
        /// Insere os dados que estão no model
        /// </summary>
        private void Insere()
        {
            rPecaEstoque regra = new rPecaEstoque();

            try
            {
                if (this._modelPeca == null)
                {
                    MessageBox.Show("É Necessário Buscar uma Peça", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                }
                else
                {
                    this.PopulaListaModel();
                    this.ValidaDadosNulos();
                    if (this._telaPeca == false)
                    {
                        // exclui antes tudo antes de inserir
                        this.DeletaTudoPorPeca();

                        foreach (mPecaEstoque modelPecaEstoque in this._listaModelPecaEstoque)
                        {
                            regra.ValidarInsere(modelPecaEstoque);
                        }
                        this.btnLimpa_Click(null, null);
                        MessageBox.Show("Registro Salvo com Sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);

                    }
                    else
                    {
                        this.DialogResult = DialogResult.OK;
                        base.FechaTela(this);
                    }
                }
            }
            catch (TCC.Regra.Exceptions.PecaEstoque.PecaVazioException)
            {
                MessageBox.Show("É Necessário Buscar uma Peça", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                this.btnBuscaPeca.Focus();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                regra = null;
            }
        }