private void InserirSocio()
        {
            DateTime?dtExpedicao  = null;
            DateTime?dtNascimento = null;

            if (mskDtExpedicao.Text != "  /  /")
            {
                dtExpedicao = DateTime.Parse(mskDtExpedicao.Text);
            }
            if (mskDtNascimentoSocio.Text != "  /  /")
            {
                dtNascimento = DateTime.Parse(mskDtNascimentoSocio.Text);
            }

            DialogResult dr;
            bool         gravou = false;

            dr = MessageBox.Show("Sócio sem endereço ou com endereço incompleto.\n" +
                                 "Deseja continuar o cadastro?", "Aviso", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);

            if (dr == DialogResult.Yes)
            {
                try
                {
                    SocioDAL sDal = new SocioDAL();
                    Socio    S    = new Socio
                    {
                        Titulo           = int.Parse(txtTitulo.Text),
                        DataAdesao       = DateTime.Parse(mskDtAdesao.Text),
                        Cpf              = mskCpf.Text,
                        Nome             = txtNome.Text,
                        Rg               = txtRg.Text,
                        OrgaoExpedidor   = txtOrgaoExpedidor.Text,
                        UfOrgaoExpedidor = cmbUfOrgaoExpedidor.Text,
                        DataExpedicao    = dtExpedicao,
                        Situacao         = txtSituacao.Text,
                        DataNascimento   = dtNascimento,
                        FoneResidencial  = mskResidencial.Text,
                        FoneCelular      = mskCelular.Text,
                        FoneComercial    = mskComercial.Text,
                        Email            = txtEmail.Text,
                        DataCadastro     = DateTime.Parse(mskDtCadastroSocio.Text),
                        DataAtualizacao  = DateTime.Parse(mskDtAtualizacaoSocio.Text),
                        Ativo            = bool.Parse(ckbSocioAtivo.Checked.ToString()),
                        Obs              = txtAdicionaisObs.Text,
                        PathImagem       = foto
                    };
                    if (lblId.Text.Equals("idSocio"))
                    {
                        gravou = sDal.InsertSocio(S);
                        if (gravou)
                        {
                            if (ValidaEndereco())
                            {
                                Endereco E = new Endereco()
                                {
                                    Cep         = mskCep.Text,
                                    Rua         = txtRua.Text,
                                    Numero      = int.Parse(txtNumero.Text),
                                    Bairro      = txtBairro.Text,
                                    Cidade      = txtCidade.Text,
                                    Uf          = cmbUfEndereco.Text,
                                    Complemento = txtComplemento.Text,
                                    IdSocio     = ReturnIdGeradoSocio()
                                };
                                EnderecoDAL eDal = new EnderecoDAL();
                                gravou = eDal.InsertEndereco(E);
                            }
                        }
                    }
                }
                catch (SystemException ex)
                {
                    string           exception = ex.Message.ToString();
                    frmTDM_Menssagem frmErro   = new frmTDM_Menssagem("Revise os dados.", 2, exception);
                    frmErro.Show();
                }
            }
            if (gravou)
            {
                tabControl1.SelectedTab = tabPage1;
                frmTDM_Menssagem frm = new frmTDM_Menssagem("Cadastrado com sucesso!", 1, "");
                frm.Show();
                Limpar();
                LimparDependente();
            }
        }
        private void AtualizarSocio()
        {
            DateTime?dtExpedicao  = null;
            DateTime?dtNascimento = null;

            if (mskDtExpedicao.Text != "  /  /")
            {
                dtExpedicao = DateTime.Parse(mskDtExpedicao.Text);
            }
            if (mskDtNascimentoSocio.Text != "  /  /")
            {
                dtNascimento = DateTime.Parse(mskDtNascimentoSocio.Text);
            }

            bool gravou = false;

            try
            {
                SocioDAL sDal = new SocioDAL();
                Socio    S    = new Socio
                {
                    Id               = int.Parse(lblId.Text),
                    Titulo           = int.Parse(txtTitulo.Text),
                    DataAdesao       = DateTime.Parse(mskDtAdesao.Text),
                    Cpf              = mskCpf.Text,
                    Nome             = txtNome.Text,
                    Rg               = txtRg.Text,
                    OrgaoExpedidor   = txtOrgaoExpedidor.Text,
                    UfOrgaoExpedidor = cmbUfOrgaoExpedidor.Text,
                    DataExpedicao    = dtExpedicao,
                    Situacao         = txtSituacao.Text,
                    DataNascimento   = dtNascimento,
                    FoneResidencial  = mskResidencial.Text,
                    FoneCelular      = mskCelular.Text,
                    FoneComercial    = mskComercial.Text,
                    Email            = txtEmail.Text,
                    DataAtualizacao  = DateTime.Now,
                    Ativo            = bool.Parse(ckbSocioAtivo.Checked.ToString()),
                    Obs              = txtAdicionaisObs.Text,
                    PathImagem       = foto
                };
                if (!lblId.Text.Equals("idSocio"))
                {
                    gravou = sDal.UpdatedSocio(S);
                    if (gravou)
                    {
                        try
                        {
                            int?numero = null;
                            if (txtNumero.Text.Trim() != "")
                            {
                                numero = int.Parse(txtNumero.Text);
                            }
                            Endereco E = new Endereco()
                            {
                                Cep         = mskCep.Text,
                                Rua         = txtRua.Text,
                                Numero      = numero,
                                Bairro      = txtBairro.Text,
                                Cidade      = txtCidade.Text,
                                Uf          = cmbUfEndereco.Text,
                                Complemento = txtComplemento.Text,
                                IdSocio     = int.Parse(lblId.Text)
                            };
                            EnderecoDAL eDal = new EnderecoDAL();
                            //idEnd = eDal.IdEnderecoBySocio(long.Parse(lblId.Text));
                            if (!lblIdEndereco.Text.Equals("idEndereco"))
                            {
                                gravou = eDal.UpdateEndereco(E);
                            }
                            else
                            {
                                gravou = eDal.InsertEndereco(E);
                            }
                        }
                        catch (SystemException ex)
                        {
                            string           exception = ex.Message.ToString();
                            frmTDM_Menssagem frmErro   = new frmTDM_Menssagem("Revise os dados.", 2, exception);
                            frmErro.Show();
                        }
                    }
                }
            }
            catch (SystemException ex)
            {
                string           exception = ex.Message.ToString();
                frmTDM_Menssagem frmErro   = new frmTDM_Menssagem("Revise os dados.", 2, exception);
                frmErro.Show();
            }
            if (gravou)
            {
                tabControl1.SelectedTab = tabPage1;
                frmTDM_Menssagem frm = new frmTDM_Menssagem("Cadastrado com sucesso!", 1, "");
                frm.Show();
                Limpar();
                LimparDependente();
            }
        }