private void PopulaGrid()
        {
            rItem regraItem = new rItem();
            DataTable dt = new DataTable();
            try
            {
                dt = regraItem.BuscaItemCodigo(this.txtFiltro.Text);
                dgItem.DataSource = dt;
                this.dgItem.Columns[0].Visible = false;
                this.dgItem.Columns["hQtd"].Visible = false;
            }
            catch (Exception ex)
            {

                throw ex;
            }
            finally
            {
                regraItem = null;
                dt = null;
            }
        }
        /// <summary>
        /// Pega os dados da tela e popula o model de Item
        /// </summary>
        /// <returns>model item populado</returns>
        private mItem PegaDadosTelaItem()
        {
            mItem model = new mItem();
            rItem regra = new rItem();
            try
            {
                model.Dat_alt = DateTime.Now;
                model.Flg_ativo = true;
                model.Id_item = regra.BuscaIdMaximo();
                model.Id_item_real = this.txtCodigoItem.Text;
                model.Nom = this.txtNmItem.Text;

                return model;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                model = null;
                regra = null;
            }
        }
 /// <summary>
 /// Insere os dados que estão no model
 /// </summary>
 private void Insere()
 {
     mItem modelItem;
     rItem regraItem = new rItem();
     rItemPeca regraItemPeca = new rItemPeca();
     try
     {
         modelItem = this.PegaDadosTelaItem();
         regraItem.ValidarInsere(modelItem);
         this.CompletaListaModelItemPeca(modelItem);
         foreach (mItemPeca modelItemPeca in this._modelItemPeca)
         {
             regraItemPeca.ValidarInsere(modelItemPeca);
         }
         this.btnLimpa_Click(null, null);
         this.btnConfirmar.Enabled = false;
         MessageBox.Show("Registro Salvo com Sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
     }
     catch (BUSINESS.Exceptions.Item.NomeItemExistenteException)
     {
         MessageBox.Show("Nome do Item já existe!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtNmItem.Focus();
     }
     catch (BUSINESS.Exceptions.Item.CodigoRealItemExistenteException)
     {
         MessageBox.Show("Código do Item já existe!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtCodigoItem.Focus();
     }
     catch (BUSINESS.Exceptions.Item.ItemSemPecaException)
     {
         MessageBox.Show("É Necessário Associar uma Peça ao Item", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.btnBuscarPecaDtGrid.Focus();
     }
     catch (BUSINESS.Exceptions.Item.NomeItemVazioException)
     {
         MessageBox.Show("É Necessário Preencher o nome do Item", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtNmItem.Focus();
     }
     catch (BUSINESS.Exceptions.Item.CodigoRealItemVazioException)
     {
         MessageBox.Show("É Necessário Preencher o Código do Item", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtCodigoItem.Focus();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
     }
     finally
     {
         modelItem = null;
         regraItem = null;
         regraItemPeca = null;
     }
 }
 /// <summary>
 /// Busca Item atravez do filtro escolhido pelo usuario
 /// </summary>
 /// <param name="nomeItem">o filtro passado pelo usuário pode ser Vazio</param>
 /// <returns>DataTable com o resultado da query</returns>
 private DataTable BuscaItem(string nomeItem)
 {
     rItem regraItem = new rItem();
     try
     {
         if (this.rdbCodigo.Checked == true)
         {
             return regraItem.BuscaItemCodigo(nomeItem);
         }
         else
         {
             return regraItem.BuscaItemNome(nomeItem);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regraItem = null;
     }
 }
 /// <summary>
 /// Popula o DataTable com a table de model
 /// </summary>
 private void PopulaDataTableListaModel(DataTable dt)
 {
     DataRow linha;
     rItem regraItem = new rItem();
     mItem modelItem = new mItem();
     try
     {
         foreach (mItemKit model in this._listaModelItemKit)
         {
             modelItem = regraItem.BuscaUnicoRegistro(Convert.ToInt32(model.Id_item));
             linha = dt.NewRow();
             linha["id_item"] = model.Id_item;
             linha["Codigo"] = modelItem.Id_item_real;
             linha["Item"] = modelItem.Nom;
             linha["qtd"] = model.Qtd_item;
             dt.Rows.Add(linha);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         linha = null;
         regraItem = null;
         modelItem = null;
     }
 }