/// <summary>
        /// Insere os dados que estão no model
        /// </summary>
        private void Insere()
        {
            rFornecedorDepto regra = new rFornecedorDepto();

            try
            {
                this.PopulaListaModel();
                this.ValidaDadosNulos();
                if (this._telaFornecedor == false)
                {
                    foreach (mFornecedorDepto modelFornecedorDepto in this._listaModelFornecedorDepto)
                    {
                        regra.ValidarInsere(modelFornecedorDepto);
                    }
                    this.btnLimpa_Click(null, null);
                    this.btnConfirma.Enabled = false;
                    MessageBox.Show("Registro Salvo com Sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                }
                else
                {
                    this.DialogResult = DialogResult.OK;
                    base.FechaTela(this);
                }
            }
            catch (BUSINESS.Exceptions.FornecedorDepto.FornecedorVazioException)
            {
                MessageBox.Show("É Necessário Buscar um Fornecedor", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                this.btnBuscaFornecedor.Focus();
            }
            catch (BUSINESS.Exceptions.FornecedorDepto.DepartamentoNaoEscolhidoException)
            {
                MessageBox.Show("É Necessário Selecionar um Departamento", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                this.btnBuscarDepartamentoDtGrid.Focus();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                regra = null;
            }
        }
 /// <summary>
 /// Pega os dados do model e insere no banco
 /// </summary>
 private void Insere()
 {
     rFornecedor regra = new rFornecedor();
     rFornecedorDepto regraFornecedorDepto = new rFornecedorDepto();
     mFornecedor model;
     try
     {
         this.ValidaDadosNulos();
         model = this.PegaDadosTela();
         regra.ValidaDados(model, base.Alteracao);
         if (base.Alteracao == false)
         {
             regra.ValidarInsere(model);
             if (this._listaModelFornecedorDepto != null)
             {
                 if (this._listaModelFornecedorDepto.Count > 0)
                 {
                     this.PopulaListaFornecedorDeptoIdForn(Convert.ToInt32(model.IdFornecedor));
                     foreach (mFornecedorDepto modelFornecedorDepto in this._listaModelFornecedorDepto)
                     {
                         regraFornecedorDepto.ValidarInsere(modelFornecedorDepto);
                     }
                 }
             }
         }
         else
         {
             model = this.PegaDadosTela();
             regra.ValidarAltera(model);
         }
         this.btnlimpar_Click(null, null);
         this.btnInsere.Enabled = false;
         MessageBox.Show("Registro Salvo com Sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
     }
     catch (BUSINESS.Exceptions.Fornecedor.NomeFornecedorVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo Nome Fornecedor", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtNomeFornecedor.Focus();
     }
     catch (BUSINESS.Exceptions.Fornecedor.paisVazioException)
     {
         MessageBox.Show("É Necessário Prencher o campo País", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtPais.Focus();
     }
     catch (BUSINESS.Exceptions.Fornecedor.EstadoVazioException)
     {
         MessageBox.Show("É Necessário Prencher o campo Província(Estado)", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtEstado.Focus();
     }
     catch (BUSINESS.Exceptions.Fornecedor.CidadeVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo Cidade", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtCidade.Focus();
     }
     catch (BUSINESS.Exceptions.Fornecedor.CEPVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo CEP", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtCep.Focus();
     }
     catch (BUSINESS.Exceptions.Fornecedor.CodigoPostalVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo Código Postal", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtCodPostal.Focus();
     }
     catch (BUSINESS.Exceptions.Fornecedor.CnpjVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo CNPJ", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtCnpj.Focus();
     }
     catch (BUSINESS.Exceptions.Fornecedor.IdentidadeInterVazioException)
     {
         MessageBox.Show("É Necessário Preencher o código de Identificação Internacional", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtIdentInter.Focus();
     }
     catch (BUSINESS.Exceptions.Fornecedor.DadosComunicacaoVazioExeception)
     {
         MessageBox.Show("É Necessário Preencher os campos 'DDI, DDD e Telefone' ou 'E-mail'", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
     }
     catch (BUSINESS.Exceptions.Fornecedor.DDIVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo DDI", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtDDI.Focus();
     }
     catch (BUSINESS.Exceptions.Fornecedor.DddVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo DDD", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtDDD.Focus();
     }
     catch (BUSINESS.Exceptions.Fornecedor.TelefoneVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo Telefone", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         if (this.txtTelefone.Visible == true)
         {
             this.txtTelefone.Focus();
         }
         else
         {
             this.txtTelefoneInter.Focus();
         }
     }
     catch (BUSINESS.Exceptions.Fornecedor.FornecedorSemIdExecption)
     {
         MessageBox.Show("É Necessário o campo Codigo Fornecedor", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
     }
     catch (BUSINESS.Exceptions.Fornecedor.CNPJFornecedorExistente)
     {
         MessageBox.Show("Código de CNPJ já existente. Favor Informar ou código.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtCnpj.Focus();
     }
     catch (BUSINESS.Exceptions.Fornecedor.IdentInterExistenteException)
     {
         MessageBox.Show("Código de Identificação Internacional já existente. Favor Informar ou código.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtIdentInter.Focus();
     }
     catch (BUSINESS.Exceptions.Validacoes.EmailInvalidoException)
     {
         MessageBox.Show("Campo E-mail incorreto!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtIdentInter.Focus();
     }
     catch (BUSINESS.Exceptions.Validacoes.MaskedInvalidaException ex)
     {
         MessageBox.Show(ex.Mensagem, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
     }
     finally
     {
         regra = null;
         model = null;
         regraFornecedorDepto = null;
     }
 }