private TreeNode CriaNoFamiliaMotor(int idFamiliaMotor, int qtdeProduto)
 {
     DataTable dtFamiliaMotor = null;
     TreeNode noFamiliaMotor = null, noKitGrupoPeca = null;
     rFamiliaMotor regraFamiliaMotor = new rFamiliaMotor();
     try
     {
         int qtde = 0;
         dtFamiliaMotor = regraFamiliaMotor.BuscaFamiliaMotorTree(idFamiliaMotor);
         foreach (DataRow linhaFamMotor in dtFamiliaMotor.Rows)
         {
             noFamiliaMotor = new TreeNode(linhaFamMotor["id_fam_motor_real"].ToString());
             qtde = Convert.ToInt32(linhaFamMotor["qtd_kit"]) * qtdeProduto;
             this.CriaNoKitGrupoPeca(Convert.ToInt32(linhaFamMotor["id_kit"]), qtde, noFamiliaMotor);
             //noFamiliaMotor.Nodes.Add(noKitGrupoPeca);
         }
         return noFamiliaMotor;
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regraFamiliaMotor = null;
         noFamiliaMotor = null;
         noKitGrupoPeca = null;
         if (dtFamiliaMotor != null)
         {
             dtFamiliaMotor.Dispose();
             dtFamiliaMotor = null;
         }
     }
 }
 private void PopulaModelCompletoAlteracao()
 {
     rFamiliaMotor regraFamMotor = new rFamiliaMotor();
     DataTable dtRegistroFamMotor = null;
     try
     {
         dtRegistroFamMotor = regraFamMotor.BuscaUmRegistro(this._model);
         this._model.Deserialize(dtRegistroFamMotor);
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regraFamMotor = null;
         if (dtRegistroFamMotor != null)
         {
             dtRegistroFamMotor.Dispose();
             dtRegistroFamMotor = null;
         }
     }
 }
 private void PopulaGrid()
 {
     rFamiliaMotor regraFamiliaM = new rFamiliaMotor();
     DataTable dt = new DataTable();
     try
     {
         dt = regraFamiliaM.BuscaFamiliaMotorNome(this.txtFiltro.Text);
         dgFamMotor.DataSource = dt;
         dgFamMotor.Columns[0].Visible = false;
         dgFamMotor.Columns[3].Visible = false;
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regraFamiliaM = null;
         dt = null;
     }
 }
 private void DeletaCadastro()
 {
     rFamiliaMotor regraFamMotor = new rFamiliaMotor();
     try
     {
         regraFamMotor.ValidarDeleta(this._model);
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regraFamMotor = null;
     }
 }
        /// <summary>
        /// Pega os dados que estão na tela e popula o model
        /// </summary>
        /// <returns>Retorna o model populado</returns>
        private mFamiliaMotor PegaDadosTela()
        {
            mFamiliaMotor model = new mFamiliaMotor();
            rFamiliaMotor regra = new rFamiliaMotor();

            try
            {
                model.IdFamiliaMotor = regra.BuscaIdMaximo();
                string idFamReal = this._modelNumeroMotor.IdNumMotorReal + this._modelTipoMotor.IdTipoMotorReal;
                model.Id_fam_motor_real = idFamReal;
                model.DscFamiliaMotor = this.txtDsMotor.Text;
                model.FlgAtivo = true;
                string estoque= this.txtEstoque.Text;
                if (string.IsNullOrEmpty(estoque) == true)
                {
                    model.IdEstoque = null;
                }
                else
                {
                    model.IdEstoque = Convert.ToInt32(this._modelEstoque.Id_estoque);
                }
                model.IdMotor = Convert.ToInt32(this._modelMotor.IdMotor);
                model.IdNumMotor = Convert.ToInt32(this._modelNumeroMotor.Id_num_motor);
                model.IdTipoMotor = Convert.ToInt32(this._modelTipoMotor.IdTipoMotor);

                return model;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                model = null;
            }
        }
        /// <summary>
        /// Cadastra no banco os dados que estão no model
        /// </summary>
        private void Insere()
        {
            mFamiliaMotor model;
            rFamiliaMotor regra = new rFamiliaMotor();
            rKitFamilia regraKitFamilia = new rKitFamilia();

            try
            {
                this.ValidaDadosNulos();
                model = this.PegaDadosTela();
                this.AbreTelaResumo();
                regra.ValidarInsere(model);
                this.CompletaListaModelKitFamilia(model);
                foreach (mKitFamilia modelKitFamilia in this._listaKitFamilia)
                {
                    regraKitFamilia.ValidarInsere(modelKitFamilia);
                }
                this.btnLimpa_Click(null, null);
                this.btnConfirma.Enabled = false;
                MessageBox.Show("Registro Salvo com Sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
            }
            catch (TCC.Regra.Exceptions.CodigoNumeroMotorVazioException)
            {
                MessageBox.Show("É Necessário Associar um Número de Motor a Familia de Motores", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                this.btnBuscaNumMotor.Focus();
            }
            catch (TCC.Regra.Exceptions.CodigoTipoMotorVazioExeception)
            {
                MessageBox.Show("É Necessário Associar um Tipo de Motor a Familia de Motores", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                this.btnBuscaTipoMotor.Focus();
            }
            catch (TCC.Regra.Exceptions.CodigoMotorVazioExeception)
            {
                MessageBox.Show("É Necessário Associar um Motor a Familia de Motores", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                this.btnBuscaMotorCompra.Focus();
            }
            catch (TCC.Regra.Exceptions.FamiliaMotor.CodigoRealFamiliaExistenteException)
            {
                MessageBox.Show("Código da Familias de Motor já existe!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                this.btnBuscaNumMotor.Focus();
            }
            catch (TCC.Regra.Exceptions.FamiliaMotor.CodigoRealFamiliaVazioException)
            {
                MessageBox.Show("O Número de Motor e o Tipo de Motor não podem ser vazios", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                this.btnBuscaNumMotor.Focus();
            }
            catch (TCC.Regra.Exceptions.CodigoKitGrupoPecaVazioException)
            {
                MessageBox.Show("É Necessário Associar um Kit a Familias de Motor", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                this.btnBuscarKitDtGrid.Focus();
            }
            catch (TCC.Regra.Exceptions.FamiliaMotor.TelaResumoCanceladaException)
            {

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
            }
            finally
            {
                regra = null;
                model = null;
                regraKitFamilia = null;
            }
        }