/// <summary>
 /// Pega os dados que estão populados Atravez do Grid e Completa o mapper
 /// </summary>
 private void PopulaModelCompletoAlteracao()
 {
     rCliente regraCliente = new rCliente();
     DataTable dtRegistroUsuario = null;
     try
     {
         dtRegistroUsuario = regraCliente.BuscaUmRegistro(this._model);
         this._model.Deserialize(dtRegistroUsuario);
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regraCliente = null;
         if (dtRegistroUsuario != null)
         {
             dtRegistroUsuario.Dispose();
             dtRegistroUsuario = null;
         }
     }
 }
 private void PopulaGrid()
 {
     rCliente regraCliente = new rCliente();
     DataTable dt = new DataTable();
     try
     {
         dt = regraCliente.BuscaClientes(this.txtFiltro.Text);
         dgCliente.DataSource = dt;
         dgCliente.Columns[0].Visible = false;
         //dgCliente.Rows[0].Selected = true;
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regraCliente = null;
         dt = null;
     }
 }
        /// <summary>
        /// Pega os dados que estão na tela e popula o model
        /// </summary>
        /// <returns>Model populado</returns>
        private mCliente PegaDadosTela()
        {
            mCliente model = new mCliente();
            rCliente regra = new rCliente();

            try
            {
                if (base.Alteracao == true)
                {
                    model.IdCliente = this._modelCliente.IdCliente;
                }
                else
                {
                    model.IdCliente = regra.BuscaIdMaximo();
                }
                model.NomeCliente = this.txtNome.Text;

                if (string.IsNullOrEmpty(this.txtDDI.Text) == true)
                {
                    model.Ddi = null;
                }
                else
                {
                    model.Ddi = this.txtDDI.Text;
                }
                if (string.IsNullOrEmpty(this.txtDDD.Text) == true)
                {
                    model.Ddd = null;
                }
                else
                {
                    model.Ddd = Convert.ToInt32(this.txtDDD.Text);
                }
                if (this.txtTelefone.Visible == true)
                {
                    string tel = this.txtTelefone.Text.Replace("-", string.Empty);
                    tel = tel.Replace(" ", string.Empty);
                    if (string.IsNullOrEmpty(tel) == true)
                    {
                        model.TelefoneCliente = null;
                    }
                    else
                    {
                        model.TelefoneCliente = Convert.ToInt32(tel);
                    }
                }
                else
                {
                    if (string.IsNullOrEmpty(this.txtTelefoneInter.Text) == true)
                    {
                        model.TelefoneCliente = null;
                    }
                    else
                    {
                        model.TelefoneCliente = Convert.ToInt32(this.txtTelefoneInter.Text);
                    }
                }

                model.NomeRua = this.txtRua.Text;
                if (string.IsNullOrEmpty(this.txtNumero.Text) == true)
                {
                    model.NumeroEndereco = null;
                }
                else
                {
                    model.NumeroEndereco = Convert.ToInt32(this.txtNumero.Text);
                }
                model.ComplementoEndereco = this.txtComplemento.Text;

                string cep = txtCep.Text.Replace("-", string.Empty);
                cep = cep.Replace(" ", string.Empty);
                if (this.txtCep.Visible == true)
                {
                    model.CodPostal = cep;
                }
                else
                {
                    model.CodPostal = this.txtCodPostal.Text;
                }

                if (string.IsNullOrEmpty(this.txtBairro.Text) == true)
                {
                    model.Bairro = null;
                }
                else
                {
                    model.Bairro = this.txtBairro.Text;
                }
                model.Cidade = this.txtCidade.Text;

                string cpf = this.txtCPF.Text.Replace("-", string.Empty);
                cpf = cpf.Replace(".", string.Empty);
                cpf = cpf.Replace(" ", string.Empty);
                if (string.IsNullOrEmpty(cpf) == true)
                {
                    model.Cpf = null;
                }
                else
                {
                    model.Cpf = cpf;
                }

                string cnpj = this.txtCnpj.Text.Replace("-", string.Empty);
                cnpj = cnpj.Replace(".", string.Empty);
                cnpj = cnpj.Replace("/", string.Empty);
                cnpj = cnpj.Replace(" ", string.Empty);
                if (string.IsNullOrEmpty(cnpj) == true)
                {
                    model.Cnpj = null;
                }
                else
                {
                    model.Cnpj = Convert.ToDecimal(cnpj);
                }

                model.DatAtl = DateTime.Now;
                model.FlgAtivo = true;
                if (string.IsNullOrEmpty(this.txtEmail.Text) == true)
                {
                    model.Email = null;
                }
                else
                {
                    model.Email = this.txtEmail.Text;
                }

                if (this.rdbBrasil.Checked == true)
                {
                    model.Nom_pais = "Brasil";
                    model.Nom_est_inter = null;
                    model.IdentInter = null;
                }
                else
                {
                    model.Nom_pais = this.txtPais.Text;
                    model.Nom_est_inter = this.txtEstado.Text;
                    model.IdentInter = this.txtIdentInter.Text;
                }

                if (this.cboEstado.Enabled == true)
                {
                    model.SlgEstado = this.cboEstado.GetItemText(this.cboEstado.SelectedItem);
                }
                else
                {
                    model.SlgEstado = null;
                }

                return model;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                model = null;
            }
        }
 private void DeletaCadastro()
 {
     rCliente regraCliente = new rCliente();
     try
     {
         regraCliente.ValidarDeleta(this._model);
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regraCliente = null;
     }
 }
 /// <summary>
 /// Insere os dados que estão no model
 /// </summary>
 private void Insere()
 {
     rCliente regra = new rCliente();
     mCliente model;
     try
     {
         this.validaDadosNulos();
         model = this.PegaDadosTela();
         if (base.Alteracao == true)
         {
             regra.ValidarAltera(model);
         }
         else
         {
             regra.ValidaDados(model);
             regra.ValidarInsere(model);
         }
         this.btnLimpa_Click(null, null);
         this.btnInsere.Enabled = false;
         this.rdbBrasil.Checked = true;
         this.txtCPF.Text = "";
         this.txtCnpj.Text = "";
         MessageBox.Show("Registro Salvo com Sucesso!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
     }
     catch (BUSINESS.Exceptions.Cliente.NomeClienteVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo Nome", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtNome.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.paisVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo País", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtPais.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.EstadoVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo Estado", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtEstado.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.CidadeClienteVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo Cidade", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtCidade.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.RuaClieteVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo Rua", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtRua.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.NroEnderecoClienteVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo Número", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtNumero.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.BairroClienteVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo Bairro", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtBairro.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.CEPVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo CEP", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtCep.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.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.Cliente.DadosComunicacaoVazioException)
     {
         MessageBox.Show("É Necessário Preencher um dos campos para contato ('DDI, DDD e Telefone' ou 'E-mail')", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtDDI.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.DDIClienteVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo DDI", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtDDD.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.DDDClienteVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo DDD", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtDDD.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.TelefoneClienteVazioException)
     {
         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.Cliente.EmailClienteVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo E-mail", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtTelefone.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.CpfCnpjVazioException)
     {
         MessageBox.Show("É Necessário Preencher o campo CPF ou o CNPJ", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.rdbPessoaFisica.Checked = true;
     }
     catch (BUSINESS.Exceptions.Cliente.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.Cliente.CPFClienteExistente)
     {
         MessageBox.Show("Código de CPF já existente. Favor Informar ou código.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
         this.txtCPF.Focus();
     }
     catch (BUSINESS.Exceptions.Cliente.CNPJClienteExistente)
     {
         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.Cliente.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.txtEmail.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;
     }
 }