/// <summary>
 /// Busca Fornecedores atravez do filtro escolhido pelo usuario
 /// </summary>
 /// <param name="nomeFornecedores">o filtro passado pelo usuário pode ser Vazio</param>
 /// <returns>DataTable com o resultado da query</returns>
 private DataTable BuscaFornecedores(string nomeFornecedor)
 {
     rFornecedor regraFornecedor = new rFornecedor();
     try
     {
         return regraFornecedor.BuscaFornecedor(nomeFornecedor);
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regraFornecedor = null;
     }
 }
 private void PopulaGrid()
 {
     rFornecedor regra = new rFornecedor();
     DataTable dt = null;
     try
     {
         if (this._filtroBusca == false)
         {
             dt = regra.BuscaFornecedor(this.txtFiltro.Text);
         }
         else
         {
             //Verifica se o model é de motor ou de peça para filtrar quais distribuidores atendem esta "peça/motor"
             //-----------------------------------------------------------------------------------------------------
             if (this._modelMotor != null)
             {
                 dt = regra.BuscaFornecedorMotor(Convert.ToInt32(this._modelMotor.IdMotor));
                 if (dt.Rows.Count <= 0)
                 {
                     DialogResult resultado = MessageBox.Show("Não existe fornecedores associados a esse motor, deseja associa-los agora?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                     if (resultado == DialogResult.Yes)
                     {
                         this.AbreTelaAssociacaoMotorFornecedor();
                         dt = regra.BuscaFornecedorMotor(Convert.ToInt32(this._modelMotor.IdMotor));
                     }
                     else
                     {
                         this.DialogResult = DialogResult.Cancel;
                         this.Close();
                     }
                 }
             }
             else
             {
                 dt = regra.BuscaFornecedorPeca(Convert.ToInt32(this._modelPeca.IdPeca));
                 if (dt.Rows.Count <= 0)
                 {
                     DialogResult resultado = MessageBox.Show("Não existe fornecedores associados a essa peça, deseja associa-los agora?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                     if (resultado == DialogResult.Yes)
                     {
                         this.AbreTelaAssociacaoPecaFornecedor();
                         dt = regra.BuscaFornecedorPeca(Convert.ToInt32(this._modelPeca.IdPeca));
                     }
                     else
                     {
                         this.DialogResult = DialogResult.Cancel;
                         this.Close();
                     }
                 }
             }
         }
         this.dgFornecedor.DataSource = dt;
         dgFornecedor.Columns[0].Visible = false;
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regra = null;
         if (dt != null)
         {
             dt.Dispose();
             dt = null;
         }
     }
 }